Commit graph

44 commits

Author SHA1 Message Date
jesopo
8bbdcc6d4e Send WHO on self mode change, to catch any important changes to our user
information that mode changes can cause (e.g. hostname change)
2018-11-27 13:16:43 +00:00
jesopo
08b4d94695 Fix missing spaces in some event calls in line_handler.py 2018-11-27 13:16:19 +00:00
jesopo
d010ca5c79 Use WHO/WHOX to also keep track of our own username/hostname 2018-11-27 12:14:03 +00:00
jesopo
5d813175a1 Don't enable write throttling until we get 005 2018-11-19 10:12:52 +00:00
jesopo
ba68f33999 This elif should have actually been one even indented! 2018-11-14 22:18:54 +00:00
jesopo
21b757dbb0 IRCBuffer.add_notice doesn't have an action param 2018-11-14 22:16:39 +00:00
jesopo
ac87104151 Remove a ") i should have removed before 2018-11-14 22:14:12 +00:00
jesopo
c7f32a4066 only do server-notice checking if we have a "prefix" in event, even if it's None 2018-11-14 22:12:46 +00:00
jesopo
957b881dbd if is_channel should be if channel, buffer.add_notice doesn't take an
`action` param and `elif` can't go after `else`!
2018-11-14 22:07:01 +00:00
jesopo
378f4b1f93 Better parsing of CTCP messages, support raw.send.privmsg/raw.send.notice in
modules/line_handler.py
2018-11-14 21:28:27 +00:00
jesopo
ed838193aa Better support passing "send" events through the parsers already present in
modules/line_handler.py
2018-11-14 14:41:28 +00:00
jesopo
775177a7ff Add 375 data to server.motd_lines 2018-11-14 08:22:21 +00:00
jesopo
555e8faa03 Print MOTD in modules/print_activity.py (after caching it in
modules/line_handler.py)
2018-11-13 14:59:47 +00:00
jesopo
439994464f The target channel of an /INVITE is the second argument! 2018-11-12 22:37:01 +00:00
jesopo
d4bb690e83 Remove no-longer-used Regexes in modules/line_handler.py 2018-11-12 12:48:41 +00:00
jesopo
6bb03c4519 Don't implicitly create channels, explicitly create channels when we join one 2018-11-11 13:03:54 +00:00
jesopo
c50622c1a4 Typo in modules/line_handler.py, 'getl' -> 'get' 2018-11-11 12:50:12 +00:00
jesopo
2816fe67bb Move channel tracking data/functions to src/IRCChannel.Channels 2018-11-11 12:34:22 +00:00
jesopo
4bab1aea30 Add a way to more explicitly denote when a CAP handshake has ended early 2018-11-09 10:43:05 +00:00
jesopo
2e43c9f3cf Add a way to halt CAP before it hits CAP END 2018-11-08 17:08:46 +00:00
jesopo
88cb327d02 Only send 'PROTOCTL NAMESX' when we're not already got IRCv3's multi-prefix CAP
active
2018-11-08 14:30:50 +00:00
jesopo
26a16a7762 Keep a dict of isupport key:values on IRCServer.Server 2018-11-08 12:34:30 +00:00
jesopo
4d272a3fa4 Refactor handling ISUPPORT and support hex escapes therein 2018-11-08 11:13:19 +00:00
jesopo
8930d04567 server should be passed in received.rename in modules/line_handler.py 2018-11-05 21:38:39 +00:00
jesopo
4936b91273 Support JSON messages tags, as per IRCv'3 message-tags-0.3 #318 pull request 2018-11-05 15:15:08 +00:00
jesopo
9c233cd4dd Add src.utils.parse.keyvalue, mostly for IRCv3 CAP negotiation 2018-11-05 11:56:28 +00:00
jesopo
5963580cb8 Fix a crash in modules/line_handler.py; QUIT can have an empty reason! 2018-11-05 10:03:31 +00:00
jesopo
58363895f1 Change line parsing to put arbitrary-length args on the end of
`args` so we can get rid of `last`/`arbitrary` and add IRCArgs (with .get())
to help only getting an arg index if it exists
2018-11-04 15:37:06 +00:00
jesopo
6d742f6a74 Implement IRCv3's draft/rename 2018-11-04 14:48:55 +00:00
jesopo
b58a3f7329 Update modules/line_handler.py to now not pass a server param to
utils.irc.parse_line
2018-10-30 17:55:05 +00:00
jesopo
e07553c362 Add type/return hints throughout src/ and, in doing so, fix some cyclical
references.
2018-10-30 14:58:48 +00:00
jesopo
743b3bc754 event["args"] is an array already, args_split does not exist. Also send raw
events from src/IRCServer.py as call_unsafe to make errors like that more
apparent.
2018-10-15 14:29:16 +01:00
jesopo
131ae4b40d Correctly check if someone's logged in to an account with extended-join 2018-10-15 14:16:11 +01:00
jesopo
4296d1ee8e raw.* events should be call_unsafe 2018-10-06 09:30:40 +01:00
jesopo
98207be7b1 'mode_prefixes' -> prefix_modes and prefix_symbols 2018-10-03 16:44:00 +01:00
jesopo
69d58eede2 Move src/Utils.py in to src/utils/, splitting functionality out in to modules of
related functionality
2018-10-03 13:22:37 +01:00
jesopo
489d508997 Fix BATCH parsing 2018-10-03 11:32:20 +01:00
jesopo
2b349105aa Move parsing IRC lines to src/Utils.py, added base support for parsing outgoing
messages
2018-10-03 11:31:51 +01:00
jesopo
9118af5e9c Support changing command responses from PRIVMSG to NOTICE 2018-10-02 21:40:34 +01:00
jesopo
e27c0e0a0c Simplify modules/line_handler.handle 2018-10-02 17:47:45 +01:00
jesopo
976b6ae335 Better support for msgtags with PRIVMSGs; put functionality in to
modules/commands.py to reply to specific messages by use of msgids
2018-10-01 17:26:31 +01:00
jesopo
ee96b3310b Some networks send NICK as 'nick!user@host NICK newnick` instead of
'nick!user@host NICK :newnick' (which is RFC compliant but BitBot didn't support
it)
2018-10-01 16:13:08 +01:00
jesopo
300eadf9b6 Change modules/line_handler.py to use @Utils.hook 2018-10-01 13:47:45 +01:00
jesopo
c87728a87d Move src/IRCLineHandler.py to modules/line_handler.py 2018-09-30 19:43:20 +01:00
Renamed from src/IRCLineHandler.py (Browse further)