Welcome System¶
Send welcome and leave messages, optional DMs, and auto-roles for new members.
Configuration lives on the dashboard¶
Welcome, leave, ban, DM, embed and auto-role settings are configured on the
Welcome dashboard page (open with /dashboard) — "configure on the web,
act in Discord" (ADR-0015). The page has previews and validation.
Discord commands¶
A few in-the-moment commands remain in Discord:
| Command | Description |
|---|---|
/welcome test |
Send a test welcome message using the current configuration |
/welcome view |
Show the current welcome configuration |
Setup Flow¶
- Open
/dashboard→ Welcome. - Pick the welcome channel, write the message (plain or embed), and optionally enable a welcome DM, leave message, ban announcement, and auto-roles.
- Back in Discord, run
/welcome testto preview and/welcome viewto confirm.
Template Variables¶
Welcome and leave messages run on the same TagScript engine as tags, so everything tags can do — variables, conditionals, random picks — works here too. These placeholders are the common ones:
{user}{user.mention}{user.name}{user.display_name}{user.id}{user.avatar}{user.created_at}{user.joined_at}{server}and{server.name}{server.members}and{member_count}{server.id}{server.icon}{server.boost_level}{server.boost_count}{ordinal}
In embed URL fields (image, thumbnail, author icon, footer icon), these URL templates are also supported:
{user.avatar}{server.icon}
Channel mentions are supported in embed/message text using Discord syntax:
<#channel_id>
Leave Messages¶
Configure a leave channel and message on the dashboard Welcome page. New departures post to the configured channel automatically.
Auto-Role Behavior¶
Configure up to 4 auto-roles on the dashboard Welcome page. New members receive the configured roles on join (assignment is handled by the roles system).
Troubleshooting¶
Welcome message not sending¶
- Run
/welcome view(or check the dashboard Welcome page) and confirm welcome is enabled. - Confirm the configured channel still exists.
- Confirm bot permissions in the channel: View Channel, Send Messages, Embed Links.
Auto-role not applied¶
- Confirm bot has Manage Roles.
- Confirm bot role is above target auto-roles.
- Confirm the role still exists and is not managed by another integration.
Template placeholders render as plain text¶
- Check spelling exactly (for example
{user.mention}). - Remove spaces inside braces.
- Re-save the message on the dashboard Welcome page and run
/welcome testagain.