Готовый код для Вас никто не пишет. Вам могут только подсказать, каким образом это сделать.
Могу Вам прислать подобную команду, попробуйте дальше под себя реорганизовать.
@Bot.command()
async def report(ctx):
everyone = discord.utils.get(ctx.guild.roles,name="@everyone")
support = discord.utils.get(ctx.guild.roles,name="Discord Support")
support1 = discord.utils.get(ctx.guild.roles,name="Гл. Модератор")
channel = await ctx.message.guild.create_text_channel('ticket')
await channel.set_permissions( ctx.message.author, view_channel = True, send_messages = True)
await channel.set_permissions( everyone, view_channel = False, send_messages = False)
await channel.set_permissions( support, view_channel = True, send_messages = True)
await channel.set_permissions( support1, view_channel = True, send_messages = True)
await ctx.channel.send(f"```DSBot » Вы успешно создали тикет.```")
await channel.send(f"Вопрос для <@&852590977381433397>.\nДля закрытия тикета, введите - /close_report")
@Bot.command()
async def close_report(ctx,member:discord.Member = None):
channel = ctx.channel
await ctx.channel.send(f"```DSBot » Данный тикет успешно закрыт.```")
await asyncio.sleep(10)
await ctx.channel.set_permissions( ctx.message.author, view_channel = False, send_messages = False)
await ctx.channel.set_permissions( "@everyone", view_channel = False, send_messages = False)
await ctx.channel.set_permissions( "Discord Support", view_channel = False, send_messages = False)
await ctx.channel.set_permissions( member, view_channel = False, send_messages = False)
await ctx.channel.set_permissions( "Гл. Модератор", view_channel = False, send_messages = False)
Мой старенький код, надеюсь, Вам поможет чем-то.