Opening a container
Everything after it that starts with
container. (or box., etc.) belongs to that container. Open a second {box} to start a new one.
What goes inside
Text and headers
Text and headers
-# subtext and > quotes.Separators
Separators
sep, divider, hr. Pass large (or lg / big) for more breathing room; anything else gives the small spacing.Images and galleries
Images and galleries
img, gallery, media, photo, pic. Multiple URLs separated by | become a media gallery — Discord lays them out as a grid.Sections and thumbnails
Sections and thumbnails
A section is text with a thumbnail floated beside it.Aliases:
sec, row. The text part accepts text, label, description, desc, content or body; the image part accepts thumbnail, thumb, image, img or icon.{box.thumbnail: <url>} is the shorthand for a thumbnail with no text next to it.Accent colour
Accent colour
Set on the opening node, or separately afterwards:
{box.dominant} pulls the colour from the first Discord-hosted image in the container.Container vs embed
Neither is better — they’re for different shapes of message.
You can use both in one message — a container plus an embed plus plain content all render together.
A worked example
A welcome message that actually looks designed:Limits
Discord enforces these, not the bot:- 40 components total per message
- 10 buttons, across a maximum of 5 rows
- 4000 characters across all text in the message
- Media gallery items must be reachable image URLs
