所以我试图让它在没有错误的情况下执行命令时,它会用 :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'
我怎样才能让它发挥作用?
答案 0 :(得分:3)
正如错误所说,Context
没有 add_reaction
方法。您应该将反应添加到 Message
实例,您可以这样做:
await ctx.message.add_reaction("✅")
此外,反应必须是 unicode(如果它是默认的),只需在不和谐发送中\:emoji:
获取它并复制生成的消息。