diff --git a/src/commands/management.rs b/src/commands/management.rs index 8964c86..a8e38f5 100644 --- a/src/commands/management.rs +++ b/src/commands/management.rs @@ -18,11 +18,16 @@ impl Command for ResyncCommand { async fn execute(&self, ctx: &Context<'_>) -> Execution { let room_id = RoomId::try_from(ctx.room_id).expect("failed to decode room ID"); + let our_username = match ctx.matrix_client.user_id().await { + Some(username) => username.as_str().to_owned(), + _ => "".to_owned(), + }; + let usernames = matrix::get_users_in_room(&ctx.matrix_client, &room_id).await; let result: ResyncResult = usernames .into_iter() - //.filter(|username| username != &event.state_key) + .filter(|username| username != &our_username) .map(|username| ctx.db.rooms.add_user_to_room(&username, room_id.as_str())) .collect(); //Make use of collect impl on Result.