不一致机器人向消息discord.py添加反应(无自定义表情符号)
问题描述
我一直试图让一个使用discord.py的机器人在阅读this后使用discord.py向消息添加反应(这不是我想要的,因为我没有使用自定义表情符号),但最终给出了这个错误:
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: InvalidArgument: message argument must be a Message
我尝试了此代码
@commands.command(pass_context=True)
async def emoji(ctx):
msg = "working"
await bot.say(msg)
reactions = ['dart']
for emoji in reactions: await bot.add_reaction(msg, emoji)
discord.py上的任何其他相关问题对此都没有帮助
您对如何实现这一点有什么想法
解决方案
错误消息告诉您错误是什么:message argument must be a Message
<&q;
在行中
await bot.add_reaction(msg, emoji)
msg
是字符串,不是Message
对象。您需要捕获您发送的邮件,然后将反应添加到该邮件:
@commands.command(pass_context=True)
async def emoji(ctx):
msg = await bot.say("working")
reactions = ['dart']
for emoji in reactions:
await bot.add_reaction(msg, emoji)
请注意,在更高版本的discord.py
中,add_reaction
已从bot.add_reaction(msg, emoji)
更改为await msg.add_reaction(emoji)
。
相关文章