fix(bug_report): separate exception handlers for DM blocked errors

Separate disnake.Forbidden and disnake.HTTPException handlers to properly
catch error code 50007 (DMs disabled) instead of falling through to the
outer "unexpected error" handler.
This commit is contained in:
Lowei 2026-05-23 15:30:01 +02:00
parent ad8c43dddc
commit 9ddab71d83

View file

@ -375,14 +375,18 @@ class BugReport(commands.Cog):
await dev.send( await dev.send(
f"✅ [SUIVI] L'utilisateur {user} ({user.id}) a bien reçu la notification de CLÔTURE pour l'issue #{issue_iid}." f"✅ [SUIVI] L'utilisateur {user} ({user.id}) a bien reçu la notification de CLÔTURE pour l'issue #{issue_iid}."
) )
except (disnake.Forbidden, disnake.HTTPException) as e: except disnake.Forbidden:
if isinstance(e, disnake.Forbidden) or ( kuby_logger.warning(f"Impossible d'envoyer le MP de clôture à {user} ({user.id}) - MPs désactivés.")
isinstance(e, disnake.HTTPException) and e.code == 50007 if dev and dev.id != user.id:
): await dev.send(
kuby_logger.warning(f"Impossible d'envoyer le MP de clôture à {user} ({user.id}).") f"⚠️ [DM BLOQUÉ] Impossible d'annoncer la clôture à {user} ({user.id}) pour l'issue #{issue_iid} (DMs désactivés)."
)
except disnake.HTTPException as e:
if e.code == 50007:
kuby_logger.warning(f"Impossible d'envoyer le MP de clôture à {user} ({user.id}) - code 50007 (DMs peut-être désactivés).")
if dev and dev.id != user.id: if dev and dev.id != user.id:
await dev.send( await dev.send(
f"⚠️ [DM BLOQUÉ] Impossible d'annoncer la clôture à {user} ({user.id}) pour l'issue #{issue_iid} (DMs désactivés)." f"⚠️ [DM BLOQUÉ] Impossible d'annoncer la clôture à {user} ({user.id}) pour l'issue #{issue_iid} (code 50007)."
) )
else: else:
kuby_logger.error(f"Erreur HTTP lors de l'envoi du MP de clôture à {user}: {e}") kuby_logger.error(f"Erreur HTTP lors de l'envoi du MP de clôture à {user}: {e}")