35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
import discord
|
|
from discord import app_commands
|
|
from discord.ext import commands
|
|
|
|
from loguru import logger
|
|
|
|
|
|
@app_commands.guild_only()
|
|
class Admin(app_commands.Group):
|
|
@app_commands.command()
|
|
@app_commands.default_permissions(ban_members=True)
|
|
async def ban(self, itr: discord.Interaction, user: discord.Member, reason:str = None, delete_message_mins:int = 0):
|
|
try:
|
|
await user.ban(reason=reason, delete_message_seconds=delete_message_mins*60)
|
|
await itr.response.send_message(f"Member {user.name} was banned")
|
|
except discord.errors.Forbidden:
|
|
await itr.response.send_message("Error: Forbidden", ephemeral=True)
|
|
|
|
|
|
@app_commands.command()
|
|
@app_commands.default_permissions(kick_members=True)
|
|
async def kick(self, itr: discord.Interaction, user: discord.Member, reason:str = None):
|
|
try:
|
|
await user.kick(reason=reason)
|
|
await itr.response.send_message(f"Member {user.name} was kicked")
|
|
except discord.errors.Forbidden:
|
|
await itr.response.send_message("Error: Forbidden", ephemeral=True)
|
|
|
|
|
|
|
|
async def setup(bot: commands.Bot):
|
|
bot.tree.add_command(Admin())
|
|
|
|
logger.info(f"{__file__} loaded")
|