Templates and Packs
Every message the bot sends on its own (a welcome, a level-up, a ban DM, a mod log entry) comes from a system template. The Templates page lets you replace any of them with your own design, keep several versions in template packs, and switch the whole server between packs in one click.
Concepts
System template. A message a module sends, identified by a slug such as welcomer.join (the welcome message) or mod.ban.dm (the DM a banned member gets). The full list is at the end of this page.
Override. Your own version of a system template, designed in the Message Builder.
Template group. The overrides a pack has for one system template. A group can hold several variants, and the bot picks one each time it sends (see Variants).
Pack. A named set of template groups. Every server has the Default pack; you can add more. Exactly one pack is Active.
Which version the bot sends
When the bot sends a message it uses the first of these that exists:
- A template picked in a module's settings. Some features let you choose one saved template for one item, for example a sticky message, a scheduled leaderboard post or an automation's "send message" action.
- The active pack's group for that system template.
- The Default pack's group for it.
- The built-in message that comes with the module.
So a new pack only needs the templates you want to change: everything else falls back to the Default pack and then to the built-in messages.
Packs
The pack list is on the left. The Default pack is marked Default; the active pack is marked Active. Click a pack to see its templates.
Each pack card has these buttons:
| Button | What it does |
|---|---|
| Activate | Makes this pack the active one (shown on packs that are not active). |
| Pencil | Edit the pack's name, description, accent color and icon. |
| Download | Export the pack as a .botbase-pack.json file. |
| Bin | Delete the pack and every template in it. Not available for the Default pack. |
Deleting the active pack makes the Default pack active again.
Create a pack
- Click New Pack at the top right.
- Enter a Name (required; "Default" is reserved), an optional Description, an Accent color and an Icon.
- Click Create.
The new pack starts empty. Add templates to it as described in Customize a system template.
Start from a preset
Click Presets to see the Theme Presets, ready-made packs such as Christmas, Halloween and Minimal, with the number of templates each one contains. Click Import on one to add it as a new pack. It does not become active until you activate it.
Activate a pack
- Click Activate on the pack. If no module setting picks a template directly, the pack becomes active at once and you are done.
- Otherwise a dialog lists the templates picked directly in module settings (such as a sticky message) that this pack has its own version of. Tick the ones that should switch to the pack's version.
- Click Activate.
From then on, every message the pack covers uses the pack's version.
Export and import
- Export a pack with its download button to back it up or share it with another server.
- Import at the top of the page reads a
.botbase-pack.jsonfile and adds it as a new pack.
A pack's templates
The right side has three tabs for the selected pack.
Customized (n) lists the overrides in this pack, grouped by module and then by message. Each has Edit (opens it in the Message Builder) and a button to move it to another pack.
System Templates lists every system template the bot knows, grouped the same way. A Customized badge marks the ones this pack overrides.
Images lists the image templates, such as the welcome image, with their size and whether the pack has its own version. Click Edit (or Set up when the pack has none) to open the image's group, where you add, duplicate or remove variants and open each one in the Image Builder.
Customize a system template
- Select the pack the new version belongs in.
- On System Templates, open the module and the message, for example Welcomer > Join.
- Click Edit on the message to open its Template Group.
- Click + (Create a new template for this group). The Message Builder opens with the current message loaded and a Customizing banner.
- Change the message. The Variables section on the builder's Settings tab lists the variables this message receives.
- On the builder's Save tab, enter a Template name and click Save. The template is saved into the pack and added to the message's group, and the group opens again.
- If the group already held other versions, remove the ones you no longer want (or keep them as variants) and click Save group.
If the pack is active, the bot uses the group straight away.
Note
The bot only sends templates that are in the message's group. Every new template for a message joins that group when you save it, whether you start from the group's +, the + on a row of System Templates (Add new template from this base) or a group entry's clone button; the group is created if the pack has none yet. A pack holds one template of its own for each message; to change it, use Edit on the Customized tab.
Here is the welcome message as members see it:
Variants: random, rotate or weighted
Click Edit next to a system template to open its Template Group. A group can hold several versions of the same message, so welcomes or level-ups do not always read the same.
- Selection mode decides which variant is sent:
- Random picks a random template each time.
- Rotate cycles through the templates in order, advancing each use.
- Weighted picks at random, weighted by the Weight you give each entry.
- Each entry has buttons to edit it in the builder, clone it into a new template, or remove it from the group.
- Pick an existing template to add... adds a version of this message you already saved, in this pack or another one; + creates the pack's own version in the builder (only while the pack has none).
- Click Save group to keep the changes.
Reference: system templates
| Template | Slug | Module |
|---|---|---|
| Leaderboard Post | @analytics.leaderboard.post | analytics |
| Birthday Announcement | @birthday.announcement | birthdays |
| Birthday Digest | @birthday.bulk_announcement | birthdays |
| Bluesky Post | @feeds.bluesky | feeds |
| Instagram Post | @feeds.instagram | feeds |
| Kick Stream | @feeds.kick | feeds |
| Kick Clip | @feeds.kick.clips | feeds |
| Podcast Episode | @feeds.podcast | feeds |
| Reddit Post | @feeds.reddit | feeds |
| RSS Post | @feeds.rss | feeds |
| TikTok Video | @feeds.tiktok | feeds |
| Twitch Stream | @feeds.twitch | feeds |
| Twitch Clip | @feeds.twitch.clips | feeds |
| X (Twitter) Post | @feeds.x | feeds |
| YouTube Video | @feeds.youtube | feeds |
| Form - Acceptance Announcement | @form.accept.channel | forms |
| Form - Acceptance DM | @form.accept.dm | forms |
| Form - Submission Announcement | @form.completion.channel | forms |
| Form - Denial DM | @form.deny.dm | forms |
| Level Up - Announcement Channel | @levels.level_up.channel | levels |
| Level Up - Current Channel | @levels.level_up.current_channel | levels |
| Level Up - DM | @levels.level_up.dm | levels |
| Appeal Denial DM | @appeals.denial.dm | moderation |
| Ban Confirmation | @mod.ban.confirm | moderation |
| Ban DM | @mod.ban.dm | moderation |
| Infraction DM | @mod.infraction.dm | moderation |
| Kick Confirmation | @mod.kick.confirm | moderation |
| Kick DM | @mod.kick.dm | moderation |
| Timeout Confirmation | @mod.timeout.confirm | moderation |
| Timeout DM | @mod.timeout.dm | moderation |
| Warning Confirmation | @mod.warn.confirm | moderation |
| Warning DM | @mod.warn.dm | moderation |
| Mod Log - Bot Alert | @modlog.bot.alert | modlogs |
| Mod Log - Automation Rule Fired | @modlog.bot.automations | modlogs |
| Mod Log - Bot Command Used | @modlog.bot.command | modlogs |
| Mod Log - DM Failed | @modlog.bot.dm_failed | modlogs |
| Mod Log - Bot Added | @modlog.guild.bot_add | modlogs |
| Mod Log - Channel Created | @modlog.guild.channel_create | modlogs |
| Mod Log - Channel Deleted | @modlog.guild.channel_delete | modlogs |
| Mod Log - Channel Updated | @modlog.guild.channel_update | modlogs |
| Mod Log - Emoji Added | @modlog.guild.emoji_create | modlogs |
| Mod Log - Emoji Removed | @modlog.guild.emoji_delete | modlogs |
| Mod Log - Emoji Updated | @modlog.guild.emoji_update | modlogs |
| Mod Log - Invite Created | @modlog.guild.invite_create | modlogs |
| Mod Log - Invite Deleted | @modlog.guild.invite_delete | modlogs |
| Mod Log - Members Pruned | @modlog.guild.prune | modlogs |
| Mod Log - Role Created | @modlog.guild.role_create | modlogs |
| Mod Log - Role Deleted | @modlog.guild.role_delete | modlogs |
| Mod Log - Role Updated | @modlog.guild.role_update | modlogs |
| Mod Log - Sticker Added | @modlog.guild.sticker_create | modlogs |
| Mod Log - Sticker Removed | @modlog.guild.sticker_delete | modlogs |
| Mod Log - Sticker Updated | @modlog.guild.sticker_update | modlogs |
| Mod Log - Thread Created | @modlog.guild.thread_create | modlogs |
| Mod Log - Thread Deleted | @modlog.guild.thread_delete | modlogs |
| Mod Log - Thread Updated | @modlog.guild.thread_update | modlogs |
| Mod Log - Server Updated | @modlog.guild.update | modlogs |
| Mod Log - Webhook Created | @modlog.guild.webhook_create | modlogs |
| Mod Log - Webhook Deleted | @modlog.guild.webhook_delete | modlogs |
| Mod Log - Server Avatar Changed | @modlog.member.avatar | modlogs |
| Mod Log - Member Joined | @modlog.member.join | modlogs |
| Mod Log - Member Joined with Prior Cases | @modlog.member.joined_with_cases | modlogs |
| Mod Log - Member Left | @modlog.member.leave | modlogs |
| Mod Log - Nickname Changed | @modlog.member.nick_change | modlogs |
| Mod Log - Member Data Restored | @modlog.member.restore | modlogs |
| Mod Log - Role Added to Member | @modlog.member.role_add | modlogs |
| Mod Log - Member Roles Changed | @modlog.member.role_changes | modlogs |
| Mod Log - Role Removed from Member | @modlog.member.role_remove | modlogs |
| Mod Log - Username Changed | @modlog.member.username_change | modlogs |
| Mod Log - Bulk Message Delete | @modlog.message.bulk_delete | modlogs |
| Mod Log - Message Deleted | @modlog.message.delete | modlogs |
| Mod Log - Message Auto-Deleted | @modlog.message.delete_auto | modlogs |
| Mod Log - Message Deleted (No Cache) | @modlog.message.delete_bare | modlogs |
| Mod Log - Message Edited | @modlog.message.edit | modlogs |
| Mod Log - Message Pinned | @modlog.message.pin | modlogs |
| Mod Log - Message Unpinned | @modlog.message.unpin | modlogs |
| Mod Log - Anti-Raid Level Auto-Changed | @modlog.mod.antiraid_auto | modlogs |
| Mod Log - Anti-Raid Level Set by Staff | @modlog.mod.antiraid_user | modlogs |
| Mod Log - AutoMod Action | @modlog.mod.automod | modlogs |
| Mod Log - Ban | @modlog.mod.ban | modlogs |
| Mod Log - Case Created | @modlog.mod.case_create | modlogs |
| Mod Log - Case Deleted | @modlog.mod.case_delete | modlogs |
| Mod Log - Case Updated | @modlog.mod.case_update | modlogs |
| Mod Log - Message Censored | @modlog.mod.censor | modlogs |
| Mod Log - Channel Clean | @modlog.mod.clean | modlogs |
| Mod Log - Force Ban | @modlog.mod.forceban | modlogs |
| Mod Log - Kick | @modlog.mod.kick | modlogs |
| Mod Log - Mass Ban | @modlog.mod.massban | modlogs |
| Mod Log - Mass Mute | @modlog.mod.massmute | modlogs |
| Mod Log - Mass Unban | @modlog.mod.massunban | modlogs |
| Mod Log - Message Spam | @modlog.mod.message_spam | modlogs |
| Mod Log - Mute | @modlog.mod.mute | modlogs |
| Mod Log - Mute Expired | @modlog.mod.mute_expired | modlogs |
| Mod Log - Mute on Rejoin | @modlog.mod.mute_rejoin | modlogs |
| Mod Log - Note | @modlog.mod.note | modlogs |
| Mod Log - Spam Detected | @modlog.mod.other_spam | modlogs |
| Mod Log - Soft Ban | @modlog.mod.softban | modlogs |
| Mod Log - Timed Ban | @modlog.mod.timed_ban | modlogs |
| Mod Log - Timed Mute | @modlog.mod.timed_mute | modlogs |
| Mod Log - Temp Ban Removed | @modlog.mod.timed_unban | modlogs |
| Mod Log - Timed Unmute | @modlog.mod.timed_unmute | modlogs |
| Mod Log - Unban | @modlog.mod.unban | modlogs |
| Mod Log - Unmute | @modlog.mod.unmute | modlogs |
| Mod Log - Warning | @modlog.mod.warn | modlogs |
| Mod Log - Force Voice Disconnect | @modlog.voice.force_disconnect | modlogs |
| Mod Log - Force Voice Move | @modlog.voice.force_move | modlogs |
| Mod Log - Voice Channel Join | @modlog.voice.join | modlogs |
| Mod Log - Voice Channel Leave | @modlog.voice.leave | modlogs |
| Mod Log - Voice Channel Move | @modlog.voice.move | modlogs |
| Mod Log - Stage Instance Created | @modlog.voice.stage_create | modlogs |
| Mod Log - Stage Instance Ended | @modlog.voice.stage_delete | modlogs |
| Mod Log - Stage Instance Updated | @modlog.voice.stage_update | modlogs |
| Ping Response | @command.ping | utility |
| Welcome Message | @welcomer.join | welcomer |
| Welcome DM | @welcomer.join_dm | welcomer |
| Goodbye Message | @welcomer.leave | welcomer |
Image templates
| Image | Slug | Size | Layout | Description |
|---|---|---|---|---|
| Goodbye Image | @welcomer.goodbye | 800 x 300 | editable | Displayed when a member leaves the server |
| Welcome Image | @welcomer.welcome | 800 x 300 | editable | Displayed when a member joins the server |
Every change to packs and templates is recorded in the staff logs under Templates.