diff options
| author | 2020-02-27 10:33:15 +0000 | |
|---|---|---|
| committer | 2020-02-27 10:33:15 +0000 | |
| commit | 4d386397427075beaee50efb9709d68456a48f6c (patch) | |
| tree | 06bec06dd06c42e1eed8e2033da0bcb146dfa66a /modules | |
| parent | v1.19.0-rc2 (diff) | |
| signature | ||
allow individual channels to opt out of inactivity pruning
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/inactive_channels.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/modules/inactive_channels.py b/modules/inactive_channels.py index fb28bda2..87c87ef5 100644 --- a/modules/inactive_channels.py +++ b/modules/inactive_channels.py @@ -2,11 +2,13 @@ import datetime from src import ModuleManager, utils PRUNE_TIMEDELTA = datetime.timedelta(weeks=2) -SETTING = utils.BoolSetting("inactive-channels", +SETTING_NAME = "inactive-channels" +SETTING = utils.BoolSetting(SETTING_NAME, "Whether or not to leave inactive channels after 2 weeks") @utils.export("botset", SETTING) @utils.export("serverset", SETTING) +@utils.export("channelset", SETTING) class Module(ModuleManager.BaseModule): def _get_timestamp(self, channel): return channel.get_setting("last-message", None) @@ -26,13 +28,18 @@ class Module(ModuleManager.BaseModule): def hourly(self, event): parts = [] now = utils.datetime.utcnow() - botwide_setting = self.bot.get_setting("inactive-channels", False) + botwide_setting = self.bot.get_setting(SETTING_NAME, False) for server in self.bot.servers.values(): - if not server.get_setting("inactive-channels", botwide_setting): + serverwide_setting = server.get_setting( + SETTING_NAME, botwide_setting) + if not serverwide_setting: continue for channel in server.channels: + if not channel.get_setting(SETTING_NAME, serverwide_setting): + continue + timestamp = self._get_timestamp(channel) if timestamp: dt = utils.datetime.parse.iso8601(timestamp) |
