summary refs log tree commit diff
path: root/handle.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-10-02 19:38:37 -0400
committerJune McEnroe <june@causal.agency>2020-10-02 19:38:37 -0400
commitf7f5acbbe2a848d2c827aed0fe8410e48300c1e9 (patch)
treea4967b2ac419cfde81a951b65e47fde6481d6db9 /handle.c
parentUse WHO for /ops (diff)
downloadcatgirl-f7f5acbbe2a848d2c827aed0fe8410e48300c1e9.tar.gz
catgirl-f7f5acbbe2a848d2c827aed0fe8410e48300c1e9.zip
Double up /help for server help
While the automatic search via LESS is neat, I don't think it's very
useful. Just always open the manual to the COMMANDS section, and fix it
to append to LESS rather than replace it.
Diffstat (limited to 'handle.c')
-rw-r--r--handle.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/handle.c b/handle.c
index 7519b87..988aeb2 100644
--- a/handle.c
+++ b/handle.c
@@ -302,6 +302,18 @@ static void handleErrorNoMOTD(struct Message *msg) {
 	(void)msg;
 }
 
+static void handleReplyHelp(struct Message *msg) {
+	require(msg, false, 3);
+	if (!replies.help) return;
+	urlScan(Network, msg->nick, msg->params[2]);
+	uiWrite(Network, Warm, tagTime(msg), msg->params[2]);
+}
+
+static void handleReplyEndOfHelp(struct Message *msg) {
+	(void)msg;
+	if (replies.help) replies.help--;
+}
+
 static void handleJoin(struct Message *msg) {
 	require(msg, true, 1);
 	uint id = idFor(msg->params[0]);
@@ -1253,6 +1265,9 @@ static const struct Handler {
 	{ "478", handleErrorBanListFull },
 	{ "482", handleErrorChanopPrivsNeeded },
 	{ "671", handleReplyWhoisGeneric },
+	{ "704", handleReplyHelp },
+	{ "705", handleReplyHelp },
+	{ "706", handleReplyEndOfHelp },
 	{ "900", handleReplyLoggedIn },
 	{ "904", handleErrorSASLFail },
 	{ "905", handleErrorSASLFail },