From f13b5c19ce4f3854c4919fe074eef4de1b492194 Mon Sep 17 00:00:00 2001 From: Signal Date: Sun, 1 Jun 2025 00:40:49 +0000 Subject: [PATCH] Upload files to "/" --- ws.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 ws.py diff --git a/ws.py b/ws.py new file mode 100644 index 0000000..4770e34 --- /dev/null +++ b/ws.py @@ -0,0 +1,40 @@ +import json +import asyncio +import websockets + +true = True +false = False +null = None + +clients = set() +mtserver = null + +async def serve(websocket): + global mtserver + clients.add(websocket) + try: + async for message in websocket: + try: + print(f"Received: {message}") + data = json.loads(message) + if data["type"] == "chat": + for c in clients: + if c != websocket: await c.send(json.dumps({"type": "chat", "name": data["sender"], "msg": data["msg"]})) + elif data["type"] == "online": + mtserver = websocket + for c in clients: + if c != mtserver: await c.send(json.dumps({"type": "online"})) + else: + pass + print(f"Sent: {message}") + except: + continue + finally: + if mtserver == websocket: mtserver = null + clients.remove(websocket) + +async def main(): + server = await websockets.serve(serve, "", 8001) + await server.wait_closed() + +asyncio.run(main()) \ No newline at end of file