diff options
| author | 2020-08-19 11:34:58 +0200 | |
|---|---|---|
| committer | 2020-08-19 11:34:58 +0200 | |
| commit | f6a7d82f7c3f04c37822bfecd832641e662725bc (patch) | |
| tree | 91e72d0f8512a8ad235ffa9abd3b127d8bcc6ee6 | |
| parent | Merge pull request #1107 from python-discord/bug/filters/1005/antispam-ctx-patch (diff) | |
| parent | Filtering: 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.py | 14 |
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" |