diff options
author | 2021-01-30 14:08:49 +0100 | |
---|---|---|
committer | 2021-01-30 14:18:13 +0100 | |
commit | 56098f7ed0e410d20962ce44ce90fda993d7e213 (patch) | |
tree | dd5d4e696853ac8e8e69955b2f80e193da9be4ed | |
parent | Update bot.py (diff) |
Add support for bulk deletion
-rw-r--r-- | metricity/bot.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/metricity/bot.py b/metricity/bot.py index 3295ed7..e3e11fc 100644 --- a/metricity/bot.py +++ b/metricity/bot.py @@ -7,7 +7,7 @@ from typing import Any, Generator, List from asyncpg.exceptions import UniqueViolationError from discord import ( CategoryChannel, Game, Guild, Intents, - Member, Message as DiscordMessage, RawMessageDeleteEvent, + Member, Message as DiscordMessage, RawBulkMessageDeleteEvent, RawMessageDeleteEvent, VoiceChannel ) from discord.abc import Messageable @@ -330,6 +330,14 @@ async def on_raw_message_delete(message: RawMessageDeleteEvent) -> None: await message.update(is_deleted=True).apply() +async def on_raw_bulk_message_delete(messages: RawBulkMessageDeleteEvent) -> None: + """If messages are deleted in bulk and we have a record of them set the is_deleted flag.""" + for message_id in messages.message_ids: + if message := await Message.get(str(message_id)): + await message.update(is_deleted=True).apply() + + @bot.command() async def opt_in(ctx: Context) -> None: """Opt-in to the server analytics system.""" |