Add ban/unban/kick room commands (#327)

This commit is contained in:
Ulyssa 2024-08-17 18:50:48 -07:00 committed by GitHub
parent 2a66496913
commit df3896df9c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 145 additions and 0 deletions

View file

@ -391,6 +391,24 @@ pub enum RoomField {
CanonicalAlias,
}
/// An action that operates on a room member.
#[derive(Clone, Debug, Eq, PartialEq)]
pub enum MemberUpdateAction {
Ban,
Kick,
Unban,
}
impl Display for MemberUpdateAction {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
MemberUpdateAction::Ban => write!(f, "ban"),
MemberUpdateAction::Kick => write!(f, "kick"),
MemberUpdateAction::Unban => write!(f, "unban"),
}
}
}
/// An action that operates on a focused room.
#[derive(Clone, Debug, Eq, PartialEq)]
pub enum RoomAction {
@ -406,6 +424,9 @@ pub enum RoomAction {
/// Leave this room.
Leave(bool),
/// Update a user's membership in this room.
MemberUpdate(MemberUpdateAction, String, Option<String>, bool),
/// Open the members window.
Members(Box<CommandContext>),