aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Joe Banks <[email protected]>2021-01-30 13:21:36 +0000
committerGravatar GitHub <[email protected]>2021-01-30 13:21:36 +0000
commit72edc5a5fee593e12f5b7631962d1ec47408f91e (patch)
treebcf3b0f3bd326efc0edf3e90ef6904b632276b99
parentUpdate bot.py (diff)
parentIncrease line length limit to 120 (diff)
Merge pull request #2 from python-discord/add-bulk-deletion
-rw-r--r--metricity/bot.py10
-rw-r--r--tox.ini2
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."""
diff --git a/tox.ini b/tox.ini
index 5d20844..2bbe42d 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
[flake8]
-max-line-length=88
+max-line-length=120
application-import-names=metricity
import-order-style=pycharm
exclude=alembic