Commit Graph

117 Commits

Author SHA1 Message Date
jesopo cf2e69a9e2 asyncio.wait(..) now requires Tasks 2023-07-06 00:56:45 +00:00
jesopo 5b347f95c9 combine params.tls and .tls_verify, support pinned certs 2022-01-24 09:53:32 +00:00
jesopo 80b941fa53 handle ERR_UNAVAILRESOURCE for prereg NICK failure too 2022-01-16 15:24:22 +00:00
jesopo c7604686a2 channel_user.modes is now a set 2021-09-11 15:42:47 +00:00
jesopo 64935c7a8d react to pre-reg ERR_ERRONEUSNICKNAME the same as ERR_NICKNAMEINUSE 2021-09-11 15:40:18 +00:00
jesopo dd41b0dbde parse tokens in wait_for - waity things expect state change 2021-05-22 08:43:11 +00:00
jesopo 6fddfb7fe9 reset ping_sent in wait_for too 2021-05-12 12:34:06 +00:00
jesopo bdfb91b51d invert ping check 2021-05-12 11:52:33 +00:00
jesopo 3574868458 reset ping timer when we read a line 2021-05-12 11:24:54 +00:00
jesopo 6a05370a12 simplify wait_for 2021-05-12 10:52:39 +00:00
jesopo fc0e8470cc change pre-001 throttle to 100 lines in 1 second 2021-03-26 12:35:02 +00:00
jesopo d0e0314169 _check_regain wants a string list, not a string 2020-12-20 00:42:18 +00:00
jesopo a15e2bd1fb "001" literal -> RPL_WELCOME 2020-12-20 00:40:31 +00:00
jesopo 7a59ece687 try to regain nick on servers that have WATCH or MONITOR 2020-12-20 00:40:11 +00:00
jesopo 805b247375 successful pre-reg NICK has no ack, so we can't await a result 2020-10-10 22:56:45 +00:00
jesopo 70476c9fc9 _pending_who.pop() -> _pending_who.popleft(), or we WHO the same chan 2020-09-30 11:11:06 +00:00
jesopo 8495838541 sent_ping wasn't be used for some reason 2020-09-30 11:03:17 +00:00
jesopo bfdae87b36 handle ERR_NICKNAMEINUSE pre-registration (add alt-nicknames param) 2020-09-30 10:06:47 +00:00
jesopo 99254abc9c also query MODE +beIq on JOIN, don't hold the thread for ENDOFWHO 2020-09-29 12:14:15 +00:00
jesopo cdad0895e1 add very basic autojoin support 2020-09-25 18:03:02 +00:00
jesopo a264e4e347 scrap deferred wait_for, actually catch server disconnection 2020-09-24 19:43:03 +00:00
jesopo 6d2cf3f465 rename wait_for()'s timeout param, actually use it 2020-08-09 21:04:49 +00:00
jesopo 28faec42fa update ircstates to v0.11.1, manually parse_tokens() 2020-08-07 15:00:02 +00:00
jesopo b3a667fc71 ChannelUser objects take Names now 2020-07-01 17:52:44 +01:00
jesopo 0fc66f7f7b add a timeout (wtimeout) param to wait_for 2020-06-23 22:23:52 +01:00
jesopo a08f53b7f7 ping timeout giveup shouldn't hit `continue` too 2020-06-23 10:36:06 +01:00
jesopo a102230495 python3.7 asyncio.Task has no .get_name() 2020-06-21 16:53:05 +01:00
jesopo 883f09e31c switch _next_lines and _read_lines to generators. taskgroup wait_fors! 2020-06-21 16:47:53 +01:00
jesopo 75c12d83e8 put a 20 second timeout on wait_for calls 2020-06-15 11:13:52 +01:00
jesopo 67e6064b67 move serialised who mechanism in to Server. dont rely on exclusive wait_for 2020-06-14 18:36:37 +01:00
jesopo 383d3acc8d don't leave old _wait_for_futs lying around 2020-06-13 00:28:27 +01:00
jesopo b9a543031a simplify reading lines, simplify wait_for, wait_for from outside reads 2020-06-13 00:21:39 +01:00
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