EmbedBuilder

export declare class EmbedBuilder
export declare class EmbedBuilder
A builder that creates API-compatible JSON data for embeds.
constructor(data?)
Creates a new embed from API data.
NameTypeOptionalDescription
dataAPIEmbedYesThe API data to create this embed with
Readonly
The API data associated with this embed.
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
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
colorRGBTuple | number | nullNoThe color to use
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.