EmbedBuilder

export class EmbedBuilder extends BuildersEmbed
export class EmbedBuilder extends BuildersEmbed
Represents an embed builder.
constructor(data?)
Constructs a new instance of the EmbedBuilder class
NameTypeOptionalDescription
dataEmbedData | APIEmbedYesNone
Readonly
The API data associated with this embed.
Readonly
length:number
The accumulated length for the embed title, description, fields, footer text, and author name.
addFields(...fields):this
Appends fields to the embed.
Remarks
This method accepts either an array of fields or a variable number of field parameters. The maximum amount of fields that can be added is 25.
Example
Using an array:
const fields: APIEmbedField[] = ...;
const embed = new EmbedBuilder()
.addFields(fields);
const fields: APIEmbedField[] = ...;
const embed = new EmbedBuilder()
.addFields(fields);
Example
Using rest parameters (variadic):
const embed = new EmbedBuilder()
.addFields(
{ name: 'Field 1', value: 'Value 1' },
{ name: 'Field 2', value: 'Value 2' },
);
const embed = new EmbedBuilder()
.addFields(
{ name: 'Field 1', value: 'Value 1' },
{ name: 'Field 2', value: 'Value 2' },
);
NameTypeOptionalDescription
...fieldsRestOrArray<APIEmbedField>NoThe fields to add
Static
from(other):EmbedBuilder
Creates a new embed builder from JSON data
NameTypeOptionalDescription
otherJSONEncodable<APIEmbed> | APIEmbedNoThe other data
setAuthor(options):this
Sets the author of this embed.
NameTypeOptionalDescription
optionsEmbedAuthorOptions | nullNoThe options to use
setColor(color):this
Sets the color of this embed
NameTypeOptionalDescription
colorColorResolvable | nullNoThe color of the embed
setDescription(description):this
Sets the description of this embed.
NameTypeOptionalDescription
descriptionstring | nullNoThe description to use
setFields(...fields):this
Sets the fields for this embed.
Remarks
This method is an alias for spliceFields. More specifically, it splices the entire array of fields, replacing them with the provided fields.You can set a maximum of 25 fields.
NameTypeOptionalDescription
...fieldsRestOrArray<APIEmbedField>NoThe fields to set
setFooter(options):this
Sets the footer of this embed.
NameTypeOptionalDescription
optionsEmbedFooterOptions | nullNoThe footer to use
setImage(url):this
Sets the image of this embed.
NameTypeOptionalDescription
urlstring | nullNoThe image URL to use
setThumbnail(url):this
Sets the thumbnail of this embed.
NameTypeOptionalDescription
urlstring | nullNoThe thumbnail URL to use
setTimestamp(timestamp?):this
Sets the timestamp of this embed.
NameTypeOptionalDescription
timestampDate | number | nullYesThe timestamp or date to use
setTitle(title):this
Sets the title for this embed.
NameTypeOptionalDescription
titlestring | nullNoThe title to use
setURL(url):this
Sets the URL of this embed.
NameTypeOptionalDescription
urlstring | nullNoThe URL to use
spliceFields(index, deleteCount, ...fields):this
Removes, replaces, or inserts fields for this embed.
Remarks
This method behaves similarly to Array.prototype.splice(). The maximum amount of fields that can be added is 25.It's useful for modifying and adjusting order of the already-existing fields of an embed.
Example
Remove the first field:
embed.spliceFields(0, 1);
embed.spliceFields(0, 1);
Example
Remove the first n fields:
const n = 4;
embed.spliceFields(0, n);
const n = 4;
embed.spliceFields(0, n);
Example
Remove the last field:
embed.spliceFields(-1, 1);
embed.spliceFields(-1, 1);
NameTypeOptionalDescription
indexnumberNoThe index to start at
deleteCountnumberNoThe number of fields to remove
...fieldsAPIEmbedField[]NoThe replacing field objects
toJSON():APIEmbed
Serializes this builder to API-compatible JSON data.
Remarks
This method runs validations on the data before serializing it. As such, it may throw an error if the data is invalid.