如何通过编辑从嵌入中删除字段?

时间:2018-12-30 00:31:28

标签: javascript discord discord.js

因此,假设我创建了一个嵌入并将其发送到频道。这是嵌入的内容:

const embed = new Discord.RichEmbed()
        .setColor(color)
        .setTitle(`${message.author.tag} wants to play.`)
        .setAuthor(message.author.tag, message.author.displayAvatarURL)
        .setDescription(game)
        .setThumbnail(icon)
        .addField(`\u200b\n**React with ${emoji} to join.**`, "Remove your reaction to leave.");

发送后,我要编辑该嵌入的标题和说明,并删除我最后添加的字段。

这是我要创建的新嵌入内容:

const embed = new Discord.RichEmbed(reaction.message.embeds[0])
            .setTitle("This game has ended.")
            .setDescription("You can no longer join.");

这会更改标题和描述,但是我不确定如何删除自己添加的字段。

3 个答案:

答案 0 :(得分:1)

对不起,我误会了。您可以手动将新嵌入对象的属性(例如embed.fields,)设置为null。 here是RichEmbed属性的文档。

在您的特定情况下,要删除所有字段,您可以执行以下操作:

embed.fields = null;

答案 1 :(得分:0)

我知道这是6个月大了,但是如果有人像我一样在这里绊倒,则不应将embed.fields设置为null。这样可以防止以后使用addField方法添加新字段。而是将其设置为空数组。

embed.fields = [];

答案 2 :(得分:0)

使用此:

.spliceFields(startingIndex, numberOfFieldsToDelete, [
    {name: fieldName, value: fieldValue},
]);