Merge main into dev

This commit is contained in:
Zeva Rose 2022-10-07 09:58:11 -06:00
commit a3e70cedde
4 changed files with 20 additions and 45 deletions

View file

@ -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}")

View file

@ -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",

View file

@ -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,

View file

@ -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>"]