Skip to main content

Component

Documentation


Documentation / @discordeno/bot / Component

Interface: Component

Defined in: transformers/types.ts:637

Properties

accentColor?

optional accentColor?: number

Defined in: transformers/types.ts:698

Color for the accent on the container as RGB from 0x000000 to 0xFFFFFF


accessory?

optional accessory?: Component

Defined in: transformers/types.ts:680

A thumbnail or a button component, with a future possibility of adding more compatible components


channelTypes?

optional channelTypes?: ChannelTypes[]

Defined in: transformers/types.ts:657

List of channel types to include in a channel select menu options list


component?

optional component?: Component

Defined in: transformers/types.ts:704

The component within the label


components?

optional components?: Component[]

Defined in: transformers/types.ts:672

a list of child components


content?

optional content?: string

Defined in: transformers/types.ts:682

Text that will be displayed similar to a message


customId?

optional customId?: string

Defined in: transformers/types.ts:641

a developer-defined identifier for the component, max 100 characters


default?

optional default?: boolean

Defined in: transformers/types.ts:708

Whether the checkbox is selected by default (Checkbox component).


defaultValues?

optional defaultValues?: ComponentDefaultValue[]

Defined in: transformers/types.ts:674

List of default values for auto-populated select menu components; number of default values must be in the range defined by min_values and max_values


description?

optional description?: string

Defined in: transformers/types.ts:684

Alt text for the media


disabled?

optional disabled?: boolean

Defined in: transformers/types.ts:645

whether the component is disabled, default false


divider?

optional divider?: boolean

Defined in: transformers/types.ts:690

Whether a visual divider should be displayed in the component. Defaults to true


emoji?

optional emoji?: Pick<Partial<Emoji>, "id" | "name" | "animated">

Defined in: transformers/types.ts:653

Emoji object that includes fields of name, id, and animated supporting unicode and custom emojis.


file?

optional file?: UnfurledMediaItem

Defined in: transformers/types.ts:694

This unfurled media item is unique in that it only supports attachment references using the attachment://<filename> syntax


fileTypes?

optional fileTypes?: string[]

Defined in: transformers/types.ts:728

The accepted file types for the file upload

Remarks

The supported values are image, video, audio or any dot prefixed extension (e.g. .pdf)

Extensions are case-insensitive and are normalized to lowercase, so .PDF and .pdf are equivalent.

Discord recommends using the provided file groups rather than listing extensions individually. If you do list extensions individually, include .jpg for image uploads and both .mp4 and .mov for video uploads, as some mobile clients rely on those extensions.

This feature only checks the file extension against the filename and does not inspect the file contents. You are still responsible for validating the actual contents of the file.

Up to 10 file types.


id?

optional id?: number

Defined in: transformers/types.ts:678

Optional identifier for component


items?

optional items?: MediaGalleryItem[]

Defined in: transformers/types.ts:688

1 to 10 media gallery items


label?

optional label?: string

Defined in: transformers/types.ts:649

text that appears on the button (max 80 characters)


maxLength?

optional maxLength?: number

Defined in: transformers/types.ts:670

The maximum input length for a text input. Between 1-4000.


maxValues?

optional maxValues?: number

Defined in: transformers/types.ts:666

The maximum number of items that can be selected. Default 1. Between 1-25.


media?

optional media?: UnfurledMediaItem

Defined in: transformers/types.ts:696

This unfurled media item is unique in that it only supports attachment references using the attachment://<filename> syntax


minLength?

optional minLength?: number

Defined in: transformers/types.ts:668

The minimum input length for a text input. Between 0-4000.


minValues?

optional minValues?: number

Defined in: transformers/types.ts:664

The minimum number of items that must be selected. Default 1. Between 1-25.


name?

optional name?: string

Defined in: transformers/types.ts:700

The name of the file. This field is ignored and provided by the API as part of the response


options?

optional options?: SelectOption[] | RadioGroupOption[] | CheckboxGroupOption[]

Defined in: transformers/types.ts:660

The string select options or the radio or checkbox group options


placeholder?

optional placeholder?: string

Defined in: transformers/types.ts:662

A custom placeholder text if nothing is selected. Maximum 150 characters.


required?

optional required?: boolean

Defined in: transformers/types.ts:643

whether this component is required to be filled, default true


resolved?

optional resolved?: InteractionDataResolved

Defined in: transformers/types.ts:710

Resolved entities from selected options


size?

optional size?: number

Defined in: transformers/types.ts:702

The size of the file in bytes. This field is ignored and provided by the API as part of the response


skuId?

optional skuId?: bigint

Defined in: transformers/types.ts:676

Identifier for a purchasable SKU, only available when using premium-style buttons


spacing?

optional spacing?: SeparatorSpacingSize

Defined in: transformers/types.ts:692

Size of separator padding — 1 for small padding, 2 for large padding. Defaults to 1


spoiler?

optional spoiler?: boolean

Defined in: transformers/types.ts:686

Whether the thumbnail should be a spoiler (or blurred out). Defaults to false


style?

optional style?: ButtonStyles | TextStyles

Defined in: transformers/types.ts:647

For different styles/colors of the buttons


type

type: MessageComponentTypes

Defined in: transformers/types.ts:639

component type


url?

optional url?: string

Defined in: transformers/types.ts:655

optional url for link-style buttons that can navigate a user to the web. Only type 5 Link buttons can have a url


value?

optional value?: string | boolean

Defined in: transformers/types.ts:651

the dev-define value of the option, max 100 characters for select or 4000 for input; or boolean for checkbox response.


values?

optional values?: string[]

Defined in: transformers/types.ts:706

The text of the selected options