aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Mark <[email protected]>2021-08-04 08:48:23 -0700
committerGravatar GitHub <[email protected]>2021-08-04 08:48:23 -0700
commitc390ca427422c5532848eaf43cd23029ff38f0f6 (patch)
tree00fec1d7932d166ca8d2303f26bc091165fa31e4
parentMerge 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.py8
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")