【问题标题】:Djs interaction sending attachment separately from embed与嵌入分开发送附件的 Djs 交互
【发布时间】:2021-12-01 23:50:09
【问题描述】:

我试图让我的消息看起来像this,但由于interaction.reply,我得到了this

这是我的代码:

fs.readdir("./pics", (error, files) => {
if (error) return console.log(error)
const num = (Math.floor(Math.random() * files.length)+1).toString();

const imagembed = new Discord.MessageEmbed()
.setTitle("Some cute pic for you!")
.setColor("#980002")
.setFooter("Requested by " + interaction.member.user.tag);
interaction.reply({ embeds: [imagembed], files: [`./pics/${num}.jpg`]})
})

有什么解决办法吗?

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    将图像附加到嵌入中

    可以使用MessageEmbed.setImage() 在嵌入中附加图像。这需要一个有效的图片链接。

    附加本地图片

    由于MessageEmbed.setImage() 是唯一的方法,要将图像附加到嵌入,您必须使用一些技巧。您必须将图像作为文件发送到您的MessagePayload 并将其添加到嵌入中。

    const embed = new discord.MessageEmbed().setImage("attachment://image.png");
    interaction.reply({ embeds: [embed ], files: [`./path/to/image.png`] });
    

    解决您的问题

    对你来说,这将导致以下代码:

    fs.readdir("./pics", (error, files) => {
      if (error) return console.log(error)
      const num = (Math.floor(Math.random() * files.length) + 1).toString();
    
      const imagembed = new Discord.MessageEmbed()
        .setTitle("Some cute pic for you!")
        .setColor("#980002")
        .setFooter("Requested by " + interaction.member.user.tag)
        .setImage(`attachment://${num}.jpg`);
      interaction.reply({ embeds: [imagembed], files: [`./pics/${num}.jpg`] })
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-19
      • 2021-06-24
      • 2015-12-05
      • 2021-03-24
      • 1970-01-01
      • 2023-01-07
      • 1970-01-01
      相关资源
      最近更新 更多