在一条消息中发送多个嵌入

Sending multiple embeds in one message

如何在一条消息中发送多个嵌入?像这样发送多个:

await message.channel.send({embed: { //Send a new embed
        title: "Embed 1",
        fields: [{
            name: "Description",
            value: "The Description"
        }]
    }},
    embed: { //Send a new embed
        title: "Embed 2",
        fields: [{
            name: "Description",
            value: "The Description"
        }]
    }});

输出为:

[object Object]
Embed 2
Description: The Description

我找不到任何关于发送多个嵌入的文档,discord.js 文件中提到了它,发送了一个嵌入列表。虽然我已经试过了,但还是不行。

试试用Richembed,编辑更方便,风格更好。

您需要添加两个或要发送多少嵌入,如下所示:

let bot1embed = new Discord.RichEmbed()
.setAuthor("Test Bot")
.setThumbnail(client.user.displayAvatarURL)
.setColor("#00ff00")
.addField("Hello!", "Hello World")
.addField("I'm an bot", "I'm a bot");
message.channel.send(bot1embed);

let bot2embed = new Discord.RichEmbed()
.setAuthor("Test Bot")
.setThumbnail(client.user.displayAvatarURL)
.setColor("#00ff00")
.addField("Hello!", "Hello World")
.addField("I'm an bot", "I'm a bot");
message.channel.send(bot2embed);

这样,当有人使用该命令时,机器人将发送两个嵌入。

使用 Webhook 发送您的消息当然是可能的!

HereWebhookMessageOptions 的文档,您可以看到 embeds 选项接受 MessageEmbed.

的数组

简单示例:

message.channel.createWebhook('Webhook Name', message.author.displayAvatarURL)
.then(w => w.send({embeds: [
    new Discord.MessageEmbed().setAuthor('Embed 1'),
    new Discord.MessageEmbed().setAuthor('Embed 2'),
]}));

这适用于最多 10 个嵌入。