Message components
Message components are interactive and layout elements attached to messages your app sends. Discord supports three categories:- Layout components for organizing content
- Content components for displaying text and media
- Interactive components like buttons, select menus, and text inputs that users can act on
Interactive component types
Buttons
Clickable buttons that trigger interactions when users press them. Buttons must be placed inside an Action Row.
Select menus
Dropdown menus that let users choose from a list of options, including string, user, role, channel, and mentionable variants.
Text inputs
Short or paragraph text fields used inside modals to collect freeform input from users.
Modals
Modals are form-like overlays that your app can present to users in response to an interaction, such as a button click, slash command, or select menu selection. They collect freeform input through text fields and are a natural fit for multi-field data entry, confirmations, bug reports, or any configuration flow that needs more than a single tap to complete. Unlike message components, modals aren’t attached to a message. They’re sent as an interaction response and appear as a focused overlay in the client. The user fills in the fields and submits, which triggers a new interaction your app can handle.Modals can only be opened in response to an interaction — you cannot proactively open a modal for a user without a preceding interaction trigger.
Further reading
Components overview
Full guide to available component types and how components are sent in messages.
Using message components
A guide on sending message components with code examples.
Using modal components
A guide on building and displaying modal components with code examples.