javascript - discord.js 如何编辑/更新嵌入?
问题描述
我正在开发一个“小型”机器人以获取乐趣,目前正在尝试创建一个二十一点命令。前半部分工作正常,但是当我想更新机器人已经发布的嵌入时会出现问题。我不断收到错误消息:
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');
}
})
})
为了进行测试,我尝试仅更改标题,但在完美的世界中,相应的字段将被更新。例如: “你的卡片:”字段。
解决方案
您正在编辑错误消息:
该行:
message.edit(newEmbd);
应该 :
embdReact.edit(newEmbd);
希望这能帮助您解决问题!
推荐阅读
- python - 使用 pyad 更新姓氏
- elasticsearch - 如何添加和/或作为要查询的字符串的一部分?
- node.js - 当我运行 npm start 创建 React 应用程序时缺少脚本
- ios - iOS 自动续订订阅 - 警报确认回调
- javascript - 如何用逗号计算金额
- node.js - Npm 删除生产环境的测试文件夹
- ajax - 在 Drupal 中上传 JPG 时出现 AjaxError
- excel - Excel将单元格值匹配到注释中
- javascript - 为什么mssql会占用这么多内存,耗时这么久?
- c# - 被 CORS 策略阻止:“Access-Control-Allow-Origin”标头包含多个值“*、*”,但只允许一个