SectionBuilder

export declare class SectionBuilder extends ComponentBuilder<APISectionComponent>
export declare class SectionBuilder extends ComponentBuilder<APISectionComponent>

No summary provided.

constructor(data?)
Creates a new section from API data.
Example
Creating a section from an API data object:
const section = new SectionBuilder({
components: [
{
content: "Some text here",
type: ComponentType.TextDisplay,
},
],
accessory: {
media: {
url: 'https://cdn.discordapp.com/embed/avatars/3.png',
},
}
});
const section = new SectionBuilder({
components: [
{
content: "Some text here",
type: ComponentType.TextDisplay,
},
],
accessory: {
media: {
url: 'https://cdn.discordapp.com/embed/avatars/3.png',
},
}
});
Example
Creating a section using setters and API data:
const section = new SectionBuilder({
components: [
{
content: "# Heading",
type: ComponentType.TextDisplay,
},
],
})
.setPrimaryButtonAccessory(button);
const section = new SectionBuilder({
components: [
{
content: "# Heading",
type: ComponentType.TextDisplay,
},
],
})
.setPrimaryButtonAccessory(button);
NameTypeOptionalDescription
dataPartial<APISectionComponent>YesThe API data to create this section with
Readonly
components:readonly TextDisplayBuilder[]
ProtectedReadonly
addTextDisplayComponents(...input):this
Adds text display components to this section.
NameTypeOptionalDescription
...inputRestOrArray<APITextDisplayComponent | TextDisplayBuilder | ((builder: TextDisplayBuilder) => TextDisplayBuilder)>NoThe text display components to add
clearId():this
Clears the id of this component, defaulting to a default incremented id.
Inherited from ComponentBuilder
setDangerButtonAccessory(input):this
Sets a danger button component to be the accessory of this section.
NameTypeOptionalDescription
inputDangerButtonBuilder | ((builder: DangerButtonBuilder) => DangerButtonBuilder) | (APIButtonComponentWithCustomId & { style: ButtonStyle.Danger; })NoThe button to set as the accessory
setId(id):this
Sets the id of this component.
NameTypeOptionalDescription
idnumberNoThe id to use
Inherited from ComponentBuilder
setLinkButtonAccessory(input):this
Sets a URL button component to be the accessory of this section.
NameTypeOptionalDescription
inputAPIButtonComponentWithURL | LinkButtonBuilder | ((builder: LinkButtonBuilder) => LinkButtonBuilder)NoThe button to set as the accessory
setPremiumButtonAccessory(input):this
Sets a SKU id button component to be the accessory of this section.
NameTypeOptionalDescription
inputAPIButtonComponentWithSKUId | PremiumButtonBuilder | ((builder: PremiumButtonBuilder) => PremiumButtonBuilder)NoThe button to set as the accessory
setPrimaryButtonAccessory(input):this
Sets a primary button component to be the accessory of this section.
NameTypeOptionalDescription
inputPrimaryButtonBuilder | ((builder: PrimaryButtonBuilder) => PrimaryButtonBuilder) | (APIButtonComponentWithCustomId & { style: ButtonStyle.Primary; })NoThe button to set as the accessory
setSecondaryButtonAccessory(input):this
Sets a secondary button component to be the accessory of this section.
NameTypeOptionalDescription
inputSecondaryButtonBuilder | ((builder: SecondaryButtonBuilder) => SecondaryButtonBuilder) | (APIButtonComponentWithCustomId & { style: ButtonStyle.Secondary; })NoThe button to set as the accessory
setSuccessButtonAccessory(input):this
Sets a success button component to be the accessory of this section.
NameTypeOptionalDescription
inputSuccessButtonBuilder | ((builder: SuccessButtonBuilder) => SuccessButtonBuilder) | (APIButtonComponentWithCustomId & { style: ButtonStyle.Success; })NoThe button to set as the accessory
setThumbnailAccessory(input):this
Sets a thumbnail component to be the accessory of this section.
NameTypeOptionalDescription
inputAPIThumbnailComponent | ThumbnailBuilder | ((builder: ThumbnailBuilder) => ThumbnailBuilder)NoThe thumbnail to set as the accessory
spliceTextDisplayComponents(index, deleteCount, ...components):this
Removes, replaces, or inserts text display components for this section.
NameTypeOptionalDescription
indexnumberNoThe index to start removing, replacing or inserting text display components
deleteCountnumberNoThe amount of text display components to remove
...componentsRestOrArray<APITextDisplayComponent | TextDisplayBuilder | ((builder: TextDisplayBuilder) => TextDisplayBuilder)>NoThe text display components to insert
toJSON(validationOverride?):APISectionComponent
Serializes this builder to API-compatible JSON data.Note that by disabling validation, there is no guarantee that the resulting object will be valid.
NameTypeOptionalDescription
validationOverridebooleanYesForce validation to run/not run regardless of your global preference