Add warning tracker
This commit is contained in:
parent
9f94549652
commit
16764fe463
3 changed files with 29 additions and 1 deletions
|
@ -44,7 +44,7 @@ from nafftrack.client import StatsClient
|
|||
from pastypy import AsyncPaste as Paste
|
||||
|
||||
from jarvis import const
|
||||
from jarvis.tracking import malicious_tracker
|
||||
from jarvis.tracking import malicious_tracker, warnings_tracker
|
||||
from jarvis.utils import build_embed
|
||||
from jarvis.utils.embeds import warning_embed
|
||||
|
||||
|
@ -490,6 +490,10 @@ class Jarvis(StatsClient):
|
|||
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.inc()
|
||||
embed = warning_embed(message.author, "Sent an invite link")
|
||||
await message.channel.send(embeds=embed)
|
||||
|
||||
|
@ -522,6 +526,10 @@ class Jarvis(StatsClient):
|
|||
reason="Mass Mention",
|
||||
user=message.author.id,
|
||||
).commit()
|
||||
tracker = warnings_tracker.labels(
|
||||
guild_id=message.guild.id, guild_name=message.guild.name
|
||||
)
|
||||
tracker.inc()
|
||||
embed = warning_embed(message.author, "Mass Mention")
|
||||
await message.channel.send(embeds=embed)
|
||||
|
||||
|
@ -583,6 +591,10 @@ class Jarvis(StatsClient):
|
|||
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.inc()
|
||||
embed = warning_embed(message.author, "Pinged a blocked role/user with a blocked role")
|
||||
await message.channel.send(embeds=embed)
|
||||
|
||||
|
@ -603,6 +615,10 @@ class Jarvis(StatsClient):
|
|||
reason="Phishing URL",
|
||||
user=message.author.id,
|
||||
).commit()
|
||||
tracker = warnings_tracker.labels(
|
||||
guild_id=message.guild.id, guild_name=message.guild.name
|
||||
)
|
||||
tracker.inc()
|
||||
embed = warning_embed(message.author, "Phishing URL")
|
||||
await message.channel.send(embeds=embed)
|
||||
try:
|
||||
|
@ -641,6 +657,10 @@ class Jarvis(StatsClient):
|
|||
reason="Unsafe URL",
|
||||
user=message.author.id,
|
||||
).commit()
|
||||
tracker = warnings_tracker.labels(
|
||||
guild_id=message.guild.id, guild_name=message.guild.name
|
||||
)
|
||||
tracker.inc()
|
||||
reasons = ", ".join(item["not_safe_reasons"])
|
||||
embed = warning_embed(message.author, reasons)
|
||||
await message.channel.send(embeds=embed)
|
||||
|
|
|
@ -6,3 +6,7 @@ malicious_tracker = Counter(
|
|||
"Amount of malicious messages blocked",
|
||||
labelnames=["guild_id", "guild_name"],
|
||||
)
|
||||
|
||||
warnings_tracker = Counter(
|
||||
"jarvis_warnings", "Amount of warnings given out", labelnames=["guild_id", "guild_name"]
|
||||
)
|
||||
|
|
|
@ -9,6 +9,7 @@ from naff.models.discord.components import ActionRow, Button, ButtonStyles
|
|||
from naff.models.discord.embed import EmbedField
|
||||
from naff.models.discord.user import Member
|
||||
|
||||
from jarvis.tracking import warnings_tracker
|
||||
from jarvis.utils import build_embed
|
||||
|
||||
MODLOG_LOOKUP = {"Ban": Ban, "Kick": Kick, "Mute": Mute, "Warning": Warning}
|
||||
|
@ -39,6 +40,9 @@ class ModcaseCog(Extension):
|
|||
name = self.__name__.replace("Cog", "")
|
||||
|
||||
if name in MODLOG_LOOKUP and ctx.invoke_target not in IGNORE_COMMANDS[name]:
|
||||
if name == "Warning":
|
||||
tracker = warnings_tracker.labels(guild_id=ctx.guild.id, guild_name=ctx.guild.name)
|
||||
tracker.inc()
|
||||
user = kwargs.pop("user", None)
|
||||
if not user and not ctx.target_id:
|
||||
self.logger.warning("Admin action %s missing user, exiting", name)
|
||||
|
|
Loading…
Add table
Reference in a new issue