![](/img/trans.png)
[英]How would I send a message to all discord servers my bot is in v14 discord.js?
[英]How to get a embed from a message in Discord.js v14
我收到一条用表情符号做出反应的消息,想将其发送到另一个频道,但我无法从该消息reaction.message.embeds
中获取嵌入信息。message.embeds 为空。
我是否需要设置一些意图才能读取该数据? 类似于消息的GatewayIntentsBits.MessageContent
想要重新发送嵌入到另一个频道的消息
[编辑] 当我做一些奇怪的事情时: reaction.message.channel.messages.fetch(reaction.message.id)
embeds
标签似乎有效,有什么办法或原因吗? 或者我应该使用这种奇怪的方式,有人可以向我解释为什么第一个示例不起作用吗?
关于意图:
对于未提及客户端的消息,此属性需要 GatewayIntentBits.MessageContent 公会中的特权意图。 ( https://discord.js.org/#/docs/discord.js/main/class/Message?scrollTo=embeds )
返回是一个嵌入数组。 因此,您需要使用reaction.message.embeds[0]
来访问它。 当然,如果您的reaction.message.embeds
完全为空,这将无济于事。
检查信息的一个好方法是console.log(reaction.message)
您也可以直接 fetch() 反应以获得完整的 MessageReaction 信息。
reaction.fetch().then((fetchedReaction) => {
fetchedReaction.message.embeds[0]; //or
fetchedReaction.message.embeds;
});
您的解决方案
reaction.message.channel.messages.fetch(reaction.message.id)
如果消息可能不在缓存中,这确实是最好和正确的方法。 这样它仍然被检索。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.