预期结果:用户评论“水果”,机器人以“苹果”作为响应,并在自己的评论上留下苹果表情符号strong
实际结果:用户评论“水果”,机器人以“苹果”作为响应,并在用户的评论上留下苹果表情符号strong,而不是用户的评论
bot.on('message', msg => {
if(msg.content === 'fruit'){
msg.reply('apple').then();
msg.react('?');
}
})
我也尝试了以下方法:
bot.on('message', msg => {
if(msg.content === 'fruit'){
msg.reply('apple').then(react('?'));
}
})
但这会导致错误:“未定义反应”
提前谢谢
答案 0 :(得分:2)
这非常容易解决。您所要做的就是在.then
内使用箭头功能。
msg.reply('apple').then(m => m.react('?'));
答案 1 :(得分:2)
您需要在promise中使用消息回复的结果:
bot.on('message', msg => {
if (msg.content === 'fruit') {
msg.reply('apple').then((botMsg) => botMsg.react('?'));
}
});
(您可以在then内创建消息,这意味着诺言成功了)