如何向用户发送的命令添加反应? [不和谐.py]

时间:2021-04-12 10:08:26

标签: python discord discord.py

所以我试图让它在没有错误的情况下执行命令时,它会用 :white_check_mark: 对命令消息做出反应,如果有错误,它会用 :x: 做出反应。我试过用 load 命令来做,这就是我得到的:

@commands.check(is_owner)
async def load(ctx, extension):
    try:
        client.load_extension(f"cogs.{extension}")
        print(f"The {extension} Cog has been loaded onto main file.")
        await ctx.add_reaction(":white_check_mark:")

    except:
        await ctx.add_reaction(":x:")

它不起作用。错误命令是:

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'Context' object has no attribute 'add_reaction'

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:3)

正如错误所说,Context 没有 add_reaction 方法。您应该将反应添加到 Message 实例,您可以这样做:

await ctx.message.add_reaction("✅")

此外,反应必须是 unicode(如果它是默认的),只需在不和谐发送中\:emoji: 获取它并复制生成的消息。