diff --git a/jarvis/client/events/message.py b/jarvis/client/events/message.py index 2d18e11..88e460b 100644 --- a/jarvis/client/events/message.py +++ b/jarvis/client/events/message.py @@ -78,14 +78,10 @@ class MessageEventMixin: guild_invites = [x.code for x in await message.guild.fetch_invites()] if message.guild.vanity_url_code: guild_invites.append(message.guild.vanity_url_code) - allowed = guild_invites + [ - "dbrand", - "VtgZntXcnZ", - "gPfYGbvTCE", - "interactions", - "NTSHu97tHg" - ] - is_mod = message.author.has_permission(Permissions.MANAGE_GUILD) or message.author.has_permission(Permissions.ADMINISTRATOR) + allowed = guild_invites + ["dbrand", "VtgZntXcnZ", "gPfYGbvTCE", "interactions", "NTSHu97tHg"] + is_mod = message.author.has_permission(Permissions.MANAGE_GUILD) or message.author.has_permission( + Permissions.ADMINISTRATOR + ) if (m := match.group(1)) not in allowed and setting.value and not is_mod: self.logger.debug(f"Removing non-allowed invite `{m}` from {message.guild.id}") try: @@ -127,9 +123,7 @@ class MessageEventMixin: reason="Sent a message with a filtered word", user=message.author.id, ).commit() - tracker = warnings_tracker.labels( - guild_id=message.guild.id, guild_name=message.guild.name - ) + tracker = warnings_tracker.labels(guild_id=message.guild.id, guild_name=message.guild.name) tracker.inc() embed = warning_embed(message.author, "Sent a message with a filtered word", self.user) try: @@ -143,7 +137,6 @@ class MessageEventMixin: self.logger.debug("Message deleted before action taken") return - async def massmention(self, message: Message) -> None: """Handle massmention events.""" massmention = await Setting.find_one( @@ -153,12 +146,17 @@ class MessageEventMixin: ) ) + is_mod = message.author.has_permission(Permissions.MANAGE_GUILD) or message.author.has_permission( + Permissions.ADMINISTRATOR + ) + if ( massmention and massmention.value > 0 # noqa: W503 and len(message._mention_ids + message._mention_roles) # noqa: W503 - (1 if message.author.id in message._mention_ids else 0) # noqa: W503 > massmention.value # noqa: W503 + and not is_mod # noqa: W503 ): self.logger.debug(f"Massmention threshold on {message.guild.id}/{message.channel.id}/{message.id}") expires_at = datetime.now(tz=timezone.utc) + timedelta(hours=24) @@ -237,9 +235,7 @@ class MessageEventMixin: ).commit() tracker = warnings_tracker.labels(guild_id=message.guild.id, guild_name=message.guild.name) tracker.inc() - embed = warning_embed( - message.author, "Pinged a blocked role/user with a blocked role", self.user - ) + embed = warning_embed(message.author, "Pinged a blocked role/user with a blocked role", self.user) try: await message.channel.send(embeds=embed) except Exception: @@ -290,12 +286,8 @@ class MessageEventMixin: fields=[EmbedField(name="URL", value=m)], ) - valid_button = Button( - style=ButtonStyles.GREEN, emoji="✔️", custom_id=f"pl|valid|{pl.id}" - ) - invalid_button = Button( - style=ButtonStyles.RED, emoji="✖️", custom_id=f"pl|invalid|{pl.id}" - ) + valid_button = Button(style=ButtonStyles.GREEN, emoji="✔️", custom_id=f"pl|valid|{pl.id}") + invalid_button = Button(style=ButtonStyles.RED, emoji="✖️", custom_id=f"pl|invalid|{pl.id}") channel = await self.fetch_channel(1026918337554423868) @@ -365,12 +357,8 @@ class MessageEventMixin: fields=[EmbedField(name="URL", value=m)], ) - valid_button = Button( - style=ButtonStyles.GREEN, emoji="✔️", custom_id=f"pl|valid|{pl.id}" - ) - invalid_button = Button( - style=ButtonStyles.RED, emoji="✖️", custom_id=f"pl|invalid|{pl.id}" - ) + valid_button = Button(style=ButtonStyles.GREEN, emoji="✔️", custom_id=f"pl|valid|{pl.id}") + invalid_button = Button(style=ButtonStyles.RED, emoji="✖️", custom_id=f"pl|invalid|{pl.id}") channel = await self.fetch_channel(1026918337554423868) @@ -473,7 +461,6 @@ class MessageEventMixin: f"Failed to process edit {before.guild.id}/{before.channel.id}/{before.id}: {e}" ) if not isinstance(after.channel, DMChannel) and not after.author.bot: - await self.massmention(after) await self.roleping(after) await self.checks(after) await self.roleping(after) diff --git a/jarvis/client/tasks.py b/jarvis/client/tasks.py index 15cb5b7..672c6f8 100644 --- a/jarvis/client/tasks.py +++ b/jarvis/client/tasks.py @@ -30,4 +30,4 @@ class TaskMixin: if domain in self.phishing_domains: sub -= 1 self.phishing_domains.remove(domain) - self.logger.info(f"{add} additions, {sub} removals") + self.logger.info(f"[antiphish] {add} additions, {sub} removals")