diff options
| author | 2021-08-04 08:48:23 -0700 | |
|---|---|---|
| committer | 2021-08-04 08:48:23 -0700 | |
| commit | c390ca427422c5532848eaf43cd23029ff38f0f6 (patch) | |
| tree | 00fec1d7932d166ca8d2303f26bc091165fa31e4 | |
| parent | Merge pull request #1708 from python-discord/bug/mod/1706/infr-append-no-reason (diff) | |
Suppress 403 error when sending DEFCON reject DM (#1711)
403 occurs if the user has DMs disabled.
Fixes BOT-137
| -rw-r--r-- | bot/exts/moderation/defcon.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/bot/exts/moderation/defcon.py b/bot/exts/moderation/defcon.py index 9801d45ad..6ac077b93 100644 --- a/bot/exts/moderation/defcon.py +++ b/bot/exts/moderation/defcon.py @@ -9,7 +9,7 @@ from typing import Optional, Union from aioredis import RedisError from async_rediscache import RedisCache from dateutil.relativedelta import relativedelta -from discord import Colour, Embed, Member, User +from discord import Colour, Embed, Forbidden, Member, User from discord.ext import tasks from discord.ext.commands import Cog, Context, group, has_any_role @@ -118,10 +118,12 @@ class Defcon(Cog): try: await member.send(REJECTION_MESSAGE.format(user=member.mention)) - message_sent = True + except Forbidden: + log.debug(f"Cannot send DEFCON rejection DM to {member}: DMs disabled") except Exception: - log.exception(f"Unable to send rejection message to user: {member}") + # Broadly catch exceptions because DM isn't critical, but it's imperative to kick them. + log.exception(f"Error sending DEFCON rejection message to {member}") await member.kick(reason="DEFCON active, user is too new") self.bot.stats.incr("defcon.leaves") |