Merge main into dev
This commit is contained in:
commit
a3e70cedde
4 changed files with 20 additions and 45 deletions
|
@ -37,9 +37,7 @@ class MessageEventMixin:
|
|||
autopurge = await Autopurge.find_one(q(guild=message.guild.id, channel=message.channel.id))
|
||||
if autopurge:
|
||||
if not message.author.has_permission(Permissions.ADMINISTRATOR):
|
||||
self.logger.debug(
|
||||
f"Autopurging message {message.guild.id}/{message.channel.id}/{message.id}"
|
||||
)
|
||||
self.logger.debug(f"Autopurging message {message.guild.id}/{message.channel.id}/{message.id}")
|
||||
await message.delete(delay=autopurge.delay)
|
||||
|
||||
async def autoreact(self, message: Message) -> None:
|
||||
|
@ -51,9 +49,7 @@ class MessageEventMixin:
|
|||
)
|
||||
)
|
||||
if autoreact:
|
||||
self.logger.debug(
|
||||
f"Autoreacting to message {message.guild.id}/{message.channel.id}/{message.id}"
|
||||
)
|
||||
self.logger.debug(f"Autoreacting to message {message.guild.id}/{message.channel.id}/{message.id}")
|
||||
for reaction in autoreact.reactions:
|
||||
await message.add_reaction(reaction)
|
||||
if autoreact.thread:
|
||||
|
@ -103,9 +99,7 @@ class MessageEventMixin:
|
|||
reason="Sent an invite link",
|
||||
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 an invite link", self.user)
|
||||
try:
|
||||
|
@ -129,9 +123,7 @@ class MessageEventMixin:
|
|||
- (1 if message.author.id in message._mention_ids else 0) # noqa: W503
|
||||
> massmention.value # noqa: W503
|
||||
):
|
||||
self.logger.debug(
|
||||
f"Massmention threshold on {message.guild.id}/{message.channel.id}/{message.id}"
|
||||
)
|
||||
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)
|
||||
await Warning(
|
||||
active=True,
|
||||
|
@ -142,9 +134,7 @@ class MessageEventMixin:
|
|||
reason="Mass Mention",
|
||||
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, "Mass Mention", self.user)
|
||||
try:
|
||||
|
@ -197,9 +187,7 @@ class MessageEventMixin:
|
|||
break
|
||||
|
||||
if role_in_rolepings and user_missing_role and not user_is_admin and not user_has_bypass:
|
||||
self.logger.debug(
|
||||
f"Rolepinged role in {message.guild.id}/{message.channel.id}/{message.id}"
|
||||
)
|
||||
self.logger.debug(f"Rolepinged role in {message.guild.id}/{message.channel.id}/{message.id}")
|
||||
expires_at = datetime.now(tz=timezone.utc) + timedelta(hours=24)
|
||||
await Warning(
|
||||
active=True,
|
||||
|
@ -210,9 +198,7 @@ class MessageEventMixin:
|
|||
reason="Pinged a blocked role/user with a blocked role",
|
||||
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, "Pinged a blocked role/user with a blocked role", self.user
|
||||
|
@ -242,9 +228,7 @@ class MessageEventMixin:
|
|||
reason="Phishing URL",
|
||||
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, "Phishing URL", self.user)
|
||||
try:
|
||||
|
@ -255,9 +239,7 @@ class MessageEventMixin:
|
|||
await message.delete()
|
||||
except Exception:
|
||||
self.logger.warn("Failed to delete malicious message")
|
||||
tracker = malicious_tracker.labels(
|
||||
guild_id=message.guild.id, guild_name=message.guild.name
|
||||
)
|
||||
tracker = malicious_tracker.labels(guild_id=message.guild.id, guild_name=message.guild.name)
|
||||
tracker.inc()
|
||||
|
||||
if not pl or not pl.confirmed:
|
||||
|
@ -320,9 +302,7 @@ class MessageEventMixin:
|
|||
reason="Unsafe URL",
|
||||
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()
|
||||
reasons = ", ".join(f"{m['source']}: {m['type']}" for m in data["matches"])
|
||||
embed = warning_embed(message.author, reasons, self.user)
|
||||
|
@ -334,9 +314,7 @@ class MessageEventMixin:
|
|||
await message.delete()
|
||||
except Exception:
|
||||
self.logger.warn("Failed to delete malicious message")
|
||||
tracker = malicious_tracker.labels(
|
||||
guild_id=message.guild.id, guild_name=message.guild.name
|
||||
)
|
||||
tracker = malicious_tracker.labels(guild_id=message.guild.id, guild_name=message.guild.name)
|
||||
tracker.inc()
|
||||
|
||||
if not pl or not pl.confirmed:
|
||||
|
@ -450,9 +428,7 @@ class MessageEventMixin:
|
|||
icon_url=after.author.display_avatar.url,
|
||||
url=after.jump_url,
|
||||
)
|
||||
embed.set_footer(
|
||||
text=f"{after.author.username}#{after.author.discriminator} | {after.author.id}"
|
||||
)
|
||||
embed.set_footer(text=f"{after.author.username}#{after.author.discriminator} | {after.author.id}")
|
||||
await channel.send(embeds=embed)
|
||||
except Exception as e:
|
||||
self.logger.warning(
|
||||
|
@ -527,13 +503,8 @@ class MessageEventMixin:
|
|||
url=message.jump_url,
|
||||
)
|
||||
embed.set_footer(
|
||||
text=(
|
||||
f"{message.author.username}#{message.author.discriminator} | "
|
||||
f"{message.author.id}"
|
||||
)
|
||||
text=(f"{message.author.username}#{message.author.discriminator} | " f"{message.author.id}")
|
||||
)
|
||||
await channel.send(embeds=embed)
|
||||
except Exception as e:
|
||||
self.logger.warning(
|
||||
f"Failed to process edit {message.guild.id}/{message.channel.id}/{message.id}: {e}"
|
||||
)
|
||||
self.logger.warning(f"Failed to process edit {message.guild.id}/{message.channel.id}/{message.id}: {e}")
|
||||
|
|
|
@ -181,7 +181,7 @@ class RemindmeCog(Extension):
|
|||
fields = []
|
||||
for reminder in reminders:
|
||||
if reminder.private and isinstance(ctx.channel, GuildChannel):
|
||||
fields.embed(
|
||||
fields.append(
|
||||
EmbedField(
|
||||
name=f"<t:{int(reminder.remind_at.timestamp())}:F> (<t:{int(reminder.remind_at.timestamp())}:R>)",
|
||||
value="Please DM me this command to view the content of this reminder",
|
||||
|
|
|
@ -253,6 +253,10 @@ class UtilCog(Extension):
|
|||
),
|
||||
]
|
||||
|
||||
if muted:
|
||||
ts = int(user.communication_disabled_until.timestamp())
|
||||
fields.append(EmbedField(name="Muted Until", value=f"<t:{ts}:F> (<t:{ts}:R>)"))
|
||||
|
||||
embed = build_embed(
|
||||
title="",
|
||||
description=user.mention,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[tool.poetry]
|
||||
name = "jarvis"
|
||||
version = "2.2.3"
|
||||
version = "2.3.0"
|
||||
description = "JARVIS admin bot"
|
||||
authors = ["Zevaryx <zevaryx@gmail.com>"]
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue