import asyncio import websockets import logging from ratelimit import limits import time from databasefornow import * logger = logging.getLogger('websockets') logger.setLevel(logging.INFO) logger.addHandler(logging.StreamHandler()) print("Ready") # calls in number of requests # period in seconds @limits(calls=20, period=5) async def serveStuff(websocket, path): requestText = await websocket.recv() print(requestText) if requestText == "STATUSONCOIN": file = open("currency.txt","r") currencyStatus = file.readline() file.close() await websocket.send(currencyStatus) # bad way to send balance to given user - FIX!!! elif requestText == "STATUSONUSER": name, balance = checkBalance("1") print(name) await websocket.send(f"Your balance is: {balance}") await websocket.send(f"Welcome, {name}!") else: await websocket.send("We don't accept DoS") start_server = websockets.serve(serveStuff, "localhost", 8765) asyncio.get_event_loop().run_until_complete(start_server) asyncio.get_event_loop().run_forever()