40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
![]() |
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()
|