diff --git a/src/structures/MessageEmbed.js b/src/structures/MessageEmbed.js index 02367fd85cbc..d8725552827c 100644 --- a/src/structures/MessageEmbed.js +++ b/src/structures/MessageEmbed.js @@ -6,6 +6,7 @@ const Util = require('../util/Util'); let deprecationEmittedForSetAuthor = false; let deprecationEmittedForSetFooter = false; +let deprecationEmittedForAddField = false; // TODO: Remove the deprecated code for `setAuthor()` and `setFooter()`. @@ -314,8 +315,18 @@ class MessageEmbed { * @param {string} value The value of this field * @param {boolean} [inline=false] If this field will be displayed inline * @returns {MessageEmbed} + * @deprecated This method is a wrapper for {@link MessageEmbed#addFields}. Use that instead. */ addField(name, value, inline) { + if (!deprecationEmittedForAddField) { + process.emitWarning( + // eslint-disable-next-line max-len + 'MessageEmbed#addField is deprecated and will be removed in the next major update. Use MessageEmbed#addFields instead.', + 'DeprecationWarning', + ); + + deprecationEmittedForAddField = true; + } return this.addFields({ name, value, inline }); } diff --git a/typings/index.d.ts b/typings/index.d.ts index 803b0928b582..1aebe7dbec81 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -1765,6 +1765,7 @@ export class MessageEmbed { public type: string; public url: string | null; public readonly video: MessageEmbedVideo | null; + /** @deprecated This method is a wrapper for {@link MessageEmbed#addFields}. Use that instead. */ public addField(name: string, value: string, inline?: boolean): this; public addFields(...fields: EmbedFieldData[] | EmbedFieldData[][]): this; public setFields(...fields: EmbedFieldData[] | EmbedFieldData[][]): this;