Commit graph

58 commits

Author SHA1 Message Date
jesopo
223c2c88ff add .send_action utils functions to Server, Channel and User 2020-03-23 15:27:22 +00:00
jesopo
7293243429 fix type hinting issues in send_modes/send_kicks (IRCChannel) 2020-02-27 10:09:28 +00:00
jesopo
1ecbacefc2 send_modes takes list[tuple[s,s]], add !down, !deop yourself last 2020-02-25 14:27:56 +00:00
jesopo
a3ffc70bbc send KICK in max chunk of 4, MODE in max chunk of 6 2020-02-25 11:29:02 +00:00
jesopo
7f98ba8310 send multiple KICKs in the same line when possible 2020-02-17 15:16:00 +00:00
jesopo
ec5a6000c9 add IRCChannel.send_modes mass modes and chunking 2020-02-17 10:16:43 +00:00
jesopo
ef2d80511d only check missed modes if our mode changes and MODE #chan responds 2020-01-23 12:23:27 +00:00
jesopo
cded6b6877 only query missing list modes on MODE when we're seen ENDOFWHO 2020-01-23 12:09:45 +00:00
jesopo
007fd1206c add typehint for IRCChannel.mode_lists 2020-01-22 18:01:22 +00:00
jesopo
811b85d0f9 move mode list (beIq e.g.) to it's own module, mode_lists.py 2020-01-22 17:41:20 +00:00
jesopo
f8662ad6e1 fix IRCChannel.topic_setter type hint 2019-10-08 14:55:46 +01:00
jesopo
257042ac2c combine find_user_settings() and find_user_settings_prefix() 2019-10-07 12:51:44 +01:00
jesopo
50d1eb6b8c combine find_setting() and find_setting_prefix() on user/channel/server/bot 2019-10-07 12:46:52 +01:00
jesopo
c23530be89 add missing IRCLine import to IRCChannel 2019-09-17 10:21:31 +01:00
jesopo
03892d0ae3 topic_setter should be stored as a Hostmask 2019-09-16 18:38:46 +01:00
jesopo
60ced118a0 get_user_status() -> get_user_modes(), filter in format_activity.py 2019-09-12 22:39:21 +01:00
jesopo
2c5a2d9db3 add IRCChannel.send_invite() 2019-09-12 10:24:02 +01:00
jesopo
8d8d9219b8 don't return "+" when a channel has no modes 2019-09-10 15:10:14 +01:00
jesopo
d7ae182428 cache when a setting isn't set but don't cache "default" value 2019-09-04 15:26:36 +01:00
jesopo
473c2723e7 only cache get_setting value when it's not the default value 2019-09-04 15:24:50 +01:00
jesopo
43a7b7d949 add basic caching logic for channel settings 2019-09-02 14:07:39 +01:00
jesopo
f9d5271762 "paramatered" -> "parametered" 2019-07-04 17:23:36 +01:00
jesopo
76ab7935a0 return parsed modes from IRCChannel.parse_modes, pass through mode events 2019-07-03 08:13:28 +01:00
jesopo
a783e71ad4 return generated SentLine objects from IRCChannel.send_* functions 2019-06-21 18:25:21 +01:00
jesopo
795f6afbeb Mode mode (and mode arg) parsing to IRCChannel.py, add IRCChannel.mode_str 2019-06-13 11:53:47 +01:00
jesopo
8b54046ca4 Add target typehint on IRCServer.send_tagmsg, add send_tagmsg to IRCChannel/IRCUser 2019-02-22 22:34:54 +00:00
jesopo
186b6b82a2 Shift formatting protocol data to it's own file: utils.irc.protocol 2019-02-18 14:58:27 +00:00
jesopo
301dd7378a Add irc_lower() and irc_equals() to IRCServer.Server so that no where else
in the code has to know about the server having a casemapping
2019-01-24 17:12:50 +00:00
jesopo
6405ee2582 Support removal of modes without args that we don't know about in a way that
doesn't push code execution down the wrong path (src/IRCChannel.py)
2019-01-16 11:59:36 +00:00
jesopo
aa40936ce6 Support a mode being removed from a channel, without an arg, that we weren't yet
aware of (src/IRCChannel.py)
2019-01-16 11:47:42 +00:00
jesopo
08bd31f150 A couple of tweaks to clarify some type hints 2018-12-02 09:56:57 +00:00
jesopo
6d6bfa3262 Don't assume a given mode is in IRCChannel.modes when we check to see if a given
mode has any arguments against it
2018-11-26 13:39:26 +00:00
jesopo
549c12da10 Clarify typing in src/IRCChannel.py 2018-11-20 14:08:36 +00:00
jesopo
a9b6086c70 Split out Channels in to IRCChannels.Channels, not IRCChannel.Channels 2018-11-11 14:53:16 +00:00
jesopo
6bb03c4519 Don't implicitly create channels, explicitly create channels when we join one 2018-11-11 13:03:54 +00:00
jesopo
e29cc1c52c Implement __len__ on src/IRCChannel.py.Channels 2018-11-11 12:52:30 +00:00
jesopo
4e06a52bd9 Copypaste fail in src/IRCChannel.py, 'self.id' -> 'self._server.id' 2018-11-11 12:49:34 +00:00
jesopo
f6a997e3b9 Copypaste fail in src/IRCChannel.py, 'self.bot' -> 'self._bot' 2018-11-11 12:48:30 +00:00
jesopo
e133401ed9 Copypaste fail in src/IRCChannel, 'get_channel_id' -> '_get_id' 2018-11-11 12:47:02 +00:00
jesopo
32dccc65e0 Typin in src/IRCChannel.py, 'self._add' -> 'self.add' 2018-11-11 12:46:14 +00:00
jesopo
245c4599dd Typo in src/IRCChannel.py, 'Iterable' -> 'typing.Iterable' 2018-11-11 12:43:39 +00:00
jesopo
0248c7503a Forgot to import EventManager in src/IRCChannel.py 2018-11-11 12:43:11 +00:00
jesopo
44393a3170 Add missing ":" in src/IRCChannel.py 2018-11-11 12:41:31 +00:00
jesopo
2816fe67bb Move channel tracking data/functions to src/IRCChannel.Channels 2018-11-11 12:34:22 +00:00
jesopo
b543e31cd2 Fix/refactor issues brought up by type hint linting 2018-10-30 17:49:35 +00:00
jesopo
e07553c362 Add type/return hints throughout src/ and, in doing so, fix some cyclical
references.
2018-10-30 14:58:48 +00:00
jesopo
6bcfcb60ea Some networks allow you to remove user modes that don't exist e.g. removing +o
from someone that doesn't have it. wtf.
2018-10-18 21:07:08 +01:00
jesopo
23b7223fae Add !syncmodes in modules/auto_mode.py, fire internal.identified in
modules/permissions.py and catch it in modules/auto_mode.py to give users modes
when they identify using the internal identity mechanism
2018-10-11 11:20:53 +01:00
jesopo
72602e13f9 IRCChannel.send_part should have a self param! 2018-10-04 14:45:14 +01:00
jesopo
934ee7bf8e Typo in src/IRCChannel.py. 'del self.user_modes' -> 'del self.user_modes[user]' 2018-10-04 04:41:28 +01:00