diff options
author | June McEnroe <june@causal.agency> | 2020-02-20 01:52:58 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-02-20 01:52:58 -0500 |
commit | 1b01045bf03522e6c57f544b454ce32583d7b2d2 (patch) | |
tree | ce1f6dd5dfbbf4e541533d929d56a50f0f174064 | |
parent | Add generic error reply handler (diff) | |
download | catgirl-1b01045bf03522e6c57f544b454ce32583d7b2d2.tar.gz catgirl-1b01045bf03522e6c57f544b454ce32583d7b2d2.zip |
Add handlers for user-in-channel errors
-rw-r--r-- | handle.c | 22 |
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 }, |