summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--degesch.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/degesch.c b/degesch.c
index 628c9d3..2ad7f3d 100644
--- a/degesch.c
+++ b/degesch.c
@@ -3423,6 +3423,19 @@ handle_command_part (struct app_context *ctx, char *arguments)
}
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)
{
if (!server_command_check (ctx, "quote"))
@@ -3460,9 +3473,9 @@ g_command_handlers[] =
"<message>" },
{ "join", handle_command_join, "Join channels",
- "[channel...]" },
+ "[<channel>[,<channel>...]]" },
{ "part", handle_command_part, "Leave channels",
- "[channel...]" },
+ "[<channel>[,<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",
+ "[<channel>[,<channel>...]] [server]" },
+#if 0
{ "names", NULL, "", "" },
{ "who", NULL, "", "" },
{ "whois", NULL, "", "" },