Curl Format
Many functions like $sendMessage or $editChannel accept the curl format. It can be used to style your messages, or to make your code more readable when the function has many arguments.
Usage
The most basic usage is:
{key:value}But it can also have multiple values:
{key:value1:value2:value3}When there are more curls inside of one curl option, they use an equal character (=) to split key and value.
Message Formatting
In message functions, you can use it to send embeds, menus, or control other message options.
!!exec $sendMessage[ {title:Embed Title} {desc:Embed Description} {footer:Embed Footer} ]
Embed Description
Messages
These tags control the general settings, actions, and behavior of the message itself.
| Format | Description |
|---|---|
{content:text} | Message content |
{reply:Message ID} | Replies directly to a specific message ID. |
{reply_mention:yes/no} | Decides if the reply pings the user. |
{attachment:name:url:spoiler (yes/no)} | Attaches a file from a web link. |
{file:name:content} | Creates and attaches a plain text file. |
{reactions:emoji,emoji,...} | Adds reactions to the message. |
{reaction:emoji,emoji,...} | Adds reactions to the message. |
{suppress:yes/no} | Hides embeds sent by the bot. |
{delete:time} | Deletes the message after a delay (e.g. 10s, 5m). |
{edit:time:New Content} | Changes message text after a delay (in milliseconds). |
{deletecommand} | Instantly deletes the user's trigger command. |
{deletecommand:time} | Deletes the trigger command after a delay (e.g. 5s). |
{pin} | Pins the message to the channel. |
{silent} | Sends the message quietly without notifications. |
{stickers:id1:id2:id3} | Sends up to 3 Discord stickers by ID. |
{interaction} | Sends the message with the author name above. |
{ephemeral:yes/no} | Makes the interaction private. |
{private} | Makes the interaction private. |
Embeds
These tags build embeds within your message.
| Format | Description |
|---|---|
{author:name:avatar} | Adds an author section with name and avatar. |
{title:text} | Sets the title. |
{url:link} | Turns the title into a clickable link. |
{thumbnail:image url} | Shows a small image in the top-right corner. |
{description:text} | Sets the description. |
{desc:text} | Sets the description. |
{color:hex} | Sets the embed border color. (hex code or color name) |
{field:title:text:inline (yes/no)} | Adds a field with text. |
{removefields:field number} | Remove a field based on its position. Keep empty to remove all fields. |
{image:image url} | Adds a large image at the bottom. |
{footer:text:avatar url} | Adds bottom footer text and optional avatar icon. |
{timestamp} | Adds Discord timestamp to the footer. |
{timestamp:time} | Adds Discord timestamp to the footer with specific time set. (in milliseconds) |
{embed:Embed Curls} | Adds embed to the message. Use when you need to show multiple embeds. |
Buttons
Buttons let users click to trigger actions or open web links.
{button:label:style:emoji:id:newline:disabled}Or
{button:
{label=Label}
{style=Style}
{id=ID}
{emoji=Emoji}
{disabled=Is Disabled?}
{newline=Is on New Line?}
}- - The text displayed on the button.Optional ArgumentDefault: Nonelabel
- - The button color. Can beOptional ArgumentDefault:
bluestyleblue,green,redorgray. If your button is a link, useurl. - - Emoji or emoji ID that will be displayed on the left side of the button.Optional ArgumentDefault: Noneemoji
- - Button ID for triggering a command or url that will open on click.Required Argumentid
- - Forces the button on a new row. Can beOptional ArgumentDefault:
nonewlineyesorno. - - Makes the button disabled and unclickable. Can beOptional ArgumentDefault:
nodisabledyesorno.
Use {removebutton:id} to remove a button from your message. Keep empty to remove all buttons.
Menus
Menus create interactive dropdown lists where users can select one or multiple choices.
{menu:
{id=ID}
{placeholder=Placeholder}
{type=Menu Type}
// Depending on the type:
{selected=Selected Value ID}
{selected_user=Selected User ID}
{selected_role=Selected Role ID}
{selected_channel=Selected Channel ID}
{min=Minimum}
{max=Maximum}
{label=Label}
{desc=Description}
{value=Value}
{emoji=Emoji}
// repeat the last 4 curls to add more options:
{label=Label}
{desc=Description}
{value=Value}
{emoji=Emoji}
}- - Menu ID for triggering a command.Required Argumentid
- - Text that is shown before any selection.Optional ArgumentDefault:
Make a selectionplaceholder - - The menu type. Can beOptional ArgumentDefault:
texttypeuser,role,channel,mention(roles and users) ortext. - - Default selected option. Works across all types but isn't reliable on typeOptional ArgumentDefault: Noneselected
mention. To select more options, include this argument multiple times. - - Default selected user. Works only when type isOptional ArgumentDefault: Noneselected_user
userormention. To select more options, include this argument multiple times. - - Default selected option. Works only when type isOptional ArgumentDefault: Noneselected_role
role. To select more options, include this argument multiple times. - - Default selected option. Works only when type isOptional ArgumentDefault: Noneselected_channel
channel. To select more options, include this argument multiple times. - - Minimum number of selections.Optional ArgumentDefault: Nonemin
- - Maximum number of selections.Optional ArgumentDefault: Nonemax
- - Option label.Optional ArgumentDefault:
Option 1label - - Option description.Optional ArgumentDefault: Nonedesc
- - Option value. This value will get returned in your commands.Optional ArgumentDefault:
1value - - Emoji or emoji ID that will be displayed on the left side of the option.Optional ArgumentDefault: Noneemoji
Use {removemenu:id} to remove a menu from your message. Keep empty to remove all menus.
Polls
This creates a Discord poll where you can select one or multiple answers.
{poll:
{question=Poll Question}
{duration=Poll Duration}
{multiple=Multiple Answers?}
{answer=Answer Title}
{emoji=Answer Emoji}
// repeat last 2 curls to add more options:
{answer=Answer Title}
{emoji=Answer Emoji}
}- - The question/title of your poll.Optional ArgumentDefault:
Poll questionquestion - - The poll duration in hours. Must be fromOptional ArgumentDefault:
24hduration1hto168h(one week). - - Determines if user can vote for multiple options. Can beOptional ArgumentDefault:
nomultipleyesorno. - - The answer title.Required Argumentanswer
- - Emoji that will display next to the answer.Optional ArgumentDefault: Noneemoji
V2 Components
Using Discord V2 embed-like components.
| Format | Description |
|---|---|
{container:V2 Curls} | Embed-like background for components |
{color:hex} | Container border color. (hex or color name) |
{text:text} | Regular text |
{section:Curls} | A section can contain {text} with {thumbnail}, {button} or a {spoiler}. |
{thumbnail:image url} | Small image on the right side of section. |
{thumb:image url} | Small image on the right side of section. |
{gallery:Image Curls} | Can display up to 10 {image}'s. |
{row:Curls} | A row can contain 5 {button}'s or 1 {menu}. |
{separator:visible (yes/no):size (1/2)} | Displays a separator line. |
You can also use {file}, {menu} or {spoiler} inside of Components V2.
Note
Discord V2 components are not required to be inside of {container}.