diff options
-rw-r--r-- | metricity/bot.py | 10 | ||||
-rw-r--r-- | tox.ini | 2 |
2 files changed, 10 insertions, 2 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.""" @@ -1,5 +1,5 @@ [flake8] -max-line-length=88 +max-line-length=120 application-import-names=metricity import-order-style=pycharm exclude=alembic |