diff options
author | 2021-05-12 10:07:01 +0530 | |
---|---|---|
committer | 2021-10-11 12:05:44 +0530 | |
commit | 44d5481d23cf819e347d3940812be3450ead1934 (patch) | |
tree | 2717c89716cd2fb90e58dd7297274483055da4f6 | |
parent | Use `on_raw_message_edit` (diff) |
Use raw message delete listener
-rw-r--r-- | bot/exts/moderation/incidents.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/bot/exts/moderation/incidents.py b/bot/exts/moderation/incidents.py index 0da4acaa2..7ef4af3df 100644 --- a/bot/exts/moderation/incidents.py +++ b/bot/exts/moderation/incidents.py @@ -540,6 +540,7 @@ class Incidents(Cog): channel = self.bot.get_channel(int(payload.data["channel_id"])) msg_after = await channel.fetch_message(payload.message_id) except discord.NotFound: # Was deleted before we got the event + await self.delete_msg_link_embed(payload.message_id) return if is_incident(msg_after): @@ -547,7 +548,7 @@ class Incidents(Cog): webhook_msg_id = await self.message_link_embeds_cache.get(payload.message_id) if not webhook_embed_list: - await self.delete_msg_link_embed(msg_after) + await self.delete_msg_link_embed(msg_after.id) return if webhook_msg_id: @@ -560,14 +561,13 @@ class Incidents(Cog): await self.send_message_link_embeds(webhook_embed_list, msg_after, self.incidents_webhook) @Cog.listener() - async def on_message_delete(self, message: discord.Message) -> None: + async def on_raw_message_delete(self, payload: discord.RawMessageDeleteEvent) -> None: """ - Delete message link embeds for `message`. + Delete message link embeds for `payload.message_id`. Search through the cache for message, if found delete it from cache and channel. """ - if is_incident(message): - await self.delete_msg_link_embed(message) + await self.delete_msg_link_embed(payload.message_id) async def extract_message_links(self, message: discord.Message) -> t.Optional[t.List[discord.Embed]]: """ @@ -630,10 +630,10 @@ class Incidents(Cog): log.trace("Message Link Embed Sent successfully!") return webhook_msg.id - async def delete_msg_link_embed(self, message: discord.Message) -> None: + async def delete_msg_link_embed(self, message_id: int) -> None: """Delete discord message link message found in cache for `message`.""" log.trace("Deleting discord links webhook message.") - webhook_msg_id = await self.message_link_embeds_cache.get(message.id) + webhook_msg_id = await self.message_link_embeds_cache.get(int(message_id)) if webhook_msg_id: try: @@ -641,7 +641,7 @@ class Incidents(Cog): except discord.errors.NotFound: log.trace(f"Incidents message link embed (`{webhook_msg_id}`) has already been deleted, skipping.") - await self.message_link_embeds_cache.delete(message.id) + await self.message_link_embeds_cache.delete(message_id) log.trace("Successfully deleted discord links webhook message.") |