discord.py:命名执行命令的通道

时间:2020-07-13 04:55:54

标签: discord.py

我正在尝试创建一个关于审核的有原则的机器人,但我无法将频道名称放入审核日志中。我已经尝试过使用ctx.channel,但是正如我已经猜到的那样,它是没有用的。 你知道怎么做吗?我最近正在学习discord.py

代码:

@client.command()
@commands.has_permissions(ban_members=True)
async def slowmode(ctx, seconds: int, ):
    embed = discord.Embed(
        color=0xa61022
    )
    embed.set_author(
        name=f'La modalità lenta durerà {seconds} secondi',
        icon_url=f'{ctx.author.avatar_url}'
    )
    await ctx.send(embed=embed, delete_after=10.0)
    await ctx.channel.edit(slowmode_delay=seconds)
    channel_ability = ctx.channel
    embed = discord.Embed(
        color=0xFFD000
    )
    embed.set_author(
        name=f'{ctx.author._user} ha settato ad {seconds} secondi la modalità lenta su {channel_ability}',
        icon_url=f'{ctx.author.avatar_url}'
    )
    embed.set_footer(text=f'Secondi modalità lenta: {seconds}')
    embed.add_field(
        name='Settata da:',
        value=f'{ctx.author._user}',
        inline=True
    )
    embed.add_field(
        name='Canale dove è stata settata la slowmode:',
        value=f'{channel_ability}',
        inline=True
    )
    channel = client.get_channel(729553772547932190)
    await channel.send(embed=embed)

1 个答案:

答案 0 :(得分:0)

尝试ctx.channel时是正确的,只是ctx.channelTextChannel对象,而不是字符串。要访问频道名称,只需写ctx.channel.name

ctx自变量here的文档。