Overview
Container scripts use a special syntax to create Components V2 containers, Discord’s modern alternative to embeds. This page explains every property with real examples you can copy and use immediately.This page is written so that even if you’ve never touched a container script before, you’ll understand exactly what everything does. Every property has plain English explanations and working examples.
Basic Structure
Every container must be wrapped in{container} tags:
{container}: Opening tag$v{property: value}: Property declarations{container}: Closing tag
Property Syntax
color
color
Sets the colored accent bar on the left side of the container.Syntax:Examples:Note: Must be a hex color code starting with
#. Use {random.color} for a different random color every time.spoiler
spoiler
Blurs the entire container behind a spoiler. Users must click to reveal it.Syntax:Example:
text
text
The most common property. Adds a block of text to your container. Supports full Discord markdown.Syntax:Examples:Markdown support:
## Heading: Large heading### Subheading: Medium heading**text**: Bold*text*: Italic`text`: Inline code-# text: Small subtext (perfect for footers)> text: Quote block~~text~~: Strikethrough[text](url): Clickable link
separator
separator
Adds a visual divider line or empty space between components. Helps organize your container into clear sections.Syntax:Types:
small: Thin horizontal line with small spacinglarge: Thin horizontal line with large spacingspace: Empty gap with no line, just whitespace
section
section
Puts text on the left with either a thumbnail image or a link button on the right. Perfect for profile cards and user info layouts.Syntax with thumbnail:Syntax with button:Multiple lines of text:Use Note: A section must always have either
&& to separate multiple lines of text on the left side.Examples:thumbnail: or button: on the right side. A section with just text and nothing on the right will cause an error.gallery
gallery
Displays one or more images in a grid layout, just like Discord’s image grid when you send multiple photos.Syntax:Examples:Grid layout by image count:
- 1 image, Full width
- 2 images, Side by side
- 3 images, One large left, two stacked right
- 4 images, 2x2 grid
Complete Examples
- Simple Welcome
- Profile Card
- Booster Message
- Server Info
- Announcement
- Links Panel
Tips & Best Practices
Making a footerContainers don’t have a built-in footer property. Use
-# at the start of a text block instead. It renders as small gray subtext, exactly like a footer:Making a titleNo built-in title property either. Use markdown headings inside a text block:
Variable SupportAll property values support dynamic placeholders. See the Variables guide for the complete list of available variables like
{user.mention}, {guild.name}, {timestamp}, etc.Character Limits
Syntax Reference
Property Format:Related Resources
Variables
Complete list of available variables
Container Builder
Full container builder command guide
Embed Scripts
Embed scripting syntax reference
Webhook
Send containers through webhooks