diff options
| author | 2020-01-23 11:45:51 +0000 | |
|---|---|---|
| committer | 2020-01-23 11:45:51 +0000 | |
| commit | 9ac2fe96fec40b93ce5c4e49bb84513e28b3c927 (patch) | |
| tree | 996f3a2b6b175ccc9af409a971acb6fa7d9dfcc9 /src/core_modules | |
| parent | get channelset quiet-method list from QUIET_METHODS (diff) | |
| signature | ||
changed failed list modes after ENDOFWHO, not when our mode changes
Diffstat (limited to 'src/core_modules')
| -rw-r--r-- | src/core_modules/mode_lists.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/core_modules/mode_lists.py b/src/core_modules/mode_lists.py index cb01da72..d1bc3a14 100644 --- a/src/core_modules/mode_lists.py +++ b/src/core_modules/mode_lists.py @@ -75,12 +75,16 @@ class Module(ModuleManager.BaseModule): self._mask_add(event["channel"], mode[1], arg) else: self._mask_remove(event["channel"], mode[1], arg) - elif mode[1] in dict(event["server"].prefix_modes): - if event["server"].irc_equals(event["server"].nickname, arg): - missed = set(event["server"].channel_list_modes)-set( - event["channel"].mode_lists.keys()) - if missed: - event["channel"].send_mode("+%s" % "".join(missed)) + + @utils.hook("received.315") + def who_end(self, event): + channel = self._channel(event) + + if channel: + missed = set(event["server"].channel_list_modes)-set( + channel.mode_lists.keys()) + if missed: + channel.send_mode("+%s" % "".join(missed)) @utils.hook("self.join") def self_join(self, event): |
