jesopo
|
ed99d66163
|
Don't add a space after a formatted tagmsg in _tag_str (src/IRCServer.py)
|
2019-02-14 21:59:26 +00:00 |
|
jesopo
|
3efe97f6bb
|
copypaste fail, server -> event["server"] (message_tacking.py)
|
2019-02-14 21:59:00 +00:00 |
|
jesopo
|
52387900bc
|
Support draft/delivered and draft/read (message_tracking.py)
|
2019-02-14 21:51:51 +00:00 |
|
jesopo
|
8d97e51bf3
|
Add IRCServer.send_tagmsg, to send TAGMSG commands
|
2019-02-14 21:36:59 +00:00 |
|
jesopo
|
ec3096fb50
|
Put information about USERPASS in sasl/README.md
|
2019-02-14 12:28:36 +00:00 |
|
jesopo
|
d0ad43b027
|
Support a USERPASS sasl mechanism that picks the best user:pass mech (sasl)
|
2019-02-14 11:57:53 +00:00 |
|
jesopo
|
708ba2ddc7
|
Support one-shot event hooks (src/EventManager.py)
|
2019-02-14 10:36:11 +00:00 |
|
jesopo
|
33cacbb904
|
Don't crash when we try to send a message to channel we're not in
(line_handler.py)
|
2019-02-14 08:36:41 +00:00 |
|
jesopo
|
15fc5f7124
|
raise EventError when no results are found, to avoid double stderr write (youtube.py)
|
2019-02-14 01:00:16 +00:00 |
|
jesopo
|
2794d7235b
|
'current_badges' -> 'badges' (badges.py)
|
2019-02-13 16:33:28 +00:00 |
|
jesopo
|
b5b0464873
|
Typo, 'recieved' -> 'received' (badges.py)
|
2019-02-13 16:32:31 +00:00 |
|
jesopo
|
3834b246d6
|
Add !clearbadges (badges.py)
|
2019-02-13 16:31:32 +00:00 |
|
jesopo
|
1136162057
|
Fix 'Optional[str]!=str' type hinting issue in utils.irc line parsing
|
2019-02-13 11:00:22 +00:00 |
|
jesopo
|
acbe02baa6
|
Support IRCv3 draft/setname proposal (#361) (line_handler.py)
|
2019-02-13 10:59:37 +00:00 |
|
jesopo
|
5b561b51f4
|
Fix completely broken chghost code. What on god's earth was I thinking.
|
2019-02-13 10:56:52 +00:00 |
|
jesopo
|
1927c3c8af
|
Catch and propagate IRCv3's FAIL command (#357) (line_handler.py)
|
2019-02-13 10:39:10 +00:00 |
|
jesopo
|
460d56eb74
|
Never allow use of MD2 (sasl.scram)
|
2019-02-12 23:52:09 +00:00 |
|
jesopo
|
ac958384fe
|
SCRAM doesn't need constant_time_compare, nonces prevent replay (scram.py)
|
2019-02-12 23:47:24 +00:00 |
|
jesopo
|
62d2449958
|
MONITOR actually catches NICK changes (nick_regain.py)
|
2019-02-12 21:01:28 +00:00 |
|
jesopo
|
ef43c9aeef
|
Also use ISON even if MONITOR is supported - to catch NICK changes
(nick_regain.py)
|
2019-02-12 20:59:11 +00:00 |
|
jesopo
|
f2a7acfe4d
|
Use RPL_ENDOFMOTD or ERR_NOMOTD to denote end-of-registration and a time to
check if we got MONITOR in 005 at any point (nick_regain.py)
|
2019-02-12 20:48:52 +00:00 |
|
jesopo
|
554b041822
|
Remove debug print (nick_regain.py)
|
2019-02-12 20:43:50 +00:00 |
|
jesopo
|
3fc2fec324
|
Add nick_regain.py, to watch for the bot's desired nick becoming free
|
2019-02-12 20:42:26 +00:00 |
|
jesopo
|
e1de8cd9be
|
We were just checking if arbitrary was falsey, thus losing empty trailing args
(' :' with nothing after it) (utils.irc)
|
2019-02-12 20:42:09 +00:00 |
|
jesopo
|
1f1a19b5b6
|
set nick to '<nickname>|' when we get a nickname-in-use error (line_handler.py)
|
2019-02-12 20:40:40 +00:00 |
|
jesopo
|
2e925a6853
|
user is null when we sent a NOTICE non-echo-message (line_handler.py)
|
2019-02-12 17:07:39 +00:00 |
|
jesopo
|
44df8240cc
|
user is null when we're sending a message non-echo-mesasge (line_handler.py)
|
2019-02-12 17:04:55 +00:00 |
|
jesopo
|
e573f9de51
|
We can *receive* PRIVMSG/NOTICE without a prefix (line_handler.py)
|
2019-02-12 17:02:12 +00:00 |
|
jesopo
|
21b2e0bbe7
|
Typo, 'datetme' -> 'datetime' (ctcp.py)
|
2019-02-12 16:55:56 +00:00 |
|
jesopo
|
0e1535a88d
|
Definte channel before trying to use it for event hook constuction
(line_handler.py)
|
2019-02-12 16:50:11 +00:00 |
|
jesopo
|
938495fc3a
|
Refactor how CTCPs are sent through events
|
2019-02-12 16:49:57 +00:00 |
|
jesopo
|
b4092a14ca
|
Also strip \x01 off the start of CTCP commands, if it's there (utils.irc)
|
2019-02-12 16:49:24 +00:00 |
|
jesopo
|
b2d942027e
|
Implement IRCv3 echo-message (line_handler.py)
|
2019-02-12 16:12:15 +00:00 |
|
jesopo
|
e1c81efa6f
|
Add a way to blacklist CAPs per-network (line_handler.py)
|
2019-02-12 15:34:50 +00:00 |
|
jesopo
|
7e4c1cadb1
|
Add !cointoss to random_number.py
|
2019-02-12 15:23:02 +00:00 |
|
jesopo
|
86bc49a0a1
|
Only put a ":" on trailing args when it's required
|
2019-02-12 13:55:57 +00:00 |
|
jesopo
|
01a7c05687
|
Change arg types of constant_time_compare to typing.AnyStr (utils.security)
|
2019-02-12 11:59:55 +00:00 |
|
jesopo
|
ce23442f4b
|
Use constant-time compare in permissions.py for password identifying
|
2019-02-12 11:59:47 +00:00 |
|
jesopo
|
9667b8a6e0
|
Move constant-time compare function to utils.security
|
2019-02-12 11:57:49 +00:00 |
|
jesopo
|
305b998a52
|
Use hmac.compare_digest to do a constant-time compare (sasl.scram)
|
2019-02-12 11:50:37 +00:00 |
|
jesopo
|
144182868c
|
Upgrade resume.py to draft/resume-0.3 and support sending last-read timestamp
|
2019-02-12 11:14:36 +00:00 |
|
jesopo
|
8c9626f0a9
|
Put an strf format for ISO8601 in utils
|
2019-02-12 11:08:24 +00:00 |
|
jesopo
|
98b82c7f2c
|
Insert label tag to lines in labeled BATCHes (line_handler.py)
|
2019-02-11 22:19:20 +00:00 |
|
jesopo
|
2f5a232c4e
|
Hold on to tags and type for BATCHes
|
2019-02-11 22:15:12 +00:00 |
|
jesopo
|
b37a50ed7a
|
IRCServer should handle ping_sent, not IRCSocket
|
2019-02-11 21:23:52 +00:00 |
|
jesopo
|
a8d9365442
|
last_read/last_send is now handled by IRCSocket.py
|
2019-02-11 20:49:53 +00:00 |
|
jesopo
|
6c6f1f9c2b
|
socket.getpeername() can return more than 2 values (IRCSocket)
|
2019-02-11 20:34:15 +00:00 |
|
jesopo
|
137d5b1a58
|
connected status is now tracked by IRCSockets
|
2019-02-11 20:34:02 +00:00 |
|
jesopo
|
b6df18930c
|
bytes_written /bytes_read is now on IRCServer.socket (stats.py)
|
2019-02-11 18:26:16 +00:00 |
|
jesopo
|
48fe6b7391
|
Add IRCSocket.connected_ip to hold on to the IP address we connected to (e.g.
so we know which IP we picked from a round robin DNS)
|
2019-02-11 16:10:23 +00:00 |
|