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.
Welcome Card¶
Turn on Attach Welcome Card Image on the Dashboard's Welcome page and every welcome message gets a generated image: the new Member's avatar, their name, your Server's name and their member number. The card is off by default. If it can't be drawn (for example the avatar fails to load), the welcome message still posts without it.
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.