142 Commits

Author SHA1 Message Date
C. McEnroe
eb6316c235 Track own host, handle CHGHOST 2020-03-22 14:32:20 -04:00
C. McEnroe
0d0a6d1575 Handle RPL_CHANNELMODEIS 2020-03-22 11:40:58 -04:00
C. McEnroe
61828a12e9 Handle user mode changes 2020-03-22 11:26:16 -04:00
C. McEnroe
8da45d9183 Rewrite handleMode 2020-03-22 11:18:21 -04:00
C. McEnroe
1c508b78ab Handle RPL_UMODEIS 2020-03-18 08:33:42 -04:00
C. McEnroe
2f53f75892 Ignore 422 ERR_NOMOTD
pounce will start sending these because some silly clients don't think
they're connected until some MOTD reply...
2020-03-09 03:08:59 -04:00
C. McEnroe
7e120f00a1 Set self.pos before handling the message
This intuitively feels wrong, but isn't. Most importantly, handleError
immediately exits, but we still need to "consume" that message,
otherwise pounce will keep sending it on reconnect. The same goes for
any other handler that might cause an exit, such as a require parameter
count failure.
2020-03-08 23:15:56 -04:00
C. McEnroe
8570a62235 Implement the causal.agency/consumer capability 2020-02-29 01:03:46 -05:00
C. McEnroe
78b4832bfe Add raw modes to mode message 2020-02-25 03:00:36 -05:00
C. McEnroe
e9524b4af3 Handle changing setParamModes, paramModes and other channel modes 2020-02-25 02:54:15 -05:00
C. McEnroe
431945614d Fix handling EXCEPTS and INVEX without values 2020-02-25 02:24:29 -05:00
C. McEnroe
3c5e1c95a4 Add /mode, /except, /invex and handle lists replies 2020-02-25 02:12:35 -05:00
C. McEnroe
c3c40d738b Accumulate mode changes into a buffer for one message 2020-02-23 22:44:19 -05:00
C. McEnroe
9609723dc6 Handle ERR_CHANOPRIVSNEEDED 2020-02-20 05:04:58 -05:00
C. McEnroe
50a6d34a55 Handle MODE changing channel list modes 2020-02-20 04:53:06 -05:00
C. McEnroe
c2c8595012 Handle MODE setting channel prefix modes 2020-02-20 04:18:25 -05:00
C. McEnroe
a3b6d5d9a7 Change ban list formatting 2020-02-20 03:44:57 -05:00
C. McEnroe
b3c5458fc9 Rearrange some handlers 2020-02-20 03:18:48 -05:00
C. McEnroe
42ad42887c Handle RPL_INVITING when no invite-notify 2020-02-20 02:32:36 -05:00
C. McEnroe
5c79b16a51 Handle ERR_BANLISTFULL 2020-02-20 02:13:23 -05:00
C. McEnroe
1b01045bf0 Add handlers for user-in-channel errors 2020-02-20 01:52:58 -05:00
C. McEnroe
f494fe6edb Add generic error reply handler
This should have been in way earlier...
2020-02-20 01:38:31 -05:00
C. McEnroe
56de4668ac Add /ban, /unban and handle ban list replies 2020-02-19 21:47:16 -05:00
C. McEnroe
2a33ee68dd Format WHOIS signon date with %F %T 2020-02-19 21:29:51 -05:00
C. McEnroe
ba524ed804 Replace a lot of snprintf with a catf implementation 2020-02-16 19:12:19 -05:00
C. McEnroe
3885dd5231 Add 379 to WHOIS responses 2020-02-16 18:42:38 -05:00
C. McEnroe
edd8855418 Track EXCEPTS and INVEX modes 2020-02-16 18:31:50 -05:00
C. McEnroe
f84ab67311 Apply colorMentions to actions
The first-two-words branch works well for "/me verbs nick".
2020-02-16 05:22:28 -05:00
C. McEnroe
700b5d5870 Replace small integers in size_t with uint 2020-02-15 22:19:55 -05:00
C. McEnroe
83df94b359 Still add nick without prefixes to complete 2020-02-15 22:19:05 -05:00
C. McEnroe
9b1ab69908 Track PREFIX modes and CHANMODES 2020-02-15 05:29:54 -05:00
C. McEnroe
cd341076c0 Show prefixes in NAMES and WHOIS replies 2020-02-15 05:04:43 -05:00
C. McEnroe
42d106260b Separate network info from self 2020-02-15 04:54:53 -05:00
C. McEnroe
39a343980b Add /invite 2020-02-14 21:36:58 -05:00
C. McEnroe
8aa6dd86f6 Add /away 2020-02-14 21:10:40 -05:00
C. McEnroe
be08880fac Only exit on errorneous nick during registration 2020-02-12 19:30:07 -05:00
C. McEnroe
05579773c8 Add 378 to list of WHOIS responses
It's the one (from freenode anyway) that tells you where you're
connecting from.
2020-02-12 19:14:49 -05:00
C. McEnroe
489df70c37 Add /list 2020-02-12 02:39:23 -05:00
C. McEnroe
3a325d3914 Handle RPL_AWAY 2020-02-12 00:17:28 -05:00
C. McEnroe
7c171b8aff Rename query ID on nick change 2020-02-11 18:23:04 -05:00
C. McEnroe
6a5ebb0bab Don't insert color codes for non-mentions 2020-02-11 18:15:25 -05:00
C. McEnroe
4d532ec738 Take first two words in colorMentions
This lets phrases like "hi june" get colored, but still doesn't get
carried away.
2020-02-11 18:08:05 -05:00
C. McEnroe
cc80fae758 Set self.nick to * initially
Allows removing a bunch of checks that self.nick is set, and it's what
the server usually calls you before registration.

Never highlight notices as mentions.
2020-02-11 17:52:55 -05:00
C. McEnroe
83a8952cf5 Move base64 out of chat.h 2020-02-11 17:40:08 -05:00
C. McEnroe
ac4876718f Fix whois idle unit calculation
Rookie mistake.
2020-02-11 04:00:25 -05:00
C. McEnroe
36e0bbc4cd Split on <> in colorMentions
This allows it to color the nick in the common case of pasting "<nick>
something they said" into the chat. Technically it should color the
brackets too but that would be too much work.
2020-02-10 20:58:14 -05:00
C. McEnroe
80a79467ef Only automatically switch to expected joins 2020-02-10 20:24:07 -05:00
C. McEnroe
8e55c049b5 Avoid coloring mentions if there are control codes
This was breaking leading color codes.
2020-02-10 03:58:25 -05:00
C. McEnroe
fabb89077d Update prompt when own nick changes 2020-02-10 01:29:30 -05:00
C. McEnroe
3436cd1068 Add /whois 2020-02-09 16:45:49 -05:00