Added /register, /unregister and stubs for jailing and channel maintenance (#8)

This commit is contained in:
2025-04-24 00:18:04 +02:00
parent c1d8620478
commit e0ff0bab92
3 changed files with 202 additions and 0 deletions

88
cogs/user.py Normal file
View File

@@ -0,0 +1,88 @@
from discord import (
ApplicationContext,
SlashCommandGroup,
User,
option,
)
from discord.ext.commands import Cog
from classes.pycord_bot import PycordBot
class User(Cog):
"""Cog with user management commands."""
def __init__(self, bot: PycordBot):
self.bot: PycordBot = bot
# TODO Introduce i18n
command_group: SlashCommandGroup = SlashCommandGroup("user", "User management")
# TODO Implement the command
@command_group.command(
name="create_channel",
description="Create channel for the user",
)
@option(
"user",
description="Selected user",
)
async def command_user_create_channel(self, ctx: ApplicationContext, user: User) -> None:
await ctx.respond("Not implemented.")
# TODO Implement the command
@command_group.command(
name="update_channel",
description="Update user's channel",
)
@option(
"user",
description="Selected user",
)
async def command_user_update_channel(self, ctx: ApplicationContext, user: User) -> None:
await ctx.respond("Not implemented.")
# TODO Implement the command
@command_group.command(
name="delete_channel",
description="Delete user's channel",
)
@option(
"user",
description="Selected user",
)
@option("confirm", description="Confirmation of the operation", required=False)
async def command_user_delete_channel(
self, ctx: ApplicationContext, user: User, confirm: bool = False
) -> None:
await ctx.respond("Not implemented.")
# TODO Implement the command
@command_group.command(
name="jail",
description="Jail the user",
)
@option(
"user",
description="Selected user",
)
@option("confirm", description="Confirmation of the operation", required=False)
async def command_user_jail(self, ctx: ApplicationContext, user: User, confirm: bool = False) -> None:
await ctx.respond("Not implemented.")
# TODO Implement the command
@command_group.command(
name="unjail",
description="Unjail the user",
)
@option(
"user",
description="Selected user",
)
@option("confirm", description="Confirmation of the operation", required=False)
async def command_user_unjail(self, ctx: ApplicationContext, user: User, confirm: bool = False) -> None:
await ctx.respond("Not implemented.")
def setup(bot: PycordBot) -> None:
bot.add_cog(User(bot))