因此,假设我创建了一个嵌入并将其发送到频道。这是嵌入的内容:
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.");
这会更改标题和描述,但是我不确定如何删除自己添加的字段。
答案 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},
]);