diff options
author | June McEnroe <june@causal.agency> | 2018-08-03 19:34:19 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2018-08-03 19:34:19 -0400 |
commit | 0e99c4891229b7e1c84d476ac9c6848a8098fa84 (patch) | |
tree | f3d77e3970ba2edd40bea772149ae34a82524c81 /chat.c | |
parent | Continue on EINTR from poll (diff) | |
download | catgirl-0e99c4891229b7e1c84d476ac9c6848a8098fa84.tar.gz catgirl-0e99c4891229b7e1c84d476ac9c6848a8098fa84.zip |
Handle KICK and NICK
Diffstat (limited to '')
-rw-r--r-- | chat.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/chat.c b/chat.c index d616b91..0482c03 100644 --- a/chat.c +++ b/chat.c @@ -271,6 +271,17 @@ static void handleQuit(char *prefix, char *params) { color(user), nick, quot, mesg, quot ); } +static void handleKick(char *prefix, char *params) { + char *nick = prift(&prefix); + char *user = prift(&prefix); + char *chan = shift(¶ms); + char *kick = shift(¶ms); + char *mesg = shift(¶ms); + uiFmt( + "\3%d%s\3 kicked \3%d%s\3 out of \3%d%s\3, \"%s\"", + color(user), nick, color(kick), kick, color(chan), chan, mesg + ); +} static void handle332(char *prefix, char *params) { (void)prefix; @@ -329,6 +340,16 @@ static void handle315(char *prefix, char *params) { ); } +static void handleNick(char *prefix, char *params) { + char *prev = prift(&prefix); + char *user = prift(&prefix); + char *next = shift(¶ms); + uiFmt( + "\3%d%s\3 is now known as \3%d%s\3", + color(user), prev, color(user), next + ); +} + static void handlePrivmsg(char *prefix, char *params) { char *nick = prift(&prefix); char *user = prift(&prefix); @@ -359,6 +380,8 @@ static const struct { { "352", handle352 }, { "366", handle366 }, { "JOIN", handleJoin }, + { "KICK", handleKick }, + { "NICK", handleNick }, { "NOTICE", handleNotice }, { "PART", handlePart }, { "PING", handlePing }, |