Message Builder
System for sending custom embed messages from saved templates. Templates are created and edited in the dashboard — commands are used for sending and browsing.
Commands
/embed send
Sends a saved embed template to a selected channel.
| Parameter | Type | Required | Description |
|---|---|---|---|
| template_name | string | Yes | Template name (autocomplete — suggestions from the list) |
| channel | TextChannel | No | Target channel (default: current channel) |
Permissions: Configurable (moderation_roles / custom)
Example: /embed send template_name:Rules channel:#rules
Success:
- Embed from template sent to the selected channel (publicly visible)
- Optional
contenttext displayed above the embed - Ephemeral confirmation with template name and channel
- Saved
last_sent_channel_idandlast_sent_message_idin the template - Log in "message_builder" module
Errors:
- Missing sending permissions
- Template not found (case-insensitive)
- Template without title and description (empty — edit in dashboard)
- Channel not on the allowed list (if
allowed_channelsconfigured) - Bot doesn't have permission to write in the target channel
The template_name parameter supports autocomplete — after typing a few letters, Discord will suggest matching templates (max 25 suggestions).
/embed list
Displays a list of all saved embed templates for the server.
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | — | — | — |
Permissions: Everyone
Example: /embed list
Success: Ephemeral embed with template list (name + title preview) and total count
Errors:
- No saved templates (info message)
Creating Templates
Templates are created exclusively in the dashboard using the visual editor:
- Dashboard → Cog "Message Builder" → Edit
- Side panel with template list (create/edit/delete)
- Main area — inline embed editor (editor = preview)
contentfield above the embed (text displayed before the embed)- Color: presets + custom picker
- Images: clickable placeholders → paste URL
- Fields: "Add Field" button
Template Structure
{
"name": "Rules",
"content": "Read the server rules:",
"embed": {
"title": "Server Rules",
"description": "1. Respect others\n2. No spam...",
"color": "#5865F2",
"thumbnail": "https://...",
"image": "https://...",
"author_name": "ArcBot",
"author_icon": "https://...",
"footer": "Last updated: 2026-06-12",
"fields": [
{ "name": "Penalties", "value": "For violations...", "inline": false }
]
},
"last_sent_channel_id": "123456789",
"last_sent_message_id": "987654321"
}
Configuration
| Option | Description | Default Value |
|---|---|---|
send_permission | Who can send embeds | moderation_roles |
send_roles | Roles for custom permission | none |
allowed_channels | Allowed channels (empty = all) | none (no restrictions) |
templates | List of saved templates | [] |
After each template send, the bot saves last_sent_channel_id and last_sent_message_id. This enables future editing/updating of sent messages from the dashboard.