aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/exts/filters/antispam.py19
1 files changed, 9 insertions, 10 deletions
diff --git a/bot/exts/filters/antispam.py b/bot/exts/filters/antispam.py
index 7f4b5a627..3b30817df 100644
--- a/bot/exts/filters/antispam.py
+++ b/bot/exts/filters/antispam.py
@@ -46,7 +46,6 @@ RULE_FUNCTION_MAPPING = {
@dataclass
class DeletionContext:
"""Represents a Deletion Context for a single spam event."""
-
members: frozenset[Member]
triggered_in: TextChannel
channels: set[TextChannel] = field(default_factory=set)
@@ -82,34 +81,34 @@ class DeletionContext:
f"**Rules:** {', '.join(rule for rule in self.rules)}\n"
)
- # For multiple messages or those with excessive newlines, use the logs API
+ messages_as_list = list(self.messages.values())
+ first_message = messages_as_list[0]
+ # For multiple messages and those with attachments or excessive newlines, use the logs API
if any((
- len(self.messages) > 1,
- len(self.messages[0].attachments) > 0,
- self.messages[0].count('\n') > 15
+ len(messages_as_list) > 1,
+ len(first_message.attachments) > 0,
+ first_message.content.count('\n') > 15
)):
url = await modlog.upload_log(self.messages.values(), actor_id, self.attachments)
mod_alert_message += f"A complete log of the offending messages can be found [here]({url})"
else:
mod_alert_message += "Message:\n"
- [message] = self.messages.values()
- content = message.clean_content
+ content = first_message.clean_content
remaining_chars = 4080 - len(mod_alert_message)
if len(content) > remaining_chars:
- url = await modlog.upload_log([message], actor_id, self.attachments)
+ url = await modlog.upload_log([first_message], actor_id, self.attachments)
log_site_msg = f"The full message can be found [here]({url})"
content = content[:remaining_chars - (3 + len(log_site_msg))] + "..."
mod_alert_message += content
- *_, last_message = self.messages.values()
await modlog.send_log_message(
icon_url=Icons.filtering,
colour=Colour(Colours.soft_red),
title="Spam detected!",
text=mod_alert_message,
- thumbnail=last_message.author.avatar_url_as(static_format="png"),
+ thumbnail=first_message.author.avatar_url_as(static_format="png"),
channel_id=Channels.mod_alerts,
ping_everyone=AntiSpamConfig.ping_everyone
)