From fcedfd3760a4f01e1b7e018718ffe44fedf3a014 Mon Sep 17 00:00:00 2001 From: Codex Date: Fri, 6 Jun 2025 19:34:32 +0000 Subject: [PATCH] Handle testing mode in modals --- cogs/aimod_cog.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/cogs/aimod_cog.py b/cogs/aimod_cog.py index cc37489..2eeeb9b 100644 --- a/cogs/aimod_cog.py +++ b/cogs/aimod_cog.py @@ -105,6 +105,10 @@ class AIModerationCog(commands.Cog): ) print("AIModerationCog Initialized.") + def is_testing_mode(self, guild_id: int) -> bool: + """Return True if testing mode is enabled for the guild.""" + return get_guild_config(guild_id, "TESTING_MODE", False) + class QuickActionView(discord.ui.View): """Buttons for quick moderator actions.""" @@ -134,6 +138,12 @@ class AIModerationCog(commands.Cog): "You lack permission to ban members.", ephemeral=True ) return + if self.view.parent.is_testing_mode(interaction.guild.id): + await interaction.response.send_message( + f"[TEST MODE] Would ban {self.view.target.mention}.", + ephemeral=True, + ) + return try: await self.view.target.ban( reason=self.reason.value or "Escalated via mod panel" @@ -168,6 +178,12 @@ class AIModerationCog(commands.Cog): "You lack permission to kick members.", ephemeral=True ) return + if self.view.parent.is_testing_mode(interaction.guild.id): + await interaction.response.send_message( + f"[TEST MODE] Would kick {self.view.target.mention}.", + ephemeral=True, + ) + return try: await self.view.target.kick( reason=self.reason.value or "Escalated via mod panel" @@ -227,6 +243,12 @@ class AIModerationCog(commands.Cog): "You lack permission to timeout members.", ephemeral=True ) return + if self.view.parent.is_testing_mode(interaction.guild.id): + await interaction.response.send_message( + f"[TEST MODE] Would timeout {self.view.target.mention} for {self.duration.value}.", + ephemeral=True, + ) + return delta = self.parse_duration(self.duration.value) if not delta or delta > datetime.timedelta(days=28): await interaction.response.send_message(