首页 > 解决方案 > 如何从 Discord (webhook) 上的嵌入消息中读取特定文本

问题描述

当 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:”的项目,这就是项目。

标签: javascriptarrayssplitembeddiscord

解决方案


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

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


推荐阅读