summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--catgirl.110
-rw-r--r--command.c24
2 files changed, 33 insertions, 1 deletions
diff --git a/catgirl.1 b/catgirl.1
index 501163c..286d4f9 100644
--- a/catgirl.1
+++ b/catgirl.1
@@ -1,4 +1,4 @@
-.Dd March 25, 2020
+.Dd March 29, 2020
 .Dt CATGIRL 1
 .Os
 .
@@ -330,6 +330,10 @@ Switch to window by number.
 .Bl -tag -width Ds
 .It Ic /ban Op Ar mask ...
 List or ban masks from the channel.
+.It Ic /deop Ar nick ...
+Revoke channel operator status from users.
+.It Ic /devoice Ar nick ...
+Revoke voice from users in the channel.
 .It Ic /except Op Ar mask ...
 List or add masks to the channel ban exception list.
 .It Ic /invex Op Ar mask ...
@@ -342,12 +346,16 @@ In the
 .Sy <network>
 window,
 show or set user modes.
+.It Ic /op Ar nick ...
+Grant users channel operator status.
 .It Ic /unban Ar mask ...
 Unban masks from the channel.
 .It Ic /unexcept Ar mask ...
 Remove masks from the channel ban exception list.
 .It Ic /uninvex Ar mask ...
 Remove masks from the channel invite list.
+.It Ic /voice Ar nick ...
+Grant users voice in the channel.
 .El
 .
 .Sh KEY BINDINGS
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 },
 };
4edffbef611d4225f59c10de126de&follow=1'>Make up build away from FreeBSDJune McEnroe 2021-09-23Add quickJune McEnroe 2021-09-23Add The HobbitJune McEnroe Surprisingly good for something written by a man like a hundred years ago! 2021-09-22Remove PSF fontsJune McEnroe They were fun to make but I never actually used them. 2021-09-22Remove Linux-specific utilitiesJune McEnroe I haven't used these in ages. 2021-09-22Call sandbox in CGI modeJune McEnroe Otherwise upload won't actually work. 2021-09-22Support HTTP PUT in upJune McEnroe For use by Palaver[1]. Unfortunately, at least in the current App Store version of Palaver, this doesn't work correctly with basic auth. [1]: https://palaverapp.com/guides/commands/set.html#ui-image_service 2021-09-22Remove default faviconJune McEnroe I hate these things and also this one sucks. 2021-09-21Use Z_FILTERED strategyJune McEnroe 2021-09-21Recalculate various lengths only as neededJune McEnroe This actually speeds things up quite a bit, saving roughly a second on a big PNG screenshot. Almost all the remaining time is spent in deflate. 2021-09-21Rewrite pngo, add explicit optionsJune McEnroe Interesting to see how my code habits have changed. 2021-09-16Fix /* **/ comment matchingJune McEnroe 2021-09-15Remove typer, add downgrade to READMEJune McEnroe 2021-09-15Set bot mode on downgradeJune McEnroe 2021-09-15Enter capsicum in downgradeJune McEnroe 2021-09-15Factor out common parts of downgrade messagesJune McEnroe Also bump the message cap to 1024 because that is ostensibly useful for replying to older messages. 2021-09-14Add downgrade IRC botJune McEnroe 2021-09-14Sort by title if authors matchJune McEnroe There are probably better things to sort by but title definitely always exists. 2021-09-13Swap-remove tags as they're foundJune McEnroe This makes it even faster. From ~1s on a sqlite3.c amalgamation to ~0.85s. 2021-09-12Replace htagml regex with strncmpJune McEnroe Since ctags only ever produces regular expressions of the form /^re$/ or /^re/ with no other special characters, instead unescape the pattern and simply use strncmp. Running on a sqlite3.c amalgamation, the regex version takes ~37s while the strncmp version takes ~1s, producing identical output. Big win! 2021-09-11Also defer printing comment for lone close-parensJune McEnroe 2021-09-10Publish "git-comment"June McEnroe 2021-09-10Add git comment --pretty optionJune McEnroe 2021-09-08Defer printing comment if line is blank or closing braceJune McEnroe This fixes badly indented comments. 2021-09-08Up default min-repeat to 30 linesJune McEnroe 2021-09-08Handle dirty lines in git-commentJune McEnroe 2021-09-08Document and install git-commentJune McEnroe 2021-09-08Add repeat and all options to git-commentJune McEnroe 2021-09-08Add group threshold to git-commentJune McEnroe