jesopo
|
9265fd0c48
|
remove py3.6 .travis.yml target - i think we'll be 3.7-or-above
|
2020-04-06 13:33:00 +01:00 |
|
jesopo
|
985e95c37d
|
remove duplicate "Server" in examples/sasl.py
|
2020-04-06 13:28:16 +01:00 |
|
jesopo
|
fb99d97bca
|
add anyio to requirements.txt
|
2020-04-06 13:24:38 +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
|
899d4821f0
|
add asyncs.MaybeAwait() - optionally awaitable coroutines
|
2020-04-05 23:37:54 +01:00 |
|
jesopo
|
72dc3ebd04
|
Bot does not have line_read()/line_send() any more
|
2020-04-05 17:47:02 +01:00 |
|
jesopo
|
84b374f43d
|
FoldString -> ParamFolded
|
2020-04-05 17:40:22 +01:00 |
|
jesopo
|
d837529698
|
next_line() doesn't need wait_for param
|
2020-04-05 17:22:33 +01:00 |
|
jesopo
|
423623fec1
|
add a Response subclass just to take RPL_/ERR_ names along with params
|
2020-04-05 17:16:19 +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
|
afe9ec359d
|
update ircstates to 0.8.2
|
2020-04-05 12:47:19 +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
|
8cc3db5e58
|
ensure server nonce .startswith() our nonce
|
2020-04-03 00:07:48 +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
|
8dde7b7216
|
codestyle in ircv3.py
|
2020-04-02 23:07:09 +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
|
60e601aa81
|
implement SASL SCRAM
|
2020-04-02 22:37:51 +01:00 |
|
jesopo
|
a4f5d8045f
|
add numerics.py to translate names, remove Response(errors=)
|
2020-04-02 20:55:01 +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 |
|
jesopo
|
1b3c537e0a
|
only try SASL on CAP NEW when one of the new CAPs is SASL
|
2020-04-02 18:43:59 +01:00 |
|
jesopo
|
61f1cdba9d
|
don't try SASL twice, try SASL on CAP NEW
|
2020-04-02 18:38:37 +01:00 |
|
jesopo
|
c139879670
|
add a matching Not() type - to invert other criteria
|
2020-04-02 18:38:28 +01:00 |
|
jesopo
|
f7ad037934
|
add .travis.yml
|
2020-04-02 18:18:41 +01:00 |
|
jesopo
|
6c14fed785
|
improve examples/simple.py, add examples/sasl.py
|
2020-04-02 18:17:17 +01:00 |
|
jesopo
|
d310dad471
|
add SALContext().from_params()
|
2020-04-02 18:17:00 +01:00 |
|
jesopo
|
0dd7121469
|
add some useful imports to ircrobots/__init__.py
|
2020-04-02 18:16:29 +01:00 |
|
jesopo
|
03c71f6498
|
remove unneeded imports (thanks importchecker!)
|
2020-04-02 18:00:28 +01:00 |
|
jesopo
|
f43cb75bfa
|
move SASL logic out in to sasl.py.SASLContext
|
2020-04-02 17:56:44 +01:00 |
|
jesopo
|
023107385e
|
add interface for code units that need an IServer context
|
2020-04-02 17:55:50 +01:00 |
|
jesopo
|
b46cecf420
|
move ConnectionParams (and SASLParams) out to params.py
|
2020-04-02 17:55:15 +01:00 |
|
jesopo
|
971f49f4c7
|
move more sasl-related stuff out to sasl.py
|
2020-04-02 17:29:52 +01:00 |
|
jesopo
|
d19e8d1df7
|
don't offer Emit logic in Bot, end-users shouldn't care
|
2020-04-02 17:11:29 +01:00 |
|
jesopo
|
7a1373d9b2
|
add SASL support!
|
2020-04-02 17:04:08 +01:00 |
|
jesopo
|
16e500fd43
|
remove unneeded "from queue import Queue"
|
2020-04-02 17:01:39 +01:00 |
|
jesopo
|
8148fead51
|
add Server.wait_for(), so you can await until getting a matching message
|
2020-04-02 17:00:50 +01:00 |
|
jesopo
|
4f61b89012
|
add objects needed to denote SASL in ConnectionParams
|
2020-04-02 16:59:02 +01:00 |
|