From ebbb5ad4d20f7d68134f236f6dbd7e00251579bd Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Sun, 29 Mar 2020 12:43:53 -0400 Subject: Add /op, /deop, /voice, /devoice This collides with using /o for /open which I'm sad about, but I think these commands should exist... --- command.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'command.c') diff --git a/command.c b/command.c index 7339574..4779a6a 100644 --- a/command.c +++ b/command.c @@ -206,6 +206,26 @@ static void channelListMode(uint id, char pm, char l, char *params) { ircFormat("MODE %s %c%.*s %s\r\n", idNames[id], pm, count, modes, params); } +static void commandOp(uint id, char *params) { + if (!params) return; + channelListMode(id, '+', 'o', params); +} + +static void commandDeop(uint id, char *params) { + if (!params) return; + channelListMode(id, '-', 'o', params); +} + +static void commandVoice(uint id, char *params) { + if (!params) return; + channelListMode(id, '+', 'v', params); +} + +static void commandDevoice(uint id, char *params) { + if (!params) return; + channelListMode(id, '-', 'v', params); +} + static void commandBan(uint id, char *params) { if (params) { channelListMode(id, '+', 'b', params); @@ -379,6 +399,8 @@ static const struct Handler { { "/copy", commandCopy, Restricted }, { "/cs", commandCS, 0 }, { "/debug", commandDebug, Restricted }, + { "/deop", commandDeop, 0 }, + { "/devoice", commandDevoice, 0 }, { "/except", commandExcept, 0 }, { "/exec", commandExec, Multiline | Restricted }, { "/help", commandHelp, 0 }, @@ -395,6 +417,7 @@ static const struct Handler { { "/nick", commandNick, 0 }, { "/notice", commandNotice, Multiline }, { "/ns", commandNS, 0 }, + { "/op", commandOp, 0 }, { "/open", commandOpen, Restricted }, { "/part", commandPart, 0 }, { "/query", commandQuery, Restricted }, @@ -405,6 +428,7 @@ static const struct Handler { { "/unban", commandUnban, 0 }, { "/unexcept", commandUnexcept, 0 }, { "/uninvex", commandUninvex, 0 }, + { "/voice", commandVoice, 0 }, { "/whois", commandWhois, 0 }, { "/window", commandWindow, 0 }, }; -- cgit 1.4.1