aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar MarkKoz <[email protected]>2020-02-24 15:19:39 -0800
committerGravatar MarkKoz <[email protected]>2020-03-22 15:54:36 -0700
commit9f871a9d384ba2754bae047d62fb8a1bfd7e2141 (patch)
tree6b46bc0a7431269820186da8e4d170f4aee66a25
parentHelpChannels: implement get_idle_time (diff)
HelpChannels: implement create_dormant
Create and return a new channel in the Dormant category or return None if no names remain. The overwrites get synced with the category if none are explicitly specified for the channel.
-rw-r--r--bot/cogs/help_channels.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/bot/cogs/help_channels.py b/bot/cogs/help_channels.py
index a848a3029..4a34bd37d 100644
--- a/bot/cogs/help_channels.py
+++ b/bot/cogs/help_channels.py
@@ -88,8 +88,22 @@ class HelpChannels(Scheduler, commands.Cog):
return queue
- async def create_dormant(self) -> discord.TextChannel:
- """Create and return a new channel in the Dormant category."""
+ async def create_dormant(self) -> t.Optional[discord.TextChannel]:
+ """
+ Create and return a new channel in the Dormant category.
+
+ The new channel will sync its permission overwrites with the category.
+
+ Return None if no more channel names are available.
+ """
+ name = constants.HelpChannels.name_prefix
+
+ try:
+ name += self.name_queue.popleft()
+ except IndexError:
+ return None
+
+ return await self.dormant_category.create_text_channel(name)
def create_name_queue(self) -> deque:
"""Return a queue of element names to use for creating new channels."""