From 1a542e839fe01953d989031d58329d30aafdd61b Mon Sep 17 00:00:00 2001 From: mortifia Date: Mon, 13 Jul 2026 02:37:17 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20MyContext.send()=20ne=20doit=20pas=20?= =?UTF-8?q?=C3=A9chouer=20si=20la=20suppression=20=C3=A9choue=20(#85)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enveloppe l'appel à message.delete() dans un try/except discord.HTTPException. Sans ça, la commande $prez (seule à utiliser delete_after=None, donc le chemin de suppression immédiate et bloquante) plante silencieusement si le bot n'a pas la permission "Gérer les messages" : l'exception interrompt la commande avant même l'envoi de la réponse. Closes #85 --- src/urpy/my_commands.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/urpy/my_commands.py b/src/urpy/my_commands.py index 74c8ceb..baeb66e 100644 --- a/src/urpy/my_commands.py +++ b/src/urpy/my_commands.py @@ -1,5 +1,6 @@ from abc import ABC, ABCMeta, abstractmethod +import discord from discord.ext import commands @@ -117,5 +118,11 @@ async def send(self, content=None, **kwargs): if 'delete_after' not in kwargs: kwargs['delete_after'] = self.delete_after - await self.message.delete(delay=kwargs['delete_after']) + try: + # supprimer le message d'origine est cosmetique : si le bot n'a pas la + # permission "Gerer les messages" sur ce salon, on renonce plutot que de + # laisser l'exception avorter la commande avant l'envoi de la reponse. + await self.message.delete(delay=kwargs['delete_after']) + except discord.HTTPException: + pass await super().send(content, **kwargs)