4
0
mirror of https://github.com/jesopo/ircrobots synced 2024-06-23 08:17:07 +00:00
Commit Graph

63 Commits

Author SHA1 Message Date
jesopo
15b97ab3da implement draft/resume-0.5 2020-04-25 19:30:36 +01:00
jesopo
064c786db7 minor codestyling 2020-04-23 15:30:33 +01:00
jesopo
955c284282 object-ify WaitFor future stuff 2020-04-23 15:22:30 +01:00
jesopo
f48aaded5a _line_or_await *after* checking wait_fors so we don't match current line 2020-04-23 14:53:28 +01:00
jesopo
45269a98a9 change wait_for to not spin up nested next_line() loops 2020-04-23 14:42:42 +01:00
jesopo
d51fcf0987 update ircstates, now only one (maybe Optional) Emit 2020-04-22 18:05:23 +01:00
jesopo
89c7ac15dd rename some matching Params, restructure matching 2020-04-21 21:40:46 +01:00
jesopo
a425077c29 put overriddable methods in Server not just IServer 2020-04-21 16:24:18 +01:00
jesopo
5892c9ff45 add Server.send_part() that optionally awaits PART confirmation 2020-04-20 16:53:49 +01:00
jesopo
3208ee738c don't catch and "handle" server disconnect. throw up to bot.py 2020-04-20 12:04:01 +01:00
jesopo
feb71d5b14 STS transmuting doesn't need the context of a server object 2020-04-19 23:19:23 +01:00
jesopo
ae01201d39 support requested disconnects, support STS connection transmutations 2020-04-19 23:04:56 +01:00
jesopo
1bfe06d2ea implement STS policies; we're not parsing them yet though 2020-04-19 21:51:33 +01:00
jesopo
c4019e6242 set future on awaited self.send() after we've processed for session state 2020-04-19 13:11:06 +01:00
jesopo
ebef439e0a grab WHO on JOIN but make sure we only do one at once 2020-04-19 02:19:19 +01:00
jesopo
d15e9ee361 Numeric doesn't exist anymore 2020-04-19 01:32:55 +01:00
jesopo
a48a0dedd9 add missing Responses import on server.py 2020-04-19 00:56:01 +01:00
jesopo
7232876a75 update ircstates to v0.9.0, use const RPL/ERR vars 2020-04-17 21:06:20 +01:00
jesopo
0e2a2bcd00 create a fake echo-message when we have not CAP negotiated echo-message 2020-04-15 21:10:24 +01:00
jesopo
b88fa51907 should be checking self.hostname, not self.hostmask (func pointer!) 2020-04-15 21:10:02 +01:00
jesopo
68054eacd5 support PASS from ConnectionParams 2020-04-13 19:10:02 +01:00
jesopo
8656f63d09 support labeled-response (but don't REQ it yet) 2020-04-13 18:23:05 +01:00
jesopo
bd424d11ff Future[Line], not Awaitable[Line] in self._wait_for 2020-04-13 17:32:39 +01:00
jesopo
cb3439e674 also match wait_fors that were in progress when a new one was triggered 2020-04-13 17:30:14 +01:00
jesopo
7cb2457136 add util functions to join a channel and whois a user 2020-04-12 13:54:27 +01:00
jesopo
d571ad7ff9 self.recv() can return an empty array 2020-04-12 13:53:39 +01:00
jesopo
a546a468b7 remove premature import for future work 2020-04-09 11:12:02 +01:00
jesopo
85ee8e95e0 WHO ourselves on 001 to get our realname 2020-04-09 11:09:44 +01:00
jesopo
9f832df2f1 allow Numerics() with params use NUMERICS list from ircstates 2020-04-09 11:09:15 +01:00
jesopo
179a2ca93a refactor TCP logic in to ITCPTransport (we can mock this for unittests) 2020-04-06 13:22:17 +01:00
jesopo
750fbd8acc comment about why server CAP/USER/NICK send() calls are not awaited 2020-04-05 23:57:02 +01:00
jesopo
730fef38f3 server.send() should be sync and return a Future - no nead for double await 2020-04-05 23:54:57 +01:00
jesopo
d837529698 next_line() doesn't need wait_for param 2020-04-05 17:22:33 +01:00
jesopo
0829fd9499 refactor and simplify normal reading vs wait_for 2020-04-05 17:11:04 +01:00
jesopo
b8ddc6883d oops; add missing return statement from server.send 2020-04-05 13:19:19 +01:00
jesopo
1c7caf9039 use Server.registerd to detect handshake CAP LS; handle non-handshake CAP LS 2020-04-05 13:18:23 +01:00
jesopo
2a9d658207 return Future from async send() to *optionally* wait for it to hit the wire 2020-04-05 13:17:53 +01:00
jesopo
e470d57780 pass IServer to Response so we can have FoldString (match with casefold rules) 2020-04-05 13:00:13 +01:00
jesopo
f70932ac44 move more CAP related stuff to CAPContext 2020-04-05 12:48:29 +01:00
jesopo
404154e6a2 add __repr__ for matching.py objects 2020-04-03 13:05:38 +01:00
jesopo
688418df04 dont tg.spawn() for each message, allow wait_for to read 2020-04-03 13:04:02 +01:00
jesopo
45ac3be550 ssl/ssl_verify -> tls/tls_verify 2020-04-03 09:50:30 +01:00
jesopo
2d93e27feb maybe_sasl() -> sasl_auth(SASLParms) 2020-04-03 09:49:46 +01:00
jesopo
99d55de170 fix JOIN emit typehint issue (emit.channel may be None) 2020-04-02 23:53:47 +01:00
jesopo
b34e4fcc22 await server.send() should block until it hits the wire 2020-04-02 23:53:32 +01:00
jesopo
5b4714ca1e query channel MODEs on-JOIN 2020-04-02 22:57:22 +01:00
jesopo
63fa470a3f add ConnectionParams.ssl_verify 2020-04-02 22:43:34 +01:00
jesopo
331cadfb39 use ConnectionParams.bindhost 2020-04-02 22:39:03 +01:00
jesopo
94c501d4de do CAP LS 302 (not just CAP LS) 2020-04-02 22:38:02 +01:00
jesopo
06a4d20fc8 make handshake CAP dance happen in one async task. move to ircv3.py 2020-04-02 20:16:07 +01:00