WIP: Custom channels
This commit is contained in:
parent
b8cc18041e
commit
83fe753a15
@ -11,9 +11,9 @@ class CustomChannels(commands.Cog):
|
|||||||
def __init__(self, client):
|
def __init__(self, client):
|
||||||
self.client = 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("name", description="Назва каналу")
|
||||||
@option("reactions", description="Дозволити реакції")
|
@option("reactions", description="Дозволити реакції")
|
||||||
@option("threads", description="Дозволити гілки")
|
@option("threads", description="Дозволити гілки")
|
||||||
@ -25,11 +25,10 @@ class CustomChannels(commands.Cog):
|
|||||||
await ctx.defer()
|
await ctx.defer()
|
||||||
created_channel = await ctx.user.guild.create_text_channel(name=name,
|
created_channel = await ctx.user.guild.create_text_channel(name=name,
|
||||||
reason=f"Користувач {guild_name(ctx.user)} купив канал",
|
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.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)
|
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)
|
holo_user_ctx.set("customchannel", created_channel.id)
|
||||||
await ctx.respond(embed=Embed(title="Створено канал", description=f"Вітаємо! Ви створили канал {created_channel.mention}. Для керування ним користуйтесь меню налаштувань каналу а також командою `/customchannel edit`", color=Color.success))
|
await ctx.respond(embed=Embed(title="Створено канал", description=f"Вітаємо! Ви створили канал {created_channel.mention}. Для керування ним користуйтесь меню налаштувань каналу а також командою `/customchannel edit`", color=Color.success))
|
||||||
bots = await config_get("bots")
|
bots = await config_get("bots")
|
||||||
@ -39,7 +38,7 @@ class CustomChannels(commands.Cog):
|
|||||||
await ctx.defer(ephemeral=True)
|
await ctx.defer(ephemeral=True)
|
||||||
await ctx.respond(embed=Embed(title="Помилка виконання", description=f"У вас вже є особистий канал.\nДля редагування каналу є `/customchannel edit` або просто відкрийте меню керування вашим каналом.", color=Color.fail))
|
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("name", description="Назва каналу")
|
||||||
@option("reactions", description="Дозволити реакції")
|
@option("reactions", description="Дозволити реакції")
|
||||||
@option("threads", 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 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))
|
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):
|
async def customchannel_refund_cmd(self, ctx: ApplicationContext):
|
||||||
|
|
||||||
holo_user_ctx = HoloUser(ctx.user)
|
holo_user_ctx = HoloUser(ctx.user)
|
||||||
|
@ -14,5 +14,9 @@
|
|||||||
"logging": {
|
"logging": {
|
||||||
"size": 512,
|
"size": 512,
|
||||||
"location": "logs"
|
"location": "logs"
|
||||||
}
|
},
|
||||||
|
"categories": {
|
||||||
|
"customchannel": 0
|
||||||
|
},
|
||||||
|
"bots": {}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user