我正在研究“小型”机器人,目前正在尝试创建二十一点命令。前半部分效果很好,但是当我想更新该机器人已经发布的嵌入时,就会出现问题。我不断收到错误消息:
UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot edit a message authored by another user
这是代码的一部分:
const embd = new Discord.MessageEmbed()
.addFields(
{ name: 'Dealer cards: ' + botCards + ' + ?'},
{ name: 'Your cards: ' + userCards},
)
message.channel.send(embd).then(embdReact => {
embdReact.react('?');
embdReact.react('?');
const filter = (reaction, user) => {
return ['?','?'].includes(reaction.emoji.name) && user.id === message.author.id;
};
embdReact.awaitReactions(filter, { max: 1, time: 60000})
.then(collected => {
const reaction = collected.first();
if (reaction.emoji.name === '?'){
const newEmbd = new Discord.MessageEmbed()
.setTitle("Wow");
message.edit(newEmbd);
}
else {
message.reply('boo');
}
})
})
为了进行测试,我尝试仅更改标题,但在理想情况下,将更新相应的字段。 例如:“您的卡片:”字段。
答案 0 :(得分:2)
您正在编辑错误消息:
该行:
message.edit(newEmbd);
应为:
embdReact.edit(newEmbd);
希望这将帮助您解决问题!