From 4d2be145aafb4313e2cf5b6872970a76571b0684 Mon Sep 17 00:00:00 2001 From: Mathis Date: Sun, 20 Sep 2026 18:56:06 +0200 Subject: [PATCH] fix(ci): ruff format bot.py --- bot.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/bot.py b/bot.py index 591d5cd..5539e65 100644 --- a/bot.py +++ b/bot.py @@ -28,6 +28,8 @@ class VisionBot(commands.Bot): await self.load_extension("commandes.hello") await self.load_extension("commandes.modmail") + self.tree.on_error = self.on_app_command_error + if config.DEV and DEV_GUILD_IDS: logger.info(f"Mode DEV — sync des commands sur les guilds: {DEV_GUILD_IDS}") for guild_id in DEV_GUILD_IDS: @@ -37,15 +39,24 @@ class VisionBot(commands.Bot): await self.tree.sync(guild=guild) logger.info(f" ✓ Sync guild {guild_id}") except discord.HTTPException as e: - logger.warning( - f" ✗ Sync guild {guild_id} impossible ({e}). " - f"Le bot est-il invité sur ce serveur ?" - ) + logger.warning(f" ✗ Sync guild {guild_id} impossible ({e}). Le bot est-il invité sur ce serveur ?") else: logger.info("Mode PROD — sync global des slash commands...") await self.tree.sync() logger.info("Slash commands synchronisées (global)") + async def on_app_command_error(self, interaction: discord.Interaction, error: discord.app_commands.AppCommandError): + logger.error( + f"Erreur commande /{interaction.command.name if interaction.command else '?'} : {error}", exc_info=error + ) + try: + if interaction.response.is_done(): + await interaction.followup.send(f"Erreur : `{error}`", ephemeral=True) + else: + await interaction.response.send_message(f"Erreur : `{error}`", ephemeral=True) + except discord.HTTPException: + pass + async def on_ready(self): instance = "DEV" if config.DEV else "PROD" logger.info(f"[{instance}] Connecté en tant que {self.user} (ID: {self.user.id})")