aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Senjan21 <[email protected]>2020-08-19 11:34:58 +0200
committerGravatar GitHub <[email protected]>2020-08-19 11:34:58 +0200
commitf6a7d82f7c3f04c37822bfecd832641e662725bc (patch)
tree91e72d0f8512a8ad235ffa9abd3b127d8bcc6ee6
parentMerge pull request #1107 from python-discord/bug/filters/1005/antispam-ctx-patch (diff)
parentFiltering: ignore errors for duplicate offensive messages (diff)
Merge pull request #1100 from python-discord/bug/filters/1099/dupe-offensive-msg
Filtering: ignore errors for duplicate offensive messages
-rw-r--r--bot/cogs/filtering.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/bot/cogs/filtering.py b/bot/cogs/filtering.py
index 93cc1c655..99b659bff 100644
--- a/bot/cogs/filtering.py
+++ b/bot/cogs/filtering.py
@@ -11,6 +11,7 @@ from discord import Colour, HTTPException, Member, Message, NotFound, TextChanne
from discord.ext.commands import Cog
from discord.utils import escape_markdown
+from bot.api import ResponseCodeError
from bot.bot import Bot
from bot.cogs.moderation import ModLog
from bot.constants import (
@@ -301,9 +302,16 @@ class Filtering(Cog):
'delete_date': delete_date
}
- await self.bot.api_client.post('bot/offensive-messages', json=data)
- self.schedule_msg_delete(data)
- log.trace(f"Offensive message {msg.id} will be deleted on {delete_date}")
+ try:
+ await self.bot.api_client.post('bot/offensive-messages', json=data)
+ except ResponseCodeError as e:
+ if e.status == 400 and "already exists" in e.response_json.get("id", [""])[0]:
+ log.debug(f"Offensive message {msg.id} already exists.")
+ else:
+ log.error(f"Offensive message {msg.id} failed to post: {e}")
+ else:
+ self.schedule_msg_delete(data)
+ log.trace(f"Offensive message {msg.id} will be deleted on {delete_date}")
if is_private:
channel_str = "via DM"