From afba735c3aefcfc59171b5f7621b5c98d1f8709b Mon Sep 17 00:00:00 2001 From: Rodry <38259440+ImRodry@users.noreply.github.com> Date: Mon, 26 Jul 2021 23:53:17 +0100 Subject: [PATCH 1/3] feat(MessageEmbed): add setFields method --- src/structures/MessageEmbed.js | 10 ++++++++++ typings/index.d.ts | 1 + 2 files changed, 11 insertions(+) diff --git a/src/structures/MessageEmbed.js b/src/structures/MessageEmbed.js index d40c3d8bf8ca..2cfb99ab1074 100644 --- a/src/structures/MessageEmbed.js +++ b/src/structures/MessageEmbed.js @@ -298,6 +298,16 @@ class MessageEmbed { return this; } + /** + * Sets the embed's fields (max 25). + * @param {...EmbedFieldData|EmbedFieldData[]} fields The fields to set + * @returns {MessageEmbed} + */ + setFields(...fields) { + this.fields = this.constructor.normalizeFields(fields); + return this; + } + /** * Sets the author of this embed. * @param {string} name The name of the author diff --git a/typings/index.d.ts b/typings/index.d.ts index 5b85087b1f4f..dddd453bada4 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -1156,6 +1156,7 @@ export class MessageEmbed { public readonly video: MessageEmbedVideo | null; public addField(name: string, value: string, inline?: boolean): this; public addFields(...fields: EmbedFieldData[] | EmbedFieldData[][]): this; + public setFields(...fields: EmbedFieldData[] | EmbedFieldData[][]): this; public setAuthor(name: string, iconURL?: string, url?: string): this; public setColor(color: ColorResolvable): this; public setDescription(description: string): this; From e41f7963c65c26784498183296cac54275768edc Mon Sep 17 00:00:00 2001 From: Rodry <38259440+ImRodry@users.noreply.github.com> Date: Thu, 29 Jul 2021 17:51:41 +0100 Subject: [PATCH 2/3] fix(MessageEmbed): use spliceFields instead of reassigning --- src/structures/MessageEmbed.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/structures/MessageEmbed.js b/src/structures/MessageEmbed.js index 2cfb99ab1074..c22b8fce972b 100644 --- a/src/structures/MessageEmbed.js +++ b/src/structures/MessageEmbed.js @@ -304,7 +304,7 @@ class MessageEmbed { * @returns {MessageEmbed} */ setFields(...fields) { - this.fields = this.constructor.normalizeFields(fields); + this.spliceFields(0, this.fields.length, this.constructor.normalizeFields(fields)); return this; } From 1a606cc26b2202cb97bccb1d3b9a2cca8811f386 Mon Sep 17 00:00:00 2001 From: Rodry <38259440+ImRodry@users.noreply.github.com> Date: Sat, 31 Jul 2021 13:07:58 +0100 Subject: [PATCH 3/3] =?UTF-8?q?fix(MessageEmbed):=20don=E2=80=99t=20normal?= =?UTF-8?q?ize=20the=20fields=20twice?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: SpaceEEC --- src/structures/MessageEmbed.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/structures/MessageEmbed.js b/src/structures/MessageEmbed.js index c22b8fce972b..d335248fbd24 100644 --- a/src/structures/MessageEmbed.js +++ b/src/structures/MessageEmbed.js @@ -304,7 +304,7 @@ class MessageEmbed { * @returns {MessageEmbed} */ setFields(...fields) { - this.spliceFields(0, this.fields.length, this.constructor.normalizeFields(fields)); + this.spliceFields(0, this.fields.length, fields); return this; }