diff --git a/crates/lavina-core/src/player.rs b/crates/lavina-core/src/player.rs index 0486808..8693752 100644 --- a/crates/lavina-core/src/player.rs +++ b/crates/lavina-core/src/player.rs @@ -177,6 +177,7 @@ pub enum ClientCommand { pub enum JoinResult { Success(RoomInfo), + AlreadyJoined, Banned, } @@ -388,6 +389,9 @@ impl Player { if self.banned_from.contains(&room_id) { return JoinResult::Banned; } + if self.my_rooms.contains_key(&room_id) { + return JoinResult::AlreadyJoined; + } let room = match self.rooms.get_or_create_room(room_id.clone()).await { Ok(room) => room,