From 4531b99be4afce9b62d27da95614297b66508c45 Mon Sep 17 00:00:00 2001 From: Mathis Date: Sat, 28 Mar 2026 22:07:56 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20regroupement=20des=20messages=20DM=20de?= =?UTF-8?q?=20bienvenue=20pour=20=C3=A9viter=20les=20limites=20de=20d?= =?UTF-8?q?=C3=A9bit=20(erreur=2040003)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- commandes/welcome.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/commandes/welcome.py b/commandes/welcome.py index a0078c2..8b34a32 100644 --- a/commandes/welcome.py +++ b/commandes/welcome.py @@ -141,11 +141,17 @@ class Welcome(commands.Cog): servername=member.guild.name, member_count=member.guild.member_count ) - await member.send(formatted_message) - await member.send("https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExNXV1NW02NTk0bGF2ZHcyMGFna2F6amRrbGpobGpsMHowOW5xa2E5eCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/ZtFuW4rsUbfrRzPauJ/giphy.gif") - kuby_logger.info(f"✅ [Welcome] DM envoyé avec succès à {member.name}") + # On combine le texte et le GIF dans un SEUL envoi pour réduire les requêtes API (limite de débit) + gif_url = "https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExNXV1NW02NTk0bGF2ZHcyMGFna2F6amRrbGpobGpsMHowOW5xa2E5eCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/ZtFuW4rsUbfrRzPauJ/giphy.gif" + await member.send(f"{formatted_message}\n\n{gif_url}") + kuby_logger.info(f"✅ [Welcome] DM envoyé avec succès à {member.name} (envoi groupé)") except discord.Forbidden: kuby_logger.warning(f"🚫 [Welcome] Impossible d'envoyer le DM à {member.name} (DMs fermés)") + except discord.HTTPException as e: + if e.code == 40003: # Rate limited (Opening DMs too fast) + kuby_logger.warning(f"⏳ [Welcome] Limite de débit Discord atteinte pour les DMs : {member.name} n'a pas reçu son message.") + else: + kuby_logger.error(f"❌ [Welcome] Erreur HTTP lors de l'envoi du DM à {member.name}: {e}") except Exception as e: kuby_logger.error(f"❌ [Welcome] Erreur lors de l'envoi du DM à {member.name}: {e}", exc_info=True) else: