lockIn / chat /manager.py
Kankshi's picture
Upload 21 files
c35855b verified
Raw
History Blame Contribute Delete
791 Bytes
# In-memory room management
# rooms = { "room_id": [socket_id1, socket_id2, ...] }
rooms = {}
def add_user_to_room(room_id: str, socket_id: str):
"""Add a socket_id to the given room."""
if room_id not in rooms:
rooms[room_id] = []
if socket_id not in rooms[room_id]:
rooms[room_id].append(socket_id)
def remove_user_from_room(socket_id: str):
"""Remove a socket_id from ALL rooms it belongs to."""
for room_id in list(rooms.keys()):
if socket_id in rooms[room_id]:
rooms[room_id].remove(socket_id)
# Clean up empty rooms
if not rooms[room_id]:
del rooms[room_id]
def get_room_members(room_id: str) -> list:
"""Return list of socket IDs in a room."""
return rooms.get(room_id, [])