aboutsummaryrefslogtreecommitdiffstats
path: root/bot/utils/moderation.py
diff options
context:
space:
mode:
Diffstat (limited to 'bot/utils/moderation.py')
-rw-r--r--bot/utils/moderation.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/bot/utils/moderation.py b/bot/utils/moderation.py
index c1eb98dd6..152f9d538 100644
--- a/bot/utils/moderation.py
+++ b/bot/utils/moderation.py
@@ -44,3 +44,23 @@ async def post_infraction(
return
return response
+
+
+async def already_has_active_infraction(ctx: Context, user: Union[Member, Object, User], type: str) -> bool:
+ """Checks if a user already has an active infraction of the given type."""
+ active_infractions = await ctx.bot.api_client.get(
+ 'bot/infractions',
+ params={
+ 'active': 'true',
+ 'type': type,
+ 'user__id': str(user.id)
+ }
+ )
+ if active_infractions:
+ await ctx.send(
+ f":x: According to my records, this user already has a {type} infraction. "
+ f"See infraction **#{active_infractions[0]['id']}**."
+ )
+ return True
+ else:
+ return False