diff options
author | June McEnroe <june@causal.agency> | 2020-03-29 12:43:53 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-03-29 12:43:53 -0400 |
commit | ebbb5ad4d20f7d68134f236f6dbd7e00251579bd (patch) | |
tree | bedc8494b82fce734c580017e2676115079523c1 /command.c | |
parent | Rewrite mode formatting again and write to log (diff) | |
download | catgirl-ebbb5ad4d20f7d68134f236f6dbd7e00251579bd.tar.gz catgirl-ebbb5ad4d20f7d68134f236f6dbd7e00251579bd.zip |
Add /op, /deop, /voice, /devoice
This collides with using /o for /open which I'm sad about, but I think these commands should exist...
Diffstat (limited to 'command.c')
-rw-r--r-- | command.c | 24 |
1 files changed, 24 insertions, 0 deletions
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 }, }; |