1
Fork 0
mirror of https://github.com/wlinator/luminara.git synced 2024-10-03 00:23:13 +00:00
Lumi/modules/admin/blacklist.py
2024-07-17 08:01:12 -04:00

38 lines
1.1 KiB
Python

from typing import Optional
import discord
from config.parser import JsonCache
from services.blacklist_service import BlacklistUserService
resources = JsonCache.read_json("art")
exclaim_icon = resources["icons"]["exclaim"]
hammer_icon = resources["icons"]["hammer"]
async def blacklist_user(
ctx,
user: discord.User,
reason: Optional[str] = None,
) -> None:
"""
Blacklists a user with an optional reason.
Args:
user_id (int): The ID of the user to blacklist.
reason (str, optional): The reason for blacklisting the user. Defaults to "No reason was given".
"""
blacklist_service = BlacklistUserService(user.id)
blacklist_service.add_to_blacklist(reason)
embed = discord.Embed(
description=f"User `{user.name}` has been blacklisted from Luminara.",
color=discord.Color.red(),
)
embed.set_author(name="User Blacklisted", icon_url=hammer_icon)
embed.set_footer(
text="There is no process to reinstate a blacklisted user. Appeals are not considered.",
icon_url=exclaim_icon,
)
await ctx.send(embed=embed)