summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--db.py12
-rw-r--r--main.py10
2 files changed, 11 insertions, 11 deletions
diff --git a/db.py b/db.py
index 01718be..46bad8d 100644
--- a/db.py
+++ b/db.py
@@ -78,20 +78,20 @@ class acc:
         if not user:
             return "notExists"
         if user["banned_until"] > round(time.time()):
-            return {"banned": True, "username": user["username"]}
+            return {"banned": True, "username": user["username"], "bot": user["bot"]}
         else:
-            return {"banned": False, "username": user["username"]}
+            return {"banned": False, "username": user["username"], "bot": user["bot"]}
 
     def verify_pswd(username, password):
         user = usersd.find_one({"username": username})
         if not user:
             return "notExists"
-        if user["banned_until"] > round(time.time()):
-            return "banned"
-        elif not scrypt.verify(password, user["secure"]["password"]):
+        if not scrypt.verify(password, user["secure"]["password"]):
             return "unauthorized"
+        elif user["banned_until"] > round(time.time()):
+            return "banned"
         else:
-            return {"token": user["secure"]["token"]}
+            return {"token": user["secure"]["token"], "bot": user["bot"]}
 
     def get_ban(username):
         user = usersd.find_one({"username": username})
diff --git a/main.py b/main.py
index 48cdb1c..15be7a4 100644
--- a/main.py
+++ b/main.py
@@ -112,13 +112,13 @@ class util:
         del data["profile"]

         return data

     

-    def authorize(username, conn_id, websocket, client):

+    def authorize(username, conn_id, websocket, client, bot):

         # TODO: statuses

         if client:

             if not re.fullmatch("[a-zA-Z0-9-_. ]{1,50}", client):

                 client = ""

-        ulist[username] = {"client": client, "status": ""}

-        client_data[conn_id] = {"username": username, "client": client, "websocket": websocket, "connected": round(time.time())}

+        ulist[username] = {"client": client, "status": "", "bot": bot}

+        client_data[conn_id] = {"username": username, "client": client, "websocket": websocket, "connected": round(time.time()), "bot": bot}

         data = db.acc.get(username)

         del data["secure"]

         return data

@@ -256,7 +256,7 @@ async def handler(websocket):
                         continue

                 valid = db.acc.verify_pswd(r["username"], r["password"])

                 if type(valid) == dict:

-                    userdata = util.authorize(r["username"], str(websocket.id), websocket, r.get("client"))

+                    userdata = util.authorize(r["username"], str(websocket.id), websocket, r.get("client"), valid["bot"])

                     await websocket.send(json.dumps({"error": False, "token": valid["token"], "user": userdata, "listener": listener}))

                     util.ulist()

                     continue

@@ -283,7 +283,7 @@ async def handler(websocket):
                         await websocket.send(util.error("banned", listener, db.acc.get_ban(valid["username"])))

                         continue

                     else:

-                        userdata = util.authorize(valid["username"], str(websocket.id), websocket, r.get("client"))

+                        userdata = util.authorize(valid["username"], str(websocket.id), websocket, r.get("client"), valid["bot"])

                         await websocket.send(json.dumps({"error": False, "user": userdata, "listener": listener}))

                         util.ulist()

                         continue