Discord.js 本地图像嵌入

Posted

技术标签:

【中文标题】Discord.js 本地图像嵌入【英文标题】:Discord.js local image in embed 【发布时间】:2021-09-06 12:54:28 【问题描述】:

我正在尝试将此嵌入嵌入,有多种文件类型,png、jpg、gif 等。

我环顾四周,找不到解决办法

const client = new Discord.Client();
const fs = require("fs")

module.exports = 
    name: 'ari',
    description: "Sends a user his queen",
    
    async execute(message, args) 
        if(message.channel.id === "768497955417096272")
            fs.readdir('./ariana', (err, files) => 
                if(err) console.error(err);
                const randImage = files[Math.floor(Math.random() * files.length)];
                message.channel.send(
                    files: ["./ariana/"+randImage]
                )
            )
        else
            message.channel.send("Go to Pics/Gifs channel!")
        
     
 

【问题讨论】:

您是遇到错误还是无法正常工作? 我的代码正在运行,但我不知道如何嵌入它。我已经阅读了文档,并浏览了这个网站,但似乎找不到答案。 这能回答你的问题吗? How do I use a local image on a discord.js rich embed? 【参考方案1】:

正如您在docs 中看到的那样,要从本地发送图像并使用它嵌入,您需要声明附件并使用附件名称并使用'attachment://<attachment-name>' 更改嵌入选项缩略图网址

// Send an embed with a local image inside
channel.send(embed, 
  embed: 
    thumbnail: 
         url: 'attachment://file.jpg'
      
   ,
   files: [
      attachment: 'entire/path/to/file.jpg',
      name: 'file.jpg'
   ]
)
  .then(console.log)
  .catch(console.error);

或者如果你想在 setImage 中使用

      const embed = new discord.MessageEmbed()
        .attachFiles([ name: 'file.jpg', attachment: 'entire/path/to/file.jpg' ])
        .setImage('attachment://file.jpg');
      channel.send(embed);

【讨论】:

以上是关于Discord.js 本地图像嵌入的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 嵌入随机图像

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

如何在嵌入 discord.js V13 时使用下载的图像

使用新生成的图像自动更新/编辑嵌入消息 - Discord.js

Discord.js 使用来自其他消息的附件来更新嵌入中的图像

Discord.js 男高音 gif 丰富的嵌入