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