Как отправить сообщение только что созданному каналу?

#python #discord.py

#python #discord.py

Вопрос:

Я хочу создать команду nuke в своем боте, но у меня есть одна проблема: как я могу заставить бота отправлять сообщение на только что созданный канал? Вот мой код:

 @client.command()
@commands.has_permissions(administrator=True)
async def nuke(ctx):
    await ctx.channel.delete()
    await ctx.channel.clone(reason="Channel has been nuked")

    embed = discord.Embed(
        title=f':boom: CHAT ({ctx.channel.name}) HAS BEEN CLEARED :boom:',
        description=f'By: **@{user.name}#{user.discriminator}**',
        colour=discord.Colour.blue()
    )
    embed.set_footer(text=f"{ctx.guild.name}{datetime.strftime(datetime.now(), '%d.%m.%Y at %I:%M %p')}")

    await ctx.send(embed=embed)
  

Ответ №1:

 @client.command()
@commands.has_permissions(administrator=True)
async def nuke(ctx):
    await ctx.channel.delete()
    new_channel = await ctx.channel.clone(reason="Channel has been nuked")

    embed = discord.Embed(
        title=f':boom: CHAT ({ctx.channel.name}) HAS BEEN CLEARED :boom:',
        description=f'By: **@{user.name}#{user.discriminator}**',
        colour=discord.Colour.blue()
    )
    embed.set_footer(text=f"{ctx.guild.name}{datetime.strftime(datetime.now(), '%d.%m.%Y at %I:%M %p')}")

    await new_channel.send(embed=embed)
  

Это должно сработать!

Комментарии:

1. Возможно, вам следует клонировать канал перед его удалением.