Вы можете использовать Guild.create_text_channel
для создания текстового канала с перезаписью определенных разрешений. Ниже показано, как создать канал, который виден только абоненту, боту и участникам с ролью «Администратор» (вам нужно изменить это на роль, подходящую для вашего сервера)
from discord.utils import get
@bot.command()
async def make_channel(ctx):
guild = ctx.guild
member = ctx.author
admin_role = get(guild.roles, name="Admin")
overwrites = {
guild.default_role: discord.PermissionOverwrite(read_messages=False),
guild.me: discord.PermissionOverwrite(read_messages=True),
admin_role: discord.PermissionOverwrite(read_messages=True)
}
channel = await guild.create_text_channel('secret', overwrites=overwrites)