Message Builder
The Message Builder designs Discord messages visually and sends them to a channel, as the bot or through a webhook. It uses Discord's Components V2 layout: a message is a stack of components (containers, text, images, buttons) rather than an embed. The same builder opens when you customize one of the bot's own messages from Templates.
Layout
- Left: three tabs, Build, Settings and Send. Each tab has its own address (
#build,#settings,#send), so you can link straight to one. - Right: the Preview, which shows the message as Discord will. The Sample values shown badge means variables are filled with example values. The buttons at the top right switch between a desktop and a mobile preview and between Discord's Dark theme and Light theme.
On a phone, switch between Editor and Preview at the top.
Your work in progress is kept in the browser, so you can leave the page and come back to it.
Build a message
Click Add a component and choose one:
| Component | What it adds |
|---|---|
| Container | A box with an optional accent color bar. Other components go inside it. |
| Text Block | Formatted text with Discord markdown (headings, bold, lists, links, mentions, timestamps). Shown as Text Display in the list. |
| Section | Text beside a thumbnail image or a button. |
| Gallery | One to ten images or videos. Shown as Media Gallery in the list. |
| Divider | A horizontal line or empty spacing. Shown as Separator in the list. |
| File | An attached file reference. |
| Buttons | A row of clickable link buttons. Shown as Action Row in the list. |
Each component appears as a card. Click a card to expand it and edit its content; the preview updates as you type.
- Reorder components by dragging them by the handle on the left.
- Delete one with the bin icon.
- Nest components in a container with Add inside container at the bottom of the container's card.
- Container options: an Accent color (with Clear), Use author's role color (the color of whoever triggers the message), and Mark as spoiler, which blurs the contents until a reader clicks them.
A message can hold up to 40 components in total, counting the ones inside containers. Add a component is disabled once you reach the limit.
For images, use the image picker to choose a file from the Media Library or paste a link.
Settings
The Settings tab holds everything that is not content.
Message options
- Text to speech reads the message aloud in Discord.
- Suppress notifications sends it silently.
- Highlight template vars marks variables in the preview so you can spot them.
Allowed mentions
By default the message pings nobody, even if it contains mentions. Tick what it may ping:
- Ping @everyone / @here
- Ping all @roles, or only the roles you pick under Specific roles to ping
- Ping all @users, or only the members you pick under Specific users to ping
- Ping invoker: the member who triggered the message (for templates the bot sends in reply to a command or event)
- Ping replied user: the author of the message you reply to
Templates
Open Templates to save the current message for later, or to load one you saved.
- Under Save as New, type a Template name and an optional description.
- Click Save.
Each saved template has Load (replace the builder's content with it), Update (overwrite it with the current message, after a confirmation) and a delete button.
Saved templates also appear in the template pickers of modules that post messages, for example Sticky Messages and the Automations "send message" action.
Variables
Variables lists the placeholders you can use, such as {server.name} or {user.mention}, for the current Template ID. When you customize one of the bot's messages, the Template ID is fixed (for example @welcomer.join) and the list shows exactly the variables that message receives. Click a variable to insert or copy it.
See Variables for the full reference and the filter syntax.
Send a message
Open the Send tab.
As the bot
- Keep Bot selected at the top.
- Choose a Channel.
- Keep Send new selected. To send it as a reply, paste a message ID into Reply to message ID (optional).
- Click Send message.
When it is sent, the tab shows Message sent! with a Jump link that opens the message in Discord.
Edit a message the bot sent
- On the Send tab, choose the Channel the message is in.
- Select Edit existing.
- Paste the message's ID into Message ID to edit and click Load. The message's components are loaded into the builder ("Message loaded into builder.").
- Make your changes on the Build tab.
- Come back to Send and click Edit message.
Only messages the bot itself sent can be edited this way.
Tip
To copy a message ID, turn on Developer Mode in Discord (User Settings > Advanced), then right-click the message and choose Copy Message ID.
Through a webhook
A webhook post can use its own name and avatar, for example "Event Bot".
- Select Webhook at the top of the Send tab.
- Choose a Channel.
- Under Webhook, pick one of the channel's webhooks, or keep Create new / auto-managed and the bot creates one for you.
- Optionally set a Display name and an Avatar (paste a link or click Browse for the Media Library).
- Click Send via webhook.
To edit a message sent through a webhook, select Edit existing in webhook mode, load it by ID and click Edit via webhook. It must be a message that webhook sent.
The bot needs the Manage Webhooks permission in the channel to list or create webhooks.
Customizing the bot's own messages
When you open a system template from Templates, the builder shows a Customizing banner with the template's ID, and the last tab is called Save instead of Send. Give the template a name and save it: it goes into the template pack you opened it from. Back returns you to Templates. See Customize a system template for how the bot starts using it.
Troubleshooting
The send fails with a permission error. The bot needs View Channel, Send Messages and, for images, Attach Files and Embed Links in that channel. Check the channel on the Permissions page.
Mentions show but nobody is pinged. Allow the right mentions under Settings > Allowed mentions.
A variable shows as {something} in the sent message.
A message you send from the Send tab is posted exactly as written. Variables are filled only when the bot sends a template itself, for a module (a welcome, a level-up, a sticky message). Even then, a variable the template does not receive is left as typed, so a typo stays visible.
All sends, edits and saved-template changes are recorded in the staff logs under Message Builder; customizing one of the bot's own messages is recorded under Templates.