From 2767e95d4eacf52cf283a2b3c9fe73a689a03099 Mon Sep 17 00:00:00 2001 From: MasterOfCubesAU Date: Thu, 9 Apr 2026 12:55:00 +1000 Subject: [PATCH] feat: add extra games tournament channel --- config.yaml | 1 + src/lib/cogs/Tournaments.py | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/config.yaml b/config.yaml index f52ec88..71244d1 100644 --- a/config.yaml +++ b/config.yaml @@ -9,6 +9,7 @@ DEVELOPERS: [169402073404669952, 288206127747825664] TOURNAMENT: TRIGGER_CHANNELS: [ + { "ID": 1491632225278627901, "TYPE": 0 }, { "ID": 1021069585560121354, "TYPE": 2 }, { "ID": 1021057688467144765, "TYPE": 3 }, ] diff --git a/src/lib/cogs/Tournaments.py b/src/lib/cogs/Tournaments.py index a3525bb..d377b63 100644 --- a/src/lib/cogs/Tournaments.py +++ b/src/lib/cogs/Tournaments.py @@ -40,7 +40,7 @@ async def getLostChannels(self): await self.bot.wait_until_ready() for guild in self.bot.guilds: for channel in guild.channels: - if re.match("^RL [0-9]'s #[0-9]+$", channel.name): + if re.match("^(?:RL [0-9]'s|Extra Games) #[0-9]+$", channel.name): if len(channel.members) == 0: await self.deleteTournamentChannel(channel) else: @@ -48,9 +48,14 @@ async def getLostChannels(self): self.channels.append(channel) async def createTournamentChannel(self, member, limit): - channels = [channel for channel in self.channels if re.match(f"^RL {limit}'s #[0-9]+$", channel.name)] - channel_num = 1 if len(channels) == 0 else max([int(channel.name.split('#')[-1]) for channel in channels]) + 1 - voice_channel = await member.guild.create_voice_channel(name=f"RL {limit}'s #{channel_num}", user_limit=limit, category=self.bot.get_channel({v: k for k, v in self.TRIGGER_CHANNELS.items()}[limit]).category, reason=f"{member} created a {limit}'s voice channel.") + if limit == 0: + channels = [channel for channel in self.channels if re.match(f"^Extra Games #[0-9]+$", channel.name)] + channel_num = 1 if len(channels) == 0 else max([int(channel.name.split('#')[-1]) for channel in channels]) + 1 + voice_channel = await member.guild.create_voice_channel(name=f"Extra Games #{channel_num}", category=self.bot.get_channel({v: k for k, v in self.TRIGGER_CHANNELS.items()}[0]).category, reason=f"{member} created an extra games voice channel.") + else: + channels = [channel for channel in self.channels if re.match(f"^RL {limit}'s #[0-9]+$", channel.name)] + channel_num = 1 if len(channels) == 0 else max([int(channel.name.split('#')[-1]) for channel in channels]) + 1 + voice_channel = await member.guild.create_voice_channel(name=f"RL {limit}'s #{channel_num}", user_limit=limit, category=self.bot.get_channel({v: k for k, v in self.TRIGGER_CHANNELS.items()}[limit]).category, reason=f"{member} created a {limit}'s voice channel.") self.channels.append(voice_channel) return voice_channel