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

Posted

技术标签:

【中文标题】discord.js - 如何从嵌入中读取数据【英文标题】:discord.js - How to read data from embed 【发布时间】:2022-01-22 04:18:19 【问题描述】:

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

let messageId = '922497690359716898';

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

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

【问题讨论】:

【参考方案1】:

单个 ID/雪花没有 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);

【讨论】:

以上是关于discord.js - 如何从嵌入中读取数据的主要内容,如果未能解决你的问题,请参考以下文章

无法从反应中读取标准表情符号名称 [discord.js]

TypeError:无法使用 discord.js 读取属性“”错误

无法使用 Discord.js 在数据库中写入和读取值

无法读取未定义 discord.js 的属性“名称”尝试读取 json 中的数组

如何使用 Node.js 读取/写入图像?

Discord.js:TypeError:无法读取未定义的属性“删除”