是否可以在嵌入中附加多个图像?

Nic*_*les 6 javascript discord.js

我正在设置一个 waifu gacha 游戏discord.js,想知道是否可以发送包含多个图像的嵌入内容?与此相同的事情

https://pm1.narvii.com/7022/e92995beeea9d48d4344c7fcdd97bedbf3fd4d13r1-1920-1080v2_hq.jpg

如果需要的话,这是我的嵌入代码:

    number = Math.floor(Math.random() * animechr.characters.length);
    oof = animechr.characters[number]["name"]
    oof2 = animechr.characters[number]["image_url"]
    const waifu = new Discord.RichEmbed()
    .setAuthor(anime.title)
    .setThumbnail(oof2)
    .setTitle(oof)
    .setTimestamp()
    .setFooter('Pulled time:')
    message.channel.sendEmbed(waifu) 
Run Code Online (Sandbox Code Playgroud)

.setImage虽然我不知道如何实现这一目标,但除了和 之外,我真的没有任何基础.setThumbnail

Sv4*_*443 7

我发现这篇 Reddit 帖子显示,只要 URL 属性完全相同,客户端就会聚合属于同一消息的嵌入内容。
为了显示标题和其他道具,需要在第一次嵌入时设置它们。
但请注意,设置 URL 属性也会使嵌入标题链接到所设置的任何 URL。
另请注意,移动应用程序会丢弃除第一个嵌入之外的所有内容。

const embeds = [
    new EmbedBuilder().setURL("https://example.org/").setImage("https://picsum.photos/500/500")
        .setTitle("title").setDescription("desc").setFooter({ text: "footer" }),
    new EmbedBuilder().setURL("https://example.org/").setImage("https://picsum.photos/500/400"),
    new EmbedBuilder().setURL("https://example.org/").setImage("https://picsum.photos/400/500"),
    new EmbedBuilder().setURL("https://example.org/").setImage("https://picsum.photos/400/400"),
];

await interaction.reply({ embeds });
Run Code Online (Sandbox Code Playgroud)

展示


Jac*_*Red 5

其实是有办法的。Webhook 消息每条消息最多可以包含 10 个嵌入。因此,您可以使用 Webhook 发送 10 个嵌入,每个嵌入包含一张图像。

该图像应该具有此处记录的宽度和高度字段,但我没有看到任何使用嵌入对象或 RichEmbed 来执行此操作的方法,因此您必须调整要使用的图像的大小,以便它们具有相同的大小。

在您的情况下,懒惰的想法:将图像合并在一个画布中并渲染它,将更好,更接近您共享的图片

const client = new Discord.Client();
const hook = new Discord.WebhookClient(webHook.id, webHook.token);

client.on('ready', () => {
  console.log('Starting!');
  client.user.setActivity(config.activity);
});



client.on('message', async (msg) => {
  if (msg.author.bot) { return; }
  sendImage();
});

let webHook = {
  token: "token-webhook",
  id: "id-webhook"
};

let img = [
  'https://i.imgur.com/ezC66kZ.png',
  'https://i.imgur.com/wSTFkRM.png'
];

function sendImage() {
  let embeds = [];
  embeds.push(new Discord.RichEmbed()
          .setTitle('First Messages')
          .setImage(img[0])
          .setTimestamp()
          .setFooter('Pulled time:'));
  embeds.push(new Discord.RichEmbed()
          .setTitle('First Messages')
          .setImage(img[1])
          .setTimestamp()
          .setFooter('Pulled time:'));
  hook.send({embeds: embeds});
}

client.login(config.token)
  .then(() => console.log("We're in!"))
  .catch((err) => console.log(err));

Run Code Online (Sandbox Code Playgroud)

使成为:
在此输入图像描述