Commit graph

3409 commits

Author SHA1 Message Date
jesopo
ce3b319bee Only automatically reconnect to a server when we don't already have a server
with the same ID (to make reconnection work)
2018-11-05 20:33:45 +00:00
jesopo
3cb9baeec3 Cache a server fileno from connect onwards, like we used to 2018-11-05 20:33:30 +00:00
jesopo
e2c806ffe4 Typo in IRCServer, 'nicknamme' -> 'nickname' 2018-11-05 20:18:22 +00:00
jesopo
9571c3f9fa Update IRCServer.__repr__ to use connection_params 2018-11-05 20:18:06 +00:00
jesopo
afce01d0f8 Fall back to nickname for username/realname, as it used to be 2018-11-05 20:08:55 +00:00
jesopo
f0f2701386 Do an instant reconnect for !reconnect in modules/admin.py 2018-11-05 20:03:45 +00:00
jesopo
8b1e1fbb2e Clarify typing of .nickname/.nickname_lower/.name in IRCUser 2018-11-05 18:37:15 +00:00
jesopo
d63115440d Fix the order of some connection params, add alias as a seperate argument to
IRCServer.Server
2018-11-05 18:30:39 +00:00
jesopo
6b8593a09b Pass connection parameters around in their own object (IRCConnectionParameters) 2018-11-05 18:23:02 +00:00
jesopo
e26df7556a Check that a server's STS policy has a duration before doing
rescheduling-on-disconnect
2018-11-05 18:21:43 +00:00
jesopo
d92fc7f6b8 Add missing import of json in utils.irc 2018-11-05 17:44:21 +00:00
jesopo
0676b7b0db Call Database.channels.rename in IRCServer.Server.rename_channel 2018-11-05 16:47:47 +00:00
jesopo
055390e220 Add Database.channels.rename, as part of support for IRCv3's RENAME 2018-11-05 16:46:24 +00:00
jesopo
7c3a8e7444 Prettyprint channel RENAMEs 2018-11-05 16:42:33 +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
90a72eb24d TRACE log when we set an STS policy 2018-11-05 14:57:34 +00:00
jesopo
edbacce1fc Support draft/sts as well as sts 2018-11-05 14:52:25 +00:00
jesopo
5b2c979649 "Applying STS policy" should be TRACE, not DEBUG 2018-11-05 14:16:14 +00:00
jesopo
7408bfc9d3 Add missing ")" in modules/sts.py 2018-11-05 14:13:27 +00:00
jesopo
9b6e3c96ed Add missing "," in modules/sts.py 2018-11-05 14:12:59 +00:00
jesopo
aaf0c8cf2a Reschedule STS expiration on disconnect 2018-11-05 14:12:21 +00:00
jesopo
3fa16fe678 Explicitly *remove* STS policy when we get a duration of 0 2018-11-05 13:26:11 +00:00
jesopo
5fa442c8a5 info does not exist in on_cap_new context in modules/sts.py 2018-11-05 13:25:51 +00:00
jesopo
061a4ede23 One-shot STS policies should still be cleared if a reconnect fails 2018-11-05 13:14:00 +00:00
jesopo
5981bfa04c Made STS policies one-shot when upgrading from plaintext to tls 2018-11-05 13:03:45 +00:00
jesopo
19864a7e13 duration does not exist in the context of _change_duration 2018-11-05 12:59:40 +00:00
jesopo
c3a2ffc48d Add support for IRCv3's STS 2018-11-05 12:39:02 +00:00
jesopo
6ca8017966 Give Logging.Log object to modules 2018-11-05 12:38:40 +00:00
jesopo
10130d7288 I forgot the "normal" event hook syntax! 2018-11-05 12:34:18 +00:00
jesopo
86bbd370fb 'self.events' -> 'self._events' in IRCBot 2018-11-05 12:29:13 +00:00
jesopo
c3f654673a Cache socket fileno in IRCServer.Server just before disconnecting 2018-11-05 12:27:30 +00:00
jesopo
fa3fc7e3fb @utils.hook doesn't work outside of modules! 2018-11-05 12:27:11 +00:00
jesopo
fcedc434f2 it should be self.bindhost, now that we've moved the logic to .connect() instead
of __init__
2018-11-05 12:18:30 +00:00
jesopo
1065bba3ef Typo in src/IRCServer.py; 'self.AF_INET' -> 'socket.AF_INET' 2018-11-05 12:16:30 +00:00
jesopo
7baab0f7d7 Update modules/scripts.py to use utils.parse.hashflags instead of
utils.get_hashflags
2018-11-05 12:15:54 +00:00
jesopo
7cc6b559be Clarify items and var_items typing in src.utils.parse 2018-11-05 11:56:52 +00:00
jesopo
9c233cd4dd Add src.utils.parse.keyvalue, mostly for IRCv3 CAP negotiation 2018-11-05 11:56:28 +00:00
jesopo
c2ebc7b5e4 Refactor IRCServer .connect() logic 2018-11-05 11:53:33 +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
66ee3ce5f1 Add __repr__ to utils.irc.IRCArgs 2018-11-05 10:03:20 +00:00
jesopo
c1e9825a33 Don't set args to a split of the data left over when parsing out a command if
there's not a space after the command
2018-11-04 17:23:34 +00:00
jesopo
1610cfb499 Implement utils.irc.IRCArgs.__len__ 2018-11-04 17:06:50 +00:00
jesopo
b8e3cdb075 Fix typo in utils.irc, 'self_args' -> 'self._args' 2018-11-04 17:04:16 +00:00
jesopo
52aa8a51a6 Move definition of IRCArgs above IRCLine 2018-11-04 17:03:01 +00:00
jesopo
e1d261bda0 Fix typo in utils.irc 2018-11-04 17:01:50 +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
9fe7815c17 utils.irc.color should take int for foreground/background, not str 2018-11-02 13:14:42 +00:00
jesopo
9b2040e280 Show wallet balances in a human format (with ","s) 2018-11-02 13:09:09 +00:00
jesopo
44f3e241d2 Don't let users bet 0 coins 2018-11-02 13:07:46 +00:00