Skip to main content

Overview

Containers are Discord’s new Components V2 system. Think of them like embeds but way more powerful — you can have multiple text blocks, image galleries, sections with thumbnails, separators, and buttons all in one message. They look cleaner and more modern than embeds.
This page is written so that even if you’ve never touched a container before, you’ll understand exactly what to do. Every property is explained with real examples you can copy and use immediately.
Some Container Builder features require Celestia Premium ($9.99 one-time purchase). Free users get 3 saved container slots; container copy and container convert require Premium to use at all. Get Access

Free vs Premium

Free

  • Create, list, delete, preview, and send containers via webhook
  • Up to 3 saved containers (via --name on create, or the builder’s Save button)
  • Full interactive builder access

Celestia Premium — $9.99

  • Unlimited saved container slots
  • container copy — extract script from any container message
  • container convert — turn an embed into a container script
Once you hit 3 free container slots, saving a new container is blocked until you delete one or upgrade. Building and sending containers still works — only saving is restricted.

Two Ways to Build

Script Method (Prefix)

Write a container script using the syntaxCommands: ~container create, ~container copyBest for: Power users, welcome messages, templates

Interactive Builder (Slash)

Click buttons to build your container visuallyCommands: /container builder, /container editBest for: Beginners, quick creation, no syntax needed

Action Button IDs

Buttons inside a container script can trigger built-in actions instead of just linking out. Use these as the custom_id value in a $v{button: ...} block: Example:
Some custom_id prefixes are reserved by the bot internally and will be silently stripped if used (e.g. anything starting with container_, embedbuilder_, music_, vm_, ct_, and a few others). If your button seems to lose its action, check you’re not using a reserved prefix.

VoiceMaster (VM) Buttons

Containers can include a built-in row (or two) of VoiceMaster voice-channel controls — lock, unlock, hide, reveal, kick, decrease/increase limit, info, rename, and claim.
  • Script method: add $v{vmbuttons} anywhere in your container script.
  • Interactive builder: an Add/Remove VM Buttons toggle appears in /container builder and /container edit, but only for users with the Manage Guild permission.
When a saved container with VM buttons is sent (via /container send or ~container preview), the VM control rows are automatically added to the message.

Script Method Commands

Create and send a container using script syntax.
Options:
  • --name <name> — Save the container so you can reuse it (counts toward your 3 free slots if you don’t have Premium)
Aliases: ct, createcontainer
See all containers you’ve saved.
Delete a saved container permanently.
Send a saved container to see how it looks.
Send a container through a webhook URL.
Copy the script from any message that contains a container.
Requires Celestia Premium.
How to get a message link: Right-click the message → Copy Message Link
Convert an embed from any message into a container script.
Requires Celestia Premium.
What it does:
  • Reads the embed from that message
  • Converts title, description, fields, images, buttons
  • Gives you a ready-to-use container script
Shows a quick reference of all available script properties.

Interactive Builder Commands

Opens the interactive container builder. No syntax needed — just click buttons.Buttons available:
  • Add Text
  • Add Section
  • Add Separator
  • Add Gallery
  • Add Button
  • Set Color
  • Spoiler toggle
  • Remove Component
  • Send via Webhook
  • Save
  • Add/Remove VM Buttons (Manage Guild permission only)
Note: Builder expires after 20 minutes of inactivity. If you don’t have Premium and already have 3 saved containers, saving is blocked until you delete one or upgrade.
Load a saved container into the interactive builder to make changes.
Send a saved container to any channel.
View your saved containers (slash version).
Delete a saved container (slash version).

Container Scripts

Full scripting syntax reference

Variables

All available placeholders