我正试图在discord.js上建立一个简单的星板系统,但删除消息的部分让我束手无策。当前,如果一条消息获得了一个星,就会在星板频道中创建一个嵌入式消息,而且关键是页脚是原始消息的id。我希望通过找到具有该页脚的嵌入式消息,然后删除该嵌入式消息来使反向功能(当星号被移除时,该嵌入式消息被删除)起作用,但由于某种原因它不起作用。我一直收到的错误是“UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'cache' of undefined.” 如何正确定义这个变量?
if (reaction.emoji.name === `⭐`) {
const guild = reaction.message.guild;
await reaction.fetch();
const stars = reaction.count;
if (stars === 0) {
const embed = guild.messageEmbed.cache.find(embed => embed.footer === reaction.message.id);
embed.delete
}
}
}
在Map.find (/home/runner/Libertarian-Party-Veteran-Caucus-Bot/node_modules/@discordjs/collection/dist/index.js:161:17) 在Client. (/home/runner/Libertarian-Party-Veteran-Caucus-Bot/index.js:200:28)
在processTicksAndRejections (internal/process/task_queues.js:97:5)```
- TGercken.get()
。 - MrMythicalguild.channels.cache.find
部分应该改为get
。我已经更新了代码。 - mswgen