Cleanup
This commit is contained in:
parent
72b8c6274b
commit
aee46cd9a4
42
async-bot.py
42
async-bot.py
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from socketio import AsyncSimpleClient
|
from socketio import AsyncSimpleClient
|
||||||
|
@ -9,6 +8,7 @@ from base64 import b64decode
|
||||||
from random import choice
|
from random import choice
|
||||||
from json import load
|
from json import load
|
||||||
|
|
||||||
|
|
||||||
class AsyncBotManager:
|
class AsyncBotManager:
|
||||||
def __init__(self, base: str = "https://onemillioncheckboxes.com"):
|
def __init__(self, base: str = "https://onemillioncheckboxes.com"):
|
||||||
self.base = base
|
self.base = base
|
||||||
|
@ -79,9 +79,7 @@ class AsyncBotManager:
|
||||||
current = self.canvas.getpixel((x, y)) > 0 # type: ignore
|
current = self.canvas.getpixel((x, y)) > 0 # type: ignore
|
||||||
if current != expected:
|
if current != expected:
|
||||||
print(bot_index, "swap", x, y)
|
print(bot_index, "swap", x, y)
|
||||||
await sio.emit("toggle_bit", {
|
await sio.emit("toggle_bit", {"index": index})
|
||||||
"index": index
|
|
||||||
})
|
|
||||||
await asyncio.sleep(0.25)
|
await asyncio.sleep(0.25)
|
||||||
|
|
||||||
async def __aenter__(self):
|
async def __aenter__(self):
|
||||||
|
@ -92,6 +90,11 @@ class AsyncBotManager:
|
||||||
self._shutdown = True
|
self._shutdown = True
|
||||||
await self._listener_task
|
await self._listener_task
|
||||||
|
|
||||||
|
def copy(self):
|
||||||
|
copy = self.__class__(self.base)
|
||||||
|
copy.difference = dict.copy(self.difference)
|
||||||
|
return copy
|
||||||
|
|
||||||
|
|
||||||
async def amain():
|
async def amain():
|
||||||
with open("settings.json", "r") as fp:
|
with open("settings.json", "r") as fp:
|
||||||
|
@ -113,10 +116,8 @@ async def amain():
|
||||||
r, g, b, a = im.getpixel((x, y)) # type: ignore
|
r, g, b, a = im.getpixel((x, y)) # type: ignore
|
||||||
if a < 128:
|
if a < 128:
|
||||||
continue
|
continue
|
||||||
pocket_x = x + ox
|
|
||||||
pocket_y = y + oy
|
|
||||||
|
|
||||||
ndx_start = pocket_x * 3 + pocket_y * 577 * 3
|
ndx_start = (x + ox + (y + oy) * 577) * 3
|
||||||
mgr.difference[ndx_start] = r > 128
|
mgr.difference[ndx_start] = r > 128
|
||||||
mgr.difference[ndx_start + 1] = g > 128
|
mgr.difference[ndx_start + 1] = g > 128
|
||||||
mgr.difference[ndx_start + 2] = b > 128
|
mgr.difference[ndx_start + 2] = b > 128
|
||||||
|
@ -131,21 +132,26 @@ async def amain():
|
||||||
ndx_start: int = (x + ox + (y + oy) * 250) * 16
|
ndx_start: int = (x + ox + (y + oy) * 250) * 16
|
||||||
color = (r >> 3) << 13
|
color = (r >> 3) << 13
|
||||||
color |= (g >> 2) << 5
|
color |= (g >> 2) << 5
|
||||||
color |= (b >> 3)
|
color |= b >> 3
|
||||||
|
|
||||||
for i in range(16):
|
for i in range(16):
|
||||||
mgr.difference[ndx_start + i] = ((color >> i) & 1) > 0
|
mgr.difference[ndx_start + i] = (
|
||||||
|
(color >> i) & 1
|
||||||
|
) > 0
|
||||||
|
|
||||||
if (n_proxies := len(settings["proxies"])):
|
if n_proxies := len(settings["proxies"]):
|
||||||
await asyncio.gather(*[
|
await asyncio.gather(
|
||||||
mgr.writer(i, settings["proxies"][i % n_proxies]) for i in range(settings["n_bots"])
|
*[
|
||||||
], return_exceptions=True)
|
mgr.writer(i, settings["proxies"][i % n_proxies])
|
||||||
|
for i in range(settings["n_bots"])
|
||||||
|
],
|
||||||
|
return_exceptions=True,
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
await asyncio.gather(*[
|
await asyncio.gather(
|
||||||
mgr.writer(i) for i in range(settings["n_bots"])
|
*[mgr.writer(i) for i in range(settings["n_bots"])],
|
||||||
], return_exceptions=True)
|
return_exceptions=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
Loading…
Reference in New Issue