diff --git a/packages/discord.js/src/structures/EmbedBuilder.js b/packages/discord.js/src/structures/EmbedBuilder.js index 09fe5725a..9dadf64ef 100644 --- a/packages/discord.js/src/structures/EmbedBuilder.js +++ b/packages/discord.js/src/structures/EmbedBuilder.js @@ -1,6 +1,6 @@ 'use strict'; -const { EmbedBuilder: BuildersEmbed } = require('@discordjs/builders'); +const { EmbedBuilder: BuildersEmbed, embedLength } = require('@discordjs/builders'); const { isJSONEncodable } = require('@discordjs/util'); const { toSnakeCase } = require('../util/Transformers'); const { resolveColor } = require('../util/Util'); @@ -31,6 +31,14 @@ class EmbedBuilder extends BuildersEmbed { static from(other) { return new this(isJSONEncodable(other) ? other.toJSON() : other); } + + /** + * The accumulated length for the embed title, description, fields, footer text, and author name. + * @type {number} + */ + get length() { + return embedLength(this.data); + } } module.exports = EmbedBuilder; diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 509c53428..72104944a 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -857,6 +857,7 @@ export class EmbedBuilder extends BuildersEmbed { public constructor(data?: EmbedData | APIEmbed); public override setColor(color: ColorResolvable | null): this; public static from(other: JSONEncodable | APIEmbed): EmbedBuilder; + public get length(): number; } export class Embed {