显示带有嵌入内容的 url (djs v12)

Posted

技术标签:

【中文标题】显示带有嵌入内容的 url (djs v12)【英文标题】:Displaying urls with embedded content (djs v12) 【发布时间】:2021-11-07 21:59:50 【问题描述】:

我希望在嵌入中显示图像/gif url,如果它具有嵌入的内容,它将与 url 一起显示。目前,我只知道如果消息作为附件上传到 discord 时如何显示。

Example,头像显示在嵌入中。对于具有嵌入内容的图像,这与我想要的概念相同。

 const embed = new MessageEmbed()
 
   

      .setDescription(message.content)
      .setColor("#E74C3C")
      .setTimestamp()
      .setImage(message.attachments.array().length == 0 ? null:message.attachments.first().url)
      .setAuthor(
        message.author.tag,
        message.author.displayAvatarURL( dynamic: true )
      
    );

【问题讨论】:

您能详细说明您的问题吗?你是否试图让它显示 URL 以及它的嵌入内容在嵌入中?? 是的,基本上就是这样 您无法做到嵌入 URL 的内容已经是嵌入,您不能嵌套嵌入,因为它必须是消息或只是 URL 的内容 所以你无法显示 URL 的内容,这就是我想要做的。对不起,如果我说的根本没有任何意义,我有一段时间没睡了。 很抱歉,您能否附上一个示例来说明您正在尝试做什么?老实说,我对你想要达到的目标感到困惑,哈哈 【参考方案1】:

据我了解,您正在尝试将图像设置为嵌入现有图像的嵌入,以便在我们放置 URL 时显示。

您可以简单地使用MessageEmbed 构造函数的MessageEmbed#setImage() 方法以及从链接中提取图像作为该方法的URL 参数(因为您需要先将其发送到discord):


    const  MessageEmbed  = require("discord.js")
    message.channel.send("https://discord.com/").then( (embeddedmessage) => 
    let image = embeddedmessage.embeds[0].thumbnail.url
    const x = new MessageEmbed()
    x.setTitle("Discord URL's Image")
    x.setImage(image);
    embeddedmessage.edit(x);
    );
    

带有 URL 的消息(如果有嵌入)将有一个丰富的嵌入对象,这将证明其中存在的图像是合理的(这是我们在代码中采用的 URL 的示例对象:


    "title": "Discord | Your Place to Talk and Hang Out",
    "type": "rich",
    "description": "Discord is the easiest way to talk over voice, video, and text. Talk, chat, hang out, and stay close with your friends and communities.",
    "url": "https://discord.com/",
    "timestamp": null,
    "color": null,
    "fields": [],
    "thumbnail": 
        "url": "https://discord.com/assets/652f40427e1f5186ad54836074898279.png",
        "proxyURL": "https://images-ext-2.discordapp.net/external/pL0w57uLXr8vYKityoLlH1CVuGCs0fB5xnrWKO8Fqoo/https/discord.com/assets/652f40427e1f5186ad54836074898279.png",
        "height": 630,
        "width": 1200
    ,
    "image": null,
    "author": null,
    "footer": null

【讨论】:

【参考方案2】:

也许你可以试试 .setURL() ?

if(message.attachments.size > 0) 
  embed.setURL(message.attachments.first().url)

【讨论】:

Discord 嵌入可以很好地包含 GIF,尽管 OP 在问别的问题,让他们澄清一下。 @ignshifts 会让标题变成链接 @Zero 哦我忘记了,抱歉信息有误

以上是关于显示带有嵌入内容的 url (djs v12)的主要内容,如果未能解决你的问题,请参考以下文章

消息嵌入中的 Discord.js v12 图像

iframe 中显示的嵌入式付款返回 url

与嵌入分开发送附件的 Djs 交互

discord.js v12 用户信息命令

v12 不会删除机器人的反应,但 v13 会删除机器人的反应 (discord.js)

Discord.js V12 如何显示具有特定角色的所有成员?