|  |  |  | @ -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) { | 
			
		
	
	
		
			
				
					|  |  |  | 
 |