Components V2

Learn more about how to use the newly added Components V2.

circle-info

Replace [prefix] with your server's prefix. Components V2 is Discord's new layout system - it lets you build rich messages with containers, text blocks, buttons, and more.

circle-check

How It Works

Components V2 scripts start with {components} instead of {embed}. Each block is separated by $v and wrapped in curly braces.

// Basic format
{components}$v{block}$v{block}$v{block}
circle-exclamation

Containers

Containers wrap your content in a styled box with an optional colored side bar. Everything between {container} and {/container} goes inside it.

// Syntax
{components}$v{container: color:#HEX}$v{...blocks...}$v{/container}

// Example - dark container with colored accent
{components}$v{container: color:#5865F2}$v{text: Hello World!}$v{/container}

Container Options

Option
Description
Example

color:#HEX

Accent color (side bar)

color:#5865F2

spoiler

Marks the container as spoiler

color:#FF0000 && spoiler

Multiple options are separated with &&.

Text Displays

Text blocks support full Discord markdown - bold, italic, headers, mentions, and more.

Separators

Separators add a horizontal divider between blocks.

Example

Buttons

Buttons support labels, URLs, emojis, and color styles. Buttons are automatically wrapped in a row - you don't need to add {row} manually.

Button Styles

Style
Color

blue

Blurple

green

Green

gray

Gray

red

Red

Buttons Inside Containers

Place the button before {/container} to put it inside the container:

Multiple buttons next to each other are merged into a single row automatically (max 5 per row).

Sections

Sections display text with an optional thumbnail accessory.

Display one or more images in a gallery layout.

Action Rows

If you need explicit control over button grouping, use {row} and {/row}:

Without {row}, consecutive buttons are automatically grouped together.

Content (Plain Text)

Send plain text above or alongside your components:

Variables

All standard embed variables work inside component scripts:

Variable
Description

{user}

Username

{user.mention}

User mention

{user.name}

Username

{user.id}

User ID

{user.avatar}

User avatar URL

{user.joined_at}

Join date (relative)

{user.created_at}

Account age (relative)

{guild.name}

Server name

{guild.count}

Member count

{guild.id}

Server ID

{guild.icon}

Server icon URL

{guild.boost_count}

Boost count

{guild.booster_count}

Booster count

{guild.boost_tier}

Boost tier

{guild.vanity}

Vanity URL

{invisible}

Invisible color hex

{botcolor}

Bot theme color hex

{botavatar}

Bot avatar URL

Full Examples

Welcome Message

Kick DM

Info Card

Where Can I Use Components V2?

Components V2 scripts work anywhere you can use embed scripts:

  • [prefix]welcome add / [prefix]leave add

  • [prefix]joindm add

  • [prefix]boost message

  • Invoke embeds ([prefix]invoke kick / [prefix]invoke ban / etc.)

  • Autoresponders

  • Webhooks

Last updated