diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2013-02-10 12:48:32 +0000 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2013-02-10 12:48:32 +0000 |
commit | e4f5ca868fc4313a6a9a00c5eda0a03767abc703 (patch) | |
tree | 990e1ec4fc29662e1966ccef09447dd625712b8b /root_commands.c | |
parent | be98957a88f66215ab6fb84810a1b2d394eac879 (diff) | |
parent | 875ba16b0224b9bf50a0ea15aa96fe545c76b845 (diff) |
Merge from vmiklos. Adds a "group info" command to list members of a group.
Diffstat (limited to 'root_commands.c')
-rw-r--r-- | root_commands.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/root_commands.c b/root_commands.c index d4adfa81..6188245d 100644 --- a/root_commands.c +++ b/root_commands.c @@ -1290,6 +1290,29 @@ static void cmd_group( irc_t *irc, char **cmd ) } irc_rootmsg( irc, "End of group list" ); } + else if( g_strncasecmp(cmd[1], "info", len ) == 0 ) + { + bee_group_t *bg; + int n = 0; + + MIN_ARGS(2); + bg = bee_group_by_name( irc->b, cmd[2], FALSE ); + + if( bg ) + { + if( strchr(irc->umode, 'b') ) + irc_rootmsg( irc, "Members of %s:", cmd[2] ); + for( l = irc->b->users; l; l = l->next ) + { + bee_user_t *bu = l->data; + if( bu->group == bg ) + irc_rootmsg( irc, "%d. %s", n ++, bu->nick ? : bu->handle ); + } + irc_rootmsg( irc, "End of member list" ); + } + else + irc_rootmsg( irc, "Unknown group: %s. Please use \x02group list\x02 to get a list of available groups.", cmd[2] ); + } else { irc_rootmsg( irc, "Unknown command: %s %s. Please use \x02help commands\x02 to get a list of available commands.", "group", cmd[1] ); |