Skip to content

EmbedBuilder

Package: @erinjs/builders

Builder for creating rich embeds. Use toJSON() when passing to reply, send, or edit. Embeds must have at least one of: title, description, fields, or image/thumbnail. A description-only embed (no title) is valid.

Properties

NameTypeReadonlyOptionalDescription
dataAPIEmbedYesNo

Methods

addFields()

Add one or more fields. Max 25 fields.

Returns: this

Parameters:

NameTypeOptionalDescription
fieldsEmbedFieldData[]No

from()

Create an EmbedBuilder from an existing API embed.

Returns: EmbedBuilder

Parameters:

NameTypeOptionalDescription
dataAPIEmbedNo

setAudio()

Set the embed audio. Supported by erin.js.

Returns: this

Parameters:

NameTypeOptionalDescription
inputstring | EmbedMediaOptions | nullNoAudio URL, full media options, or null to clear

setAuthor()

Set the embed author (name, optional icon URL and link).

Returns: this

Parameters:

NameTypeOptionalDescription
optionsEmbedAuthorOptions | nullNo

setColor()

Set the embed color. Number (hex), hex string, or [r,g,b] array.

Returns: this

Parameters:

NameTypeOptionalDescription
colorstring | number | [number, number, number] | nullNo

setDescription()

Set the embed description. Max 4096 characters.

Returns: this

Parameters:

NameTypeOptionalDescription
descriptionstring | nullNo

setFooter()

Set the embed footer (text, optional icon URL).

Returns: this

Parameters:

NameTypeOptionalDescription
optionsEmbedFooterOptions | nullNo

setImage()

Set the embed image (URL string or full media options).

Returns: this

Parameters:

NameTypeOptionalDescription
inputstring | EmbedMediaOptions | nullNo

setThumbnail()

Set the embed thumbnail (URL string or full media options).

Returns: this

Parameters:

NameTypeOptionalDescription
inputstring | EmbedMediaOptions | nullNo

setTimestamp()

Set the embed timestamp. Omit for current time.

Returns: this

Parameters:

NameTypeOptionalDescription
timestampnumber | Date | nullYes

setTitle()

Set the embed title. Max 256 characters.

Returns: this

Parameters:

NameTypeOptionalDescription
titlestring | nullNo

setURL()

Set the embed URL (title becomes a link).

Returns: this

Parameters:

NameTypeOptionalDescription
urlstring | nullNo

setVideo()

Set the embed video. Supported by erin.js. Embed stays type 'rich'; this adds the .video field. Include a title (e.g. setTitle) when using video.

Returns: this

Parameters:

NameTypeOptionalDescription
inputstring | EmbedMediaOptions | nullNoVideo URL, full media options (e.g. duration for progress bars), or null to clear

spliceFields()

Returns: this

Parameters:

NameTypeOptionalDescription
indexnumberNo
deleteCountnumberNo
fieldsEmbedFieldData[]No

toJSON()

Convert to API embed format for reply, send, or edit.

Returns: APIEmbed

Parameters:

None

Released under the Apache-2.0 License.