|
|
|
@ -382,28 +382,54 @@ impl GroupHandle { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
StatusCommand::Help => { |
|
|
|
|
if self.config.is_member_only() { |
|
|
|
|
let mut s = "This is a member-only group. ".to_string(); |
|
|
|
|
if self.config.can_write(¬if_acct) { |
|
|
|
|
s.push_str("*You are not a member, ask one of the admins to add you.*"); |
|
|
|
|
} else { |
|
|
|
|
if is_admin { |
|
|
|
|
s.push_str("*You are an admin.*"); |
|
|
|
|
} else { |
|
|
|
|
s.push_str("*You are a member.*"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
replies.push(s); |
|
|
|
|
} else { |
|
|
|
|
let mut s = "This is a public-access group. ".to_string(); |
|
|
|
|
if is_admin { |
|
|
|
|
s.push_str("*You are an admin.*"); |
|
|
|
|
} |
|
|
|
|
replies.push(s); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
replies.push( |
|
|
|
|
"To share an original post with the group, mention the group user.\n\ |
|
|
|
|
Posts with commands won't be shared. Supported commands:\n\ |
|
|
|
|
"\nTo share an original post, mention the group user.\n\ |
|
|
|
|
Posts with commands, and replies, won't be shared.\n\ |
|
|
|
|
\n\ |
|
|
|
|
**Supported commands:**\n\ |
|
|
|
|
`/ignore, /i` - make the group completely ignore the post\n\ |
|
|
|
|
`/boost, /b` - boost the replied-to post into the group\n\ |
|
|
|
|
`/leave` - leave the group as a member".to_string()); |
|
|
|
|
`/members, /who` - show group members / admins\n\ |
|
|
|
|
`/boost, /b` - boost the replied-to post into the group".to_string()); |
|
|
|
|
|
|
|
|
|
if self.config.is_member_only() { |
|
|
|
|
replies.push("`/leave` - leave the group".to_string()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if is_admin { |
|
|
|
|
replies.push( |
|
|
|
|
"`/members` - list members and admins\n\ |
|
|
|
|
"`/add user` - add a member (use e-mail style address)\n\ |
|
|
|
|
`/kick, /remove user` - kick a member\n\ |
|
|
|
|
`/add user` - add a member\n\ |
|
|
|
|
`/ban x` - ban a user or a server\n\ |
|
|
|
|
`/unban x` - lift a ban\n\ |
|
|
|
|
`/op, /admin user` - give admin rights\n\ |
|
|
|
|
`/deop, /deadmin user` - remove admin rights\n\ |
|
|
|
|
`/op, /admin user` - grant admin rights\n\ |
|
|
|
|
`/deop, /deadmin user` - revoke admin rights\n\ |
|
|
|
|
`/opengroup` - make member-only\n\ |
|
|
|
|
`/closegroup` - make public-access\n\ |
|
|
|
|
`/announce x` - make a public announcement from all that follows".to_string()); |
|
|
|
|
`/announce x` - make a public announcement from the rest of the status".to_string()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
StatusCommand::ListMembers => { |
|
|
|
|
let mut show_admins = false; |
|
|
|
|
if is_admin { |
|
|
|
|
if self.config.is_member_only() { |
|
|
|
|
replies.push("Group members:".to_string()); |
|
|
|
@ -420,6 +446,13 @@ impl GroupHandle { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
show_admins = true; |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
show_admins = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if show_admins { |
|
|
|
|
replies.push("Group admins:".to_string()); |
|
|
|
|
let mut admins = self.config.get_admins().collect::<Vec<_>>(); |
|
|
|
|
admins.sort(); |
|
|
|
@ -428,7 +461,6 @@ impl GroupHandle { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
StatusCommand::Leave => { |
|
|
|
|
if self.config.is_member(¬if_acct) { |
|
|
|
|
any_admin_cmd = true; |
|
|
|
|