diff --git a/degesch.c b/degesch.c index 628c9d3..2ad7f3d 100644 --- a/degesch.c +++ b/degesch.c @@ -3422,6 +3422,19 @@ handle_command_part (struct app_context *ctx, char *arguments) return true; } +static bool +handle_command_list (struct app_context *ctx, char *arguments) +{ + if (!server_command_check (ctx, "list channels")) + return true; + + if (*arguments) + irc_send (ctx, "LIST %s", arguments); + else + irc_send (ctx, "LIST"); + return true; +} + static bool handle_command_quote (struct app_context *ctx, char *arguments) { @@ -3460,9 +3473,9 @@ g_command_handlers[] = "" }, { "join", handle_command_join, "Join channels", - "[channel...]" }, + "[[,...]]" }, { "part", handle_command_part, "Leave channels", - "[channel...]" }, + "[[,...]]" }, #if 0 { "cycle", NULL, "", "" }, @@ -3472,8 +3485,11 @@ g_command_handlers[] = { "kickban", NULL, "", "" }, { "ban", NULL, "", "" }, { "invite", NULL, "", "" }, +#endif - { "list", NULL, "", "" }, + { "list", handle_command_list, "List channels and their topic", + "[[,...]] [server]" }, +#if 0 { "names", NULL, "", "" }, { "who", NULL, "", "" }, { "whois", NULL, "", "" },