aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/cogs/help_channels.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/bot/cogs/help_channels.py b/bot/cogs/help_channels.py
index c440d166c..c8c437145 100644
--- a/bot/cogs/help_channels.py
+++ b/bot/cogs/help_channels.py
@@ -162,7 +162,16 @@ class HelpChannels(Scheduler, commands.Cog):
self.ready.set()
async def move_idle_channels(self) -> None:
- """Make all idle in-use channels dormant."""
+ """Make all in-use channels dormant if idle or schedule the move if still active."""
+ idle_seconds = constants.HelpChannels.idle_minutes * 60
+
+ for channel in self.get_category_channels(self.in_use_category):
+ time_elapsed = await self.get_idle_time(channel)
+ if time_elapsed > idle_seconds:
+ await self.move_to_dormant(channel)
+ else:
+ data = ChannelTimeout(channel, idle_seconds - time_elapsed)
+ self.schedule_task(self.bot.loop, channel.id, data)
async def move_to_available(self) -> None:
"""Make a channel available."""