From 83fe753a15832c602b5b38f44cf1bad19e70c28c Mon Sep 17 00:00:00 2001 From: profitroll Date: Thu, 4 May 2023 16:13:29 +0200 Subject: [PATCH] WIP: Custom channels --- cogs/custom_channels.py | 11 +++++------ config_example.json | 6 +++++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/cogs/custom_channels.py b/cogs/custom_channels.py index 5d255f8..99afb2f 100644 --- a/cogs/custom_channels.py +++ b/cogs/custom_channels.py @@ -11,9 +11,9 @@ class CustomChannels(commands.Cog): def __init__(self, client): self.client = client - customchannel = SlashCommandGroup("customchannel", "Керування особистим каналом") # discord.create_group("customrole", description="Керування особистою роллю") + customchannel = SlashCommandGroup("customchannel", "Керування особистим каналом") - @customchannel.command(name="buy", description="Отримати персональний текстовий канал", guild_ids=config_get_sync("guilds")) + @customchannel.command(name="buy", description="Отримати персональний текстовий канал", guild_ids=[config_get_sync("guild")]) @option("name", description="Назва каналу") @option("reactions", description="Дозволити реакції") @option("threads", description="Дозволити гілки") @@ -25,11 +25,10 @@ class CustomChannels(commands.Cog): await ctx.defer() created_channel = await ctx.user.guild.create_text_channel(name=name, reason=f"Користувач {guild_name(ctx.user)} купив канал", - category=utils.get(ctx.author.guild.categories, id=await config_get("customchannel", "categories")), + category=utils.get(ctx.author.guild.categories, id=await config_get("customchannels", "categories")), ) await created_channel.set_permissions(ctx.user.guild.default_role, send_messages=False, add_reactions=reactions, create_public_threads=threads, create_private_threads=threads) await created_channel.set_permissions(ctx.user, attach_files=True, manage_messages=True, send_messages=True, embed_links=True, manage_channels=True) - # col_users.update_one(filter={"_id": holo_user_ctx.db_id}, update={ "$set": { "customchannel": created_channel.id } }) holo_user_ctx.set("customchannel", created_channel.id) await ctx.respond(embed=Embed(title="Створено канал", description=f"Вітаємо! Ви створили канал {created_channel.mention}. Для керування ним користуйтесь меню налаштувань каналу а також командою `/customchannel edit`", color=Color.success)) bots = await config_get("bots") @@ -39,7 +38,7 @@ class CustomChannels(commands.Cog): await ctx.defer(ephemeral=True) await ctx.respond(embed=Embed(title="Помилка виконання", description=f"У вас вже є особистий канал.\nДля редагування каналу є `/customchannel edit` або просто відкрийте меню керування вашим каналом.", color=Color.fail)) - @customchannel.command(name="edit", description="Змінити параметри особистого каналу", guild_ids=config_get_sync("guilds")) + @customchannel.command(name="edit", description="Змінити параметри особистого каналу", guild_ids=[config_get_sync("guild")]) @option("name", description="Назва каналу") @option("reactions", description="Дозволити реакції") @option("threads", description="Дозволити гілки") @@ -55,7 +54,7 @@ class CustomChannels(commands.Cog): await custom_channel.set_permissions(ctx.user.guild.default_role, send_messages=False, add_reactions=reactions, create_public_threads=threads, create_private_threads=threads) await ctx.respond(embed=Embed(title="Канал змінено", description=f"Назва каналу тепер `{name}`, реакції `{reactions}` та дозволено треди `{threads}`", color=Color.fail)) - @customchannel.command(name="refund", description="Відібрати канал, знищуючи його, та частково повернути кошти", guild_ids=config_get_sync("guilds")) + @customchannel.command(name="refund", description="Відібрати канал, знищуючи його, та частково повернути кошти", guild_ids=[config_get_sync("guild")]) async def customchannel_refund_cmd(self, ctx: ApplicationContext): holo_user_ctx = HoloUser(ctx.user) diff --git a/config_example.json b/config_example.json index 69a3c4d..2e47467 100644 --- a/config_example.json +++ b/config_example.json @@ -14,5 +14,9 @@ "logging": { "size": 512, "location": "logs" - } + }, + "categories": { + "customchannel": 0 + }, + "bots": {} } \ No newline at end of file