diff --git a/catgirl.1 b/catgirl.1 index 437b0d1..86bf53d 100644 --- a/catgirl.1 +++ b/catgirl.1 @@ -246,6 +246,8 @@ Set or clear your away status. Invite a user to the channel. .It Ic /join Ar channel Join a channel. +.It Ic /kick Ar nick Op Ar message +Kick a user from the channel. .It Ic /list Op Ar channel List channels. .It Ic /me Op Ar action diff --git a/command.c b/command.c index f59176f..3b94270 100644 --- a/command.c +++ b/command.c @@ -141,6 +141,16 @@ static void commandInvite(size_t id, char *params) { ircFormat("INVITE %s %s\r\n", nick, idNames[id]); } +static void commandKick(size_t id, char *params) { + if (!params) return; + char *nick = strsep(¶ms, " "); + if (params) { + ircFormat("KICK %s %s :%s\r\n", idNames[id], nick, params); + } else { + ircFormat("KICK %s %s\r\n", idNames[id], nick); + } +} + static void commandList(size_t id, char *params) { (void)id; if (params) { @@ -259,6 +269,7 @@ static const struct Handler { { "/help", .fn = commandHelp }, { "/invite", .fn = commandInvite }, { "/join", .fn = commandJoin, .restricted = true }, + { "/kick", .fn = commandKick }, { "/list", .fn = commandList }, { "/me", .fn = commandMe }, { "/move", .fn = commandMove },