|
|
|
@ -379,7 +379,6 @@ impl<'a> ProcessMention<'a> { |
|
|
|
|
async fn cmd_add_member(&mut self, user: &str) -> Result<(), GroupError> { |
|
|
|
|
let u = normalize_acct(user, &self.group_acct)?; |
|
|
|
|
if self.is_admin { |
|
|
|
|
if !self.config.is_member(&u) { |
|
|
|
|
match self.config.set_member(&u, true) { |
|
|
|
|
Ok(_) => { |
|
|
|
|
self.add_reply(format!("User {} added to the group!", u)); |
|
|
|
@ -390,9 +389,6 @@ impl<'a> ProcessMention<'a> { |
|
|
|
|
self.add_reply(format!("Failed to add user {} to group: {}", u, e)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
debug!("User was already a member"); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
self.add_reply("Only admins can manage members"); |
|
|
|
|
} |
|
|
|
@ -402,7 +398,6 @@ impl<'a> ProcessMention<'a> { |
|
|
|
|
async fn cmd_remove_member(&mut self, user: &str) -> Result<(), GroupError> { |
|
|
|
|
let u = normalize_acct(user, &self.group_acct)?; |
|
|
|
|
if self.is_admin { |
|
|
|
|
if self.config.is_member(&u) { |
|
|
|
|
match self.config.set_member(&u, false) { |
|
|
|
|
Ok(_) => { |
|
|
|
|
self.add_reply(format!("User {} removed from the group.", u)); |
|
|
|
@ -413,7 +408,6 @@ impl<'a> ProcessMention<'a> { |
|
|
|
|
unreachable!() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
self.add_reply("Only admins can manage members"); |
|
|
|
|
} |
|
|
|
@ -586,10 +580,11 @@ impl<'a> ProcessMention<'a> { |
|
|
|
|
// admin can leave but that's a bad idea
|
|
|
|
|
let _ = self.config.set_member(&self.status_acct, false); |
|
|
|
|
self.add_reply("You're no longer a group member. Unfollow the group user to stop receiving group messages."); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
self.unfollow_user_by_id(&self.status_user_id).await |
|
|
|
|
.log_error("Failed to unfollow"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
async fn cmd_join(&mut self) { |
|
|
|
|
if self.config.is_member_or_admin(&self.status_acct) { |
|
|
|
|