summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-02-20 01:52:58 -0500
committerJune McEnroe <june@causal.agency>2020-02-20 01:52:58 -0500
commit1b01045bf03522e6c57f544b454ce32583d7b2d2 (patch)
treece1f6dd5dfbbf4e541533d929d56a50f0f174064
parentAdd generic error reply handler (diff)
downloadcatgirl-1b01045bf03522e6c57f544b454ce32583d7b2d2.tar.gz
catgirl-1b01045bf03522e6c57f544b454ce32583d7b2d2.zip
Add handlers for user-in-channel errors
-rw-r--r--handle.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/handle.c b/handle.c
index 61e3d50..23a6f48 100644
--- a/handle.c
+++ b/handle.c
@@ -367,6 +367,15 @@ static void handleQuit(struct Message *msg) {
 	completeRemove(None, msg->nick);
 }
 
+static void handleErrorUserNotInChannel(struct Message *msg) {
+	require(msg, false, 4);
+	uiFormat(
+		idFor(msg->params[2]), Cold, tagTime(msg),
+		"%s\tis not in \3%02d%s\3",
+		msg->params[1], hash(msg->params[2]), msg->params[2]
+	);
+}
+
 static void handleReplyNames(struct Message *msg) {
 	require(msg, false, 4);
 	uint id = idFor(msg->params[2]);
@@ -489,6 +498,17 @@ static void handleInvite(struct Message *msg) {
 	}
 }
 
+static void handleErrorUserOnChannel(struct Message *msg) {
+	require(msg, false, 4);
+	uint id = idFor(msg->params[2]);
+	uiFormat(
+		id, Cold, tagTime(msg),
+		"\3%02d%s\3 is already in \3%02d%s\3",
+		completeColor(id, msg->params[1]), msg->params[1],
+		hash(msg->params[2]), msg->params[2]
+	);
+}
+
 static void handleReplyList(struct Message *msg) {
 	require(msg, false, 4);
 	if (!replies.list) return;
@@ -772,6 +792,8 @@ static const struct Handler {
 	{ "379", handleReplyWhoisGeneric },
 	{ "432", handleErrorErroneousNickname },
 	{ "433", handleErrorNicknameInUse },
+	{ "441", handleErrorUserNotInChannel },
+	{ "443", handleErrorUserOnChannel },
 	{ "671", handleReplyWhoisGeneric },
 	{ "900", handleReplyLoggedIn },
 	{ "904", handleErrorSASLFail },
e='2018-11-25 06:01:34 +0100'>2018-11-25auth-filter: pass url with query string attachedJason A. Donenfeld 2018-11-21git: use xz compressed archive for downloadChristian Hesse 2018-10-12git: update to v2.19.1Christian Hesse 2018-09-11ui-ssdiff: ban strcat()Christian Hesse 2018-09-11ui-ssdiff: ban strncpy()Christian Hesse 2018-09-11ui-shared: ban strcat()Christian Hesse 2018-09-11ui-patch: ban sprintf()Christian Hesse 2018-09-11ui-log: ban strncpy()Christian Hesse 2018-09-11ui-log: ban strcpy()Christian Hesse 2018-09-11parsing: ban sprintf()Christian Hesse 2018-09-11parsing: ban strncpy()Christian Hesse 2018-08-28filters: generate anchor links from markdownChristian Hesse 2018-08-03Bump version.Jason A. Donenfeld 2018-08-03clone: fix directory traversalJason A. Donenfeld 2018-08-03config: record repo.snapshot-prefix in the per-repo configKonstantin Ryabitsev