Commit Graph

179 Commits

Author SHA1 Message Date
jesopo cf2e69a9e2 asyncio.wait(..) now requires Tasks 2023-07-06 00:56:45 +00:00
jesopo 81fa77cf29 missed some TLS_ uses 2023-07-06 00:44:13 +00:00
jesopo b04a0e0136 python no longer likes having mutables in non-default_factory 2023-07-06 00:35:13 +00:00
jesopo 9a2f2156fe support specifying tls client keypair 2023-02-06 19:42:27 +00:00
alicetries 0435404ec3 Small tweak to how repr() of Formatless() displays 2022-03-28 23:43:27 +01:00
jesopo 5b347f95c9 combine params.tls and .tls_verify, support pinned certs 2022-01-24 09:53:32 +00:00
jesopo 8245a411c0 hmm no this isnt how you ask for cert validation apparently 2022-01-20 21:24:54 +00:00
jesopo 80b941fa53 handle ERR_UNAVAILRESOURCE for prereg NICK failure too 2022-01-16 15:24:22 +00:00
jesopo 9ba5b2b90f add `transport` (ITCPTransport) param to bot.add_server 2021-12-18 16:48:01 +00:00
jesopo 05750f00d9 make sure 'tls' is defined 2021-12-09 23:49:40 +00:00
jesopo 6c91ebc7ec add ConnectionParams.from_hoststring("nick", "host:+port") 2021-11-29 16:09:26 +00:00
jesopo 7b6a845927 don't infinitely loop SASLUserPass attempts on FAIL or ABORT 2021-09-19 21:34:57 +00:00
jesopo ab65e39ab9 handle ERR_SASLABORTED 2021-09-18 17:34:52 +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 ab17645d83 catch reconnection failures, do exponential backoff 2021-06-26 15:08:48 +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 4152f4d281 _collapse(s) was moved to collapse(s) 2020-07-01 17:52:29 +01:00
jesopo 839debff93 glob._collapse -> glob.collapse 2020-06-29 10:30:59 +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 d85f359293 SHA-1 scram name should be SHA1 (and fix typo in error rethrow) 2020-06-14 18:37:11 +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 c4df2e2175 replace List with Sequence in matching/responses.py 2020-06-12 14:22:39 +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