gpt4 book ai didi

discord - 你如何在 discord.js 中搜索嵌入

转载 作者:行者123 更新时间:2023-12-05 03:31:17 30 4
gpt4 key购买 nike

我正在尝试在 discord.js 上制作一个简单的右舷系统,删除消息部分让我很困惑。目前,如果一条消息获得星号,则会在右舷 channel 创建一个嵌入,而且至关重要的是,页脚是原始消息的 ID。我想通过找到带有该页脚的嵌入然后删除该嵌入来使反函数(当星号被删除时,嵌入被删除)工作,但由于某种原因它不起作用。我不断收到的错误是“UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性‘缓存’。”如何属性定义此变量?

  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
}
}
}

最佳答案

你必须从右舷 channel 找到嵌入,而不是从整个公会。您可以使用 Channel.messages.fetchChannel.messages.cache.find 来查找特定消息。试试这个:

if (reaction.emoji.name === `⭐`) {
const guild = reaction.message.guild;
await reaction.fetch();
const stars = reaction.count;
if (stars === 0) {
guild.channels.cache.get('starboard-channel-id').messages.fetch().then(fetchedMsgs => {
fetchedMsgs.find(x => x.embeds[0].footer.text == reaction.message.id).delete();
})
}
}
}

关于discord - 你如何在 discord.js 中搜索嵌入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70689897/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com