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 },
/span>Alias bc='bc -l'June McEnroe 2018-08-20Update usage of scheme in READMEJune McEnroe 2018-08-20Use scheme.h in fbatt and fbclockJune McEnroe 2018-08-20Generate scheme.hJune McEnroe 2018-08-20Add dependencies on gfx.hJune McEnroe 2018-08-18Add Blondie — Heart of GlassJune McEnroe Why didn't I know about this song? I love it. 2018-08-18Set FCEDIT=$EDITORJune McEnroe 2018-08-18Only post commits with bodies to MastodonJune McEnroe 2018-08-18Run tf/cfg link script with /bin/shJune McEnroe 2018-08-18Run {,s,t}up with /bin/shJune McEnroe 2018-08-18Use whence instead of typeJune McEnroe type is an alias for whence -v and is more for human consumption. 2018-08-18Cut off path components until right prompt fitsJune McEnroe Keeps paths valid (from somehwere) rather than abrupt truncation. 2018-08-17Add "private" alias to source encrypted fileJune McEnroe Why is there no easy way to *edit* an encrypted file? 2018-08-17Add vim mapping to add a #includeJune McEnroe