jesopo
|
db851e0ba2
|
whois.idle is an int, change whois.channels to ChannelUser objects (modes!)
|
2020-06-12 14:23:04 +01:00 |
jesopo
|
8f552a7d6f
|
update ircstates to v0.9.18, catch ERR_NOSUCHSERVER (remote whois)
|
2020-06-07 20:46:05 +01:00 |
jesopo
|
544d5de023
|
again, ERR_NOSUCHUSER -> ERR_NOSUCHNICK
|
2020-06-07 20:31:07 +01:00 |
jesopo
|
2245ba23a2
|
ERR_NOSUCHUSER -> ERR_NOSUCHNICK
|
2020-06-07 19:41:26 +01:00 |
jesopo
|
06afec2738
|
WHOIS should have nick, user/host/real are required, handle NOSUCHUSER
|
2020-06-07 17:46:38 +01:00 |
jesopo
|
97c4a616c9
|
`channels` needs to be a list and needs enumerate()
|
2020-06-01 11:04:22 +01:00 |
jesopo
|
33bcba8001
|
add basic code for using labeled-responses as wait_for matches
|
2020-05-24 01:05:51 +01:00 |
jesopo
|
fae9acb288
|
parse out RPL_WHOISCHANNELS when available (send_whois())
|
2020-05-01 15:30:10 +01:00 |
jesopo
|
bc70afe04b
|
move setting wait_for_fut result to WaitFor await in case it isn't awaited
|
2020-04-30 11:22:47 +01:00 |
jesopo
|
e4af62a30c
|
make wait_reads a deque instead of a list
|
2020-04-29 14:52:22 +01:00 |
jesopo
|
8f0a3045c5
|
self._wait_for is no longer used
|
2020-04-29 14:31:41 +01:00 |
jesopo
|
6d4222b4c1
|
minor refactor of how we call _next_line()
|
2020-04-29 12:23:11 +01:00 |
jesopo
|
51cfd0f36b
|
rewrite how wait_for works - only one at a time now
|
2020-04-29 12:13:06 +01:00 |
jesopo
|
04354c7d36
|
add send_message() - optionally await echo
|
2020-04-28 01:41:20 +01:00 |
jesopo
|
9d4572edcc
|
handle failure in send_joins()
|
2020-04-28 01:41:05 +01:00 |
jesopo
|
20290807d9
|
Self -> MaskSelf, add Self for param
|
2020-04-28 01:40:13 +01:00 |
jesopo
|
6b2b3d71c8
|
add send_nick() - optionally await success
|
2020-04-28 00:35:32 +01:00 |
jesopo
|
22b549708d
|
add matching Hostmask type for Self, Nickname->Nick
|
2020-04-27 23:27:24 +01:00 |
jesopo
|
0921cb8086
|
allow ResponseOr to be shorthanded as a Set[IMatchResponse]
|
2020-04-27 01:28:46 +01:00 |
jesopo
|
e26190c283
|
rectify TimeoutError namespace
|
2020-04-26 15:17:08 +01:00 |
jesopo
|
60dfda48e0
|
ping_sent doesn't have to be global
|
2020-04-26 15:14:13 +01:00 |
jesopo
|
ba57d06a56
|
implement client-to-server read timeout PINGs
|
2020-04-26 15:07:05 +01:00 |
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 |