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.
Name | Type | Optional | Description |
---|---|---|---|
data | APIEmbed | Yes | The 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' },
);
Name | Type | Optional | Description |
---|---|---|---|
fields | RestOrArray<APIEmbedField> | No | The fields to add |
setAuthor(options)
:
this
Sets the author of this embed.
Name | Type | Optional | Description |
---|---|---|---|
options | EmbedAuthorOptions | null | No | The options to use |
setColor(color)
:
this
Sets the color of this embed.
Name | Type | Optional | Description |
---|---|---|---|
color | RGBTuple | number | null | No | The color to use |
setDescription(description)
:
this
Sets the description of this embed.
Name | Type | Optional | Description |
---|---|---|---|
description | string | null | No | The 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.Name | Type | Optional | Description |
---|---|---|---|
fields | RestOrArray<APIEmbedField> | No | The fields to set |
Sets the footer of this embed.
Name | Type | Optional | Description |
---|---|---|---|
options | EmbedFooterOptions | null | No | The footer to use |
setImage(url)
:
this
Sets the image of this embed.
Name | Type | Optional | Description |
---|---|---|---|
url | string | null | No | The image URL to use |
setThumbnail(url)
:
this
Sets the thumbnail of this embed.
Name | Type | Optional | Description |
---|---|---|---|
url | string | null | No | The thumbnail URL to use |
setTimestamp(timestamp?)
:
this
Sets the timestamp of this embed.
Name | Type | Optional | Description |
---|---|---|---|
timestamp | Date | number | null | Yes | The timestamp or date to use |
setTitle(title)
:
this
Sets the title for this embed.
Name | Type | Optional | Description |
---|---|---|---|
title | string | null | No | The title to use |
setURL(url)
:
this
Sets the URL of this embed.
Name | Type | Optional | Description |
---|---|---|---|
url | string | null | No | The 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);
Name | Type | Optional | Description |
---|---|---|---|
index | number | No | The index to start at |
deleteCount | number | No | The number of fields to remove |
fields | APIEmbedField[] | No | The replacing field objects |
toJSON()
:
APIEmbed
Serializes this builder to API-compatible JSON data.