javascript - 如何从 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:”的项目,这就是项目。
解决方案
通过调用toString
嵌入,您只需将对象作为字符串获取。除非 lib 提供了一个 toString 覆盖来解析嵌入的属性(它没有)。您需要做的实际上是自己参考这些属性。
例如,embeds[0].description
将为您提供嵌入描述中的任何内容。或者,您可以创建自己的函数来读取每个属性并返回包含串联嵌入属性的单个字符串。
推荐阅读
- php - PHPMailer PDF附件导致电子邮件无效
- ios - 无法使用滚动视图使导航透明
- python - 尝试安装 Python PIL 模块失败并出现“非零退出代码”
- java - 使用默认弹簧日志添加日志记录?
- php - 如果使用左连接的所有表中的一列名称相同,则打印列值
- javascript - 使用 forEach 遍历 vanilla JS 中的数组对象
- c++ - 如何在 VSCODE 中使用 OpenCV c++
- java - 将大型 PDF 文件与 PDFBox 合并时出错 - 缺少文件结尾标记“%%EOF”
- c# - 如何在弹出窗口后面显示弹出窗口?
- javascript - React/Redux 如何传递参数来修改 API