From 1b01045bf03522e6c57f544b454ce32583d7b2d2 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Thu, 20 Feb 2020 01:52:58 -0500 Subject: Add handlers for user-in-channel errors --- handle.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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 }, -- cgit 1.4.1