Commit Graph

73 Commits

Author SHA1 Message Date
jesopo ea9c0c2d1f str.maketrans is a much faster casefold; make casemaps an Enum 2022-01-07 18:59:37 +00:00
jesopo e5a7871fd9 record when we first saw a user in a channel and optionally when they JOINed 2021-09-06 03:10:25 +00:00
jesopo 8c16b73414 test topic_setter and topic_time in TOPIC test too 2021-09-06 02:51:34 +00:00
jesopo 806c6e4bf3 combine ChannelTestTopic.test_text and test_set_by_at 2021-09-06 02:50:22 +00:00
jesopo d865ea3253 server.modes and channel_user.modes should be sets 2021-08-16 20:21:09 +00:00
jesopo ddcacabfda parse NICKLEN from ISUPPORT 2021-04-10 13:47:44 +00:00
jesopo cb8aa4495a implement \xHH (hex) escapes in ISUPPORT token values 2021-02-28 15:27:22 +00:00
jesopo 4d14d67d4b support RENAME
closes #4
2021-02-16 22:10:10 +00:00
jesopo 566b8ec8cd unknown account status is None, known not-logged-in is empty string 2021-01-08 16:50:55 +00:00
jesopo 5a85e53485 channel.list_modes should always have keys, even if empty
closes #1
2020-09-29 11:55:15 +00:00
jesopo e062b7b71f +kli are not list modes 2020-09-29 11:54:50 +00:00
jesopo c841d1d6dd some test numerics were missing args 2020-09-29 11:44:45 +00:00
jesopo 07ed0bf13c WHOX IP must parse correctly (and we'll compress them) 2020-09-29 11:02:07 +00:00
jesopo ca9abfc34b fix tests for casefolding now that we've swapped ^ and ~ 2020-08-17 17:00:37 +00:00
jesopo 2c1468295e simplify parsing channel MODE & RPL_CHANNELMODEIS 2020-08-03 21:03:45 +00:00
jesopo 8a31f0190d save numeric ip result from WHOX 2020-07-12 23:16:33 +01:00
jesopo 2fb81e7aef parse out RPL_BANLIST and RPL_QUIETLIST 2020-07-11 15:36:21 +01:00
jesopo 9806a6407b pull server from WHO and WHOX 2020-07-09 11:04:44 +01:00
jesopo 01d8b8d111 remove probably copy-pasted CHGHOST from UserTestWHOIS 2020-07-08 23:42:23 +01:00
jesopo 50a63ce12c parse out RPL_AWAY 2020-07-07 14:27:40 +01:00
jesopo 74490f616a pull away state out of WHO/WHOX 2020-07-06 20:53:09 +01:00
jesopo ea421f09af pass around nickname/channelname as Name objects, give to ChannelUser 2020-06-21 18:43:55 +01:00
jesopo fdcf216255 rename isupport.chanmodes groups 2020-06-21 00:08:43 +01:00
jesopo 40839c1755 change how channel mode emit.tokens works ("+b" -> "+b mask") 2020-06-14 19:47:52 +01:00
jesopo e7d14e6f67 add user.hostmask():str and user.userhost():Optional[str] 2020-06-03 21:30:05 +01:00
jesopo 56d047de8d switch datetimes to pendulum because stdlib doesnt handle timezones well 2020-05-07 08:38:24 +10:00
jesopo 271cadf666 use utcfromtimestamp for unit test datetimes. timezones are hard 2020-05-05 22:45:34 +01:00
jesopo d0a3aed19f support RPL_LOGGEDIN and RPL_LOGGEDOUT (with tests) 2020-04-29 14:48:03 +01:00
jesopo 31ab106e25 only return 1 emit (or None) 2020-04-22 17:58:28 +01:00
jesopo db9c6d48d1 user.channels is now Set[str], CUser has no .user/.channel now 2020-04-21 20:35:17 +01:00
jesopo 79ee3d8874 rename channel users on NICK 2020-04-21 15:36:06 +01:00
jesopo 959b288b3c store channel membership on Channel and User objects, change tests 2020-04-21 14:28:04 +01:00
jesopo 985d800982 add test case for WHOX without account 2020-04-20 13:54:20 +01:00
jesopo 0d9f8dd268 add WHOX support, add tests for WHO and WHOX 2020-04-19 02:12:04 +01:00
jesopo f705f20e94 add unit tests for MODE emits 2020-04-10 16:05:25 +01:00
jesopo 5f62d22076 update tests for 211/221 typo 2020-04-08 17:20:05 +01:00
jesopo 048ae4252e make CAP tokens without "=value" be key:"", avoiding None checks 2020-04-02 17:17:09 +01:00
jesopo c7b4eb7a32 server.caps->server.available_caps (now {} by default, add self.has_cap) 2020-04-01 22:41:15 +01:00
jesopo 35b2e46945 change Emits to just be one object 2020-03-19 11:28:44 +00:00
jesopo 9e73252a8e "emit" important attributes from parsing tokens (who sent it, where, etc) 2020-03-18 15:59:42 +00:00
jesopo 3d3759218d add 005: network, statusmsg, callerid, invex, excepts, monitor, watch, whox 2020-03-16 00:38:14 +00:00
jesopo 628b79cb92 ctor Users with nickname_lower, add tests for NICK casefold 2020-03-15 23:53:21 +00:00
jesopo 3e55f39bb7 test nicknames being casefolded on JOIN 2020-03-15 23:28:04 +00:00
jesopo d8e4909017 casemap_lower() -> casefold(), casemap_equals() -> casefold_equals() 2020-03-15 23:16:06 +00:00
jesopo b089e8b6f6 add ISUPPORT CASEMAPPING tests, fallback to rfc1459 on unknown 2020-03-15 23:12:34 +00:00
jesopo af34486711 add support for casemappings (using 005 CASEMAPPING) 2020-03-15 23:05:42 +00:00
jesopo 097df312b4 add tests for ISUPPORT (005) 2020-03-15 22:43:33 +00:00
jesopo a379539af3 add tests for PREFIX channel modes 2020-03-15 21:11:44 +00:00
jesopo 40de45e068 support userhost-in-names, support MODE for PREFIX modes 2020-03-15 20:29:39 +00:00
jesopo 5af787bb56 handle IRCv3 account-notify 2020-03-15 19:40:50 +00:00