Search...

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

data

:

APIEmbed

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.