fix broken password login

This commit is contained in:
Alberto Xamin 2023-04-09 19:46:51 +01:00
parent 340c86b5db
commit ad1db9e0dc
No known key found for this signature in database
GPG Key ID: 5ABFCD8A22EA6F5D
2 changed files with 22 additions and 21 deletions

View File

@ -310,7 +310,7 @@ class Game:
self.is_changing_pwd = True self.is_changing_pwd = True
if self.password == "": if self.password == "":
self.password = "".join( self.password = "".join(
random.choice("AEIOUJKZT123456789") for x in range(6) random.choice("AEOUJKZT123456789") for x in range(6)
) )
print(self.name, "is now private pwd", self.password) print(self.name, "is now private pwd", self.password)
else: else:

View File

@ -263,12 +263,15 @@ def get_me(sid, data):
sio.get_session(sid).game.notify_room() sio.get_session(sid).game.notify_room()
else: else:
dt = data.get("discord_token", None) dt = data.get("discord_token", None)
username = data.get("username", "player") username = data.get("username", None)
if username is None:
username = f"player_{random.randint(0,100)}"
sio.save_session(sid, Player(username, sid, discord_token=dt)) sio.save_session(sid, Player(username, sid, discord_token=dt))
p = sio.get_session(sid)
print(f"{sid} is now {username}")
if "replay" in data and data["replay"] is not None: if "replay" in data and data["replay"] is not None:
create_room(sid, data["replay"]) create_room(sid, data["replay"])
sid = sio.get_session(sid) p.game.is_hidden = True
sid.game.is_hidden = True
eventlet.sleep(0.5) eventlet.sleep(0.5)
response = requests.get( response = requests.get(
f"https://hastebin.com/raw/{data['replay']}", f"https://hastebin.com/raw/{data['replay']}",
@ -283,11 +286,11 @@ def get_me(sid, data):
) )
return return
log = response.text.splitlines() log = response.text.splitlines()
sid.game.spectators.append(sid) p.game.spectators.append(p)
if "ffw" not in data: if "ffw" not in data:
sid.game.replay(log) p.game.replay(log)
else: else:
sid.game.replay(log, speed=0, fast_forward=int(data["ffw"])) p.game.replay(log, speed=0, fast_forward=int(data["ffw"]))
return return
if data["name"] in games and (room := games[data["name"]]) is not None: if data["name"] in games and (room := games[data["name"]]) is not None:
if not room.started: if not room.started:
@ -440,29 +443,27 @@ def toggle_replace_with_bot(sid):
@bang_handler @bang_handler
def join_room(sid, room): def join_room(sid, room):
room_name = room["name"] room_name = room["name"]
if ( pwd = room.get("password", "")
games[room_name].password != "" if pwd is None:
and games[room_name].password != room.get("password", "").upper() pwd = ""
): if games[room_name].password != "" and games[room_name].password != pwd.upper():
return return
player = sio.get_session(sid)
if not games[room_name].started: if not games[room_name].started:
print(f"{sid} joined a room named {room_name}") print(f"{sid} joined a room named {room_name}")
sio.leave_room(sid, "lobby") sio.leave_room(sid, "lobby")
sio.enter_room(sid, room_name) sio.enter_room(sid, room_name)
while any( while any(
( (p.name == player.name and not p.is_bot for p in games[room_name].players)
p.name == sio.get_session(sid).name and not p.is_bot
for p in games[room_name].players
)
): ):
sio.get_session(sid).name += f"_{random.randint(0,100)}" player.name += f"_{random.randint(0,100)}"
sio.emit("me", data=sio.get_session(sid).name, room=sid) sio.emit("me", data=player.name, room=sid)
games[room_name].add_player(sio.get_session(sid)) games[room_name].add_player(player)
advertise_lobbies() advertise_lobbies()
else: else:
games[room_name].spectators.append(sio.get_session(sid)) games[room_name].spectators.append(player)
sio.get_session(sid).game = games[room_name] player.game = games[room_name]
sio.get_session(sid).pending_action = PendingAction.WAIT player.pending_action = PendingAction.WAIT
sio.enter_room(sid, games[room_name].name) sio.enter_room(sid, games[room_name].name)
games[room_name].notify_room(sid) games[room_name].notify_room(sid)
eventlet.sleep(0.5) eventlet.sleep(0.5)