如何从 Discord (webhook) 上的嵌入消息中读取特定文本

Posted

技术标签:

【中文标题】如何从 Discord (webhook) 上的嵌入消息中读取特定文本【英文标题】:How to read specific text from a embed message on Discord (webhook) 【发布时间】:2019-08-28 19:43:22 【问题描述】:

当 webhook 发送到 Discord 时,我希望打开嵌入消息中包含的链接/URL。

到目前为止,我已尝试阅读嵌入并将其拆分为一个列表。然后查找以 https 开头的项目并使用该项目。

虽然分裂没有运气。 当我使用 split 时,它会在我尝试显示它时给我 [ 'Object Object' ]。

const Discord = require('discord.js');
const client = new Discord.Client();


client.on('message', message => 
  if (message.author.username.toString() === 'Persons Nam Here') 
    for(var i = 0; i < message.embeds.length; i++) 
      var hookcontent = message.embeds[i].toString().split(",")
      console.log(hookcontent);

它应该给我一个 webhook 内容的列表,所有内容都用“,”分割成单独的项目

然后我会寻找一个包含“https:”的项目,那就是那个项目。

【问题讨论】:

你在console.log(message.embeds[i]);987654322@时看到了什么 【参考方案1】:

通过在嵌入上调用toString,您只是将对象作为字符串获取。除非 lib 提供了一个 toString 覆盖来解析嵌入的属性(它没有)。您需要做的实际上是自己参考这些属性。

例如,embeds[0].description 会为您提供嵌入描述中的任何内容。 或者,您可以创建自己的函数来读取每个属性并返回包含串联嵌入属性的单个字符串。

【讨论】:

以上是关于如何从 Discord (webhook) 上的嵌入消息中读取特定文本的主要内容,如果未能解决你的问题,请参考以下文章