discord.js - 如何从嵌入中读取数据

discord.js - How to read data from embed

我正在尝试获取嵌入消息的颜色。该消息有一个嵌入(带颜色),但它仍然在日志中显示 false

let messageId = '922497690359716898';

if(messageId.embeds){
    let applicationAuthor = messageId.embeds.color;

    console.log(applicationAuthor)
} else console.log('false');

单个 ID/snowflake 没有 embeds 属性。您需要先通过此 ID fetch the message 并在其解析后检查其 embeds

如果带有嵌入的消息与带有命令的消息在同一个频道,您可以使用:

let messageId = '922497690359716898';
try {
  let messageWithEmbed = await msg.channel.messages.fetch(messageId);
  if (messageWithEmbed.embeds?.[0]) {
    let color = messageWithEmbed.embeds[0].color;
    console.log(color);
  } else {
    console.log('no embed found')
  }
} catch (err) {
  console.log(err);
}