From 74abbe7e5ca2d9d2d667269b21c2034789a93921 Mon Sep 17 00:00:00 2001 From: jesopo Date: Fri, 3 Jul 2020 13:14:52 +0100 Subject: rename channel_save.py to autojoin.py --- modules/autojoin.py | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ modules/channel_save.py | 49 ------------------------------------------------- 2 files changed, 49 insertions(+), 49 deletions(-) create mode 100644 modules/autojoin.py delete mode 100644 modules/channel_save.py (limited to 'modules') diff --git a/modules/autojoin.py b/modules/autojoin.py new file mode 100644 index 00000000..bbd08dfb --- /dev/null +++ b/modules/autojoin.py @@ -0,0 +1,49 @@ +from src import ModuleManager, utils + +BATCH_MAX = 10 + +class Module(ModuleManager.BaseModule): + @utils.hook("received.001") + def on_connect(self, event): + channels = event["server"].get_setting("autojoin", []) + if channels: + channel_batches = [channels[i:i+BATCH_MAX] for i in range( + 0, len(channels), BATCH_MAX)] + for channel_batch in channel_batches: + event["server"].send_joins(channel_batch) + + @utils.hook("self.join") + def on_join(self, event): + channels = event["server"].get_setting("autojoin", []) + channel_name = event["server"].irc_lower(event["channel"].name) + if not channel_name in channels: + channels.append(channel_name) + event["server"].set_setting("autojoin", channels) + + def _remove_channel(self, server, channel_name): + channels = server.get_setting("autojoin", []) + if channel_name in channels: + channels.remove(channel_name) + server.set_setting("autojoin", channels) + return True + else: + return False + + @utils.hook("self.part") + def on_part(self, event): + self._remove_channel(event["server"], event["channel"].name) + + @utils.hook("self.kick") + def on_kick(self, event): + self._remove_channel(event["server"], event["channel"].name) + + @utils.hook("raw.received.470") + def on_linkchannel(self, event): + initial = event["line"].args[1] + initial_lower = event["server"].irc_lower(initial) + linked = event["line"].args[2] + + if self._remove_channel(event["server"], initial_lower): + self.log.warn(f"{str(event['server'])} " + f"channel {initial} linked to {linked} " + "- removed from autojoin") diff --git a/modules/channel_save.py b/modules/channel_save.py deleted file mode 100644 index bbd08dfb..00000000 --- a/modules/channel_save.py +++ /dev/null @@ -1,49 +0,0 @@ -from src import ModuleManager, utils - -BATCH_MAX = 10 - -class Module(ModuleManager.BaseModule): - @utils.hook("received.001") - def on_connect(self, event): - channels = event["server"].get_setting("autojoin", []) - if channels: - channel_batches = [channels[i:i+BATCH_MAX] for i in range( - 0, len(channels), BATCH_MAX)] - for channel_batch in channel_batches: - event["server"].send_joins(channel_batch) - - @utils.hook("self.join") - def on_join(self, event): - channels = event["server"].get_setting("autojoin", []) - channel_name = event["server"].irc_lower(event["channel"].name) - if not channel_name in channels: - channels.append(channel_name) - event["server"].set_setting("autojoin", channels) - - def _remove_channel(self, server, channel_name): - channels = server.get_setting("autojoin", []) - if channel_name in channels: - channels.remove(channel_name) - server.set_setting("autojoin", channels) - return True - else: - return False - - @utils.hook("self.part") - def on_part(self, event): - self._remove_channel(event["server"], event["channel"].name) - - @utils.hook("self.kick") - def on_kick(self, event): - self._remove_channel(event["server"], event["channel"].name) - - @utils.hook("raw.received.470") - def on_linkchannel(self, event): - initial = event["line"].args[1] - initial_lower = event["server"].irc_lower(initial) - linked = event["line"].args[2] - - if self._remove_channel(event["server"], initial_lower): - self.log.warn(f"{str(event['server'])} " - f"channel {initial} linked to {linked} " - "- removed from autojoin") -- cgit v1.3.1-10-gc9f91