Commit graph

88 commits

Author SHA1 Message Date
jesopo
6c8399fa0f Respect RFC1459 casemapping rules 2018-09-11 08:52:12 +01:00
jesopo
7530bb7cbd Pass around an IRCPrefix object instead of "nickname!username@hostname", fix a
bug in TAGMSG handling that was trying to get a user object from a channel, fix
a bug in ACCOUNT handling that was literally using "nickname" as a user's
nickname, instead of the parsed nickname.
2018-09-10 09:31:24 +01:00
jesopo
35ae1a57c7 Handle CHGHOST referencing the bot instead of another user 2018-09-10 09:10:43 +01:00
jesopo
9916618889 Send '111' as the default WHOX token, not '001', as some servers cut that down
to '1'
2018-09-10 08:57:41 +01:00
jesopo
78171f7504 Add support for IRCv3's batch and draft/labeled-response 2018-09-10 08:57:10 +01:00
jesopo
aca5d78cee Standardise the "last" argument of a line; be that an :arbitrary or just the
last argument.
2018-09-10 08:56:21 +01:00
jesopo
451b4e7207 Fix a copypaste fail that pointed TAGMSG at ACCOUNT handling code 2018-09-09 23:23:16 +01:00
jesopo
f317b2d724 Support IRCv3's cap-notify 2018-09-07 16:13:39 +01:00
jesopo
7e3d7542b9 Support CAP 3.2 2018-09-07 15:51:41 +01:00
jesopo
ac76b81421 Support server-time, even if it's ignored for the moment 2018-09-07 13:49:36 +01:00
jesopo
14a8c2dab4 Support NOTICE without a prefix ("NOTICE AUTH" etc) 2018-09-06 11:41:32 +01:00
jesopo
89f928327b Match " :" for arbitrary instead of ":", to avoid e.g. splitting ipv6 in to
pieces!
2018-09-06 11:40:43 +01:00
jesopo
33286319bb Handle \x01ACTION that's not correctly terminated with a \x01 2018-09-05 15:02:38 +01:00
jesopo
c4cedbe697 Change more user.id references to get_id() 2018-09-05 13:34:21 +01:00
jesopo
ec119e3dcf Correctly keep track of IRCUser.identified_account_id 2018-09-05 12:04:34 +01:00
jesopo
6bd6f2492b Support IRCv3's account-notify/extended-join along with WHOX to replace internal
register/identify
2018-09-05 11:58:10 +01:00
jesopo
0d6e888380 ACCOUNT doesn't use message-tags, duh! 2018-09-05 08:30:13 +01:00
jesopo
a4237df4e9 Change IRCLineHandler to use delimited events 2018-09-04 10:41:16 +01:00
jesopo
0d863a4239 Track a user's away status in IRCUser 2018-09-04 10:15:20 +01:00
jesopo
345bc18366 Add IRCUser.identified_account for ACCOUNT/extended-join 2018-09-04 09:18:14 +01:00
jesopo
c5a3ce4987 Don't get_user before we've seperated userhost-in-names hostmasks 2018-09-04 08:12:45 +01:00
jesopo
d72c15c956 Most userhost-in-names check to after mode prefix checking 2018-09-04 08:04:49 +01:00
jesopo
1c3c56e7f4 Use "draft/message-tags-0.2" IRCv3 capability to actually be able to receive
TAGMSG
2018-09-04 07:35:26 +01:00
jesopo
e5e9a6fc65 idle-notify un-away messages don't have *any* args - this caused BitBot to crash
in IRCLineHandler.handle
2018-09-04 07:20:27 +01:00
jesopo
dcba6d2c6e Support IRCv3's userhost-in-names 2018-09-04 07:11:02 +01:00
jesopo
3ca0230733 Fix referencing account tag for ACCOUNT in IRCLineHandler 2018-09-04 07:01:59 +01:00
jesopo
d90a5164da Nope, revert echo-message support. a certain network only offers it in channel,
not private.
2018-09-03 22:32:48 +01:00
jesopo
1c474771c5 Support IRCv3's echo-message 2018-09-03 22:17:34 +01:00
jesopo
759cd64f33 Keep a list of CAP capabilities in IRCServer 2018-09-03 22:17:01 +01:00
jesopo
94945da9be Support IRCv3's away-notify 2018-09-03 21:58:26 +01:00
jesopo
b7637d42bf server -> event["server"] 2018-09-03 21:58:14 +01:00
jesopo
ad775239b2 Send message-tags through PRIVMSG, NOTICE and !commands 2018-09-03 21:49:22 +01:00
jesopo
5963308bdc Support TAGMSG in IRCLineHandler 2018-09-03 21:47:59 +01:00
jesopo
c0130a34eb IRCv3 message tag value should not be an array 2018-09-03 20:04:58 +01:00
jesopo
36904af986 tag_split, not tag 2018-09-03 12:45:27 +01:00
jesopo
4368c69035 Handle empty tag sections, e.g. "@;tag=value" 2018-09-03 12:42:50 +01:00
jesopo
bbcc86dc24 Support ircv3's extended-join 2018-09-03 12:37:07 +01:00
jesopo
dea6fbce0f Support account-tag and account-notify 2018-09-03 12:31:00 +01:00
jesopo
6d8ac4d10a typo! targer -> target 2018-09-03 12:16:27 +01:00
jesopo
9d95581c44 Support IRCv3's chghost and invite-notify 2018-09-03 11:47:11 +01:00
jesopo
0f578b1ec1 Send CAP END when we're not waiting for any capability handshakes 2018-09-03 11:18:20 +01:00
jesopo
29851d4305 Make CAP functionality more part of the framework and support message-tags and
multi-prefix
2018-09-03 11:14:52 +01:00
jesopo
3f79154e2b received.mode -> received.mode.channel (and bugfixes!) 2018-09-02 22:40:41 +01:00
jesopo
da1e87e335 Some networks don't prefix channel names in INVITE messages 2018-08-31 13:20:35 +01:00
jesopo
9874f79b49 Give modules event objects with "context"s, to facilitate purging all the event
hooks for a module
2018-08-31 12:55:52 +01:00
jesopo
a31ee247aa Fix a copy paste fail in IRCLineHandler that caused PARTs to be handled as QUITs 2018-08-31 10:33:53 +01:00
jesopo
b216ed081b Add missing ":" in IRCLineHandler.LineHandler.mode() 2018-08-30 11:15:18 +01:00
jesopo
bfca9bc207 default events on IRCLineHandler should use original_line, not line 2018-08-30 11:13:05 +01:00
jesopo
9b7c7035f9 Refactor handling MODE in IRCLineHandler 2018-08-30 11:12:48 +01:00
jesopo
669aa32c31 Report actual topic setter (use 333, not 332) 2018-08-29 15:17:06 +01:00