Welcome and Goodbye Messages: Banners and Placeholders
How Kage greets new members and reports departures: banner with avatar, placeholders, embed or text, staff log, commands and typical causes of errors.
Last checked for accuracy: 20 October 2026
Kage greets new members with a welcome message and reports departures with a goodbye message. Both consist of a text and a generated banner with the member's avatar. The settings are nearly identical for both modules. For departures there is additionally a staff log with details only for your team.
For short walkthroughs, see the guides Setting up a welcome message, Setting up a goodbye message and Logging departures.
Requirements
- Access to the module: You sign in to the dashboard with Discord and need the Manage Server permission (or access granted for this module). The slash commands
/welcomeand/leavecan likewise only be used with Manage Server. - A channel: Choose the channel for the messages. Without a channel, Kage posts nothing.
- Kage's permissions in the channel: View Channel, Send Messages, Embed Links and Attach Files. If they are missing, Kage tries to add them itself (see below).
How a join works
- A member joins. Kage processes the join in a fixed order: first invite attribution, then Anti-raid, then the welcome message, followed by auto roles, verification, onboarding, rules and the rank system.
- If the welcome message is off or no channel is chosen, the flow ends here.
- Kage looks up the channel. If it is deleted or unreachable, a warning appears in the operating log.
- Kage checks its permissions in the channel. If something is missing and Kage has the Manage Roles permission (or Administrator), it adds the missing channel permissions for its own role itself. This appears in the Logs tab as "Missing channel permissions added automatically". If it cannot, the error with the missing permissions is listed there, and nothing is posted.
- Kage generates the banner, replaces the placeholders and posts the message. Kage does not distinguish between humans and bots here: a bot that joins is greeted as well.
- The post appears in the Logs tab.
The structure of the message
| Part | Description |
|---|---|
| Title | A heading, for example "Welcome to {guild}!". |
| Text | Your freely written message text with placeholders. |
| Banner | A generated image with the avatar and a short sentence like "Name joined the server." The language of this sentence follows the server language in Discord (German or English). |
There are two presentations:
- Text and image (default): The title appears in bold above the text, and the banner is attached as an image to the same message, without a frame.
- Embed with border: The message appears as an embed with a colored border. Turn on "Show as an embed with a border" for this.
Placeholders
You can use these placeholders in title and text:
| Placeholder | Result |
|---|---|
{member} | Mention of the member |
{user} | Display name of the member |
{guild} | Server name |
{membercount} | Current member count |
Unknown placeholders, for example because of a typo, stay unchanged in the text and do not cause an error.
The banner
- Background: a gradient or your own image. You give the image as a web address (http or https) or upload it in the dashboard (PNG, JPEG, WEBP or GIF, at most 8 MB). Uploading is the most reliable way. If you enter an external address in the dashboard, Kage downloads the image once when you save and stores it permanently itself, so it doesn't disappear when the link expires (Discord attachment links do after a while).
- Colors: Text color, ring around the avatar and, in embed mode, the border are adjustable.
- Positions: In the dashboard you drag the avatar and text to the desired spot in the banner preview. The preview is an approximation; font and shadow only appear in the sent banner.
- Names with special characters are drawn with a font with wide Unicode coverage, for example Cyrillic or Greek characters.
Avatar update
If a member changes their Discord avatar within 30 days of joining, Kage updates the banner in the welcome message automatically. This only happens while the module is on and the channel has not changed. Kage no longer touches older messages.
The goodbye message
It works like the welcome message, with its own settings: its own channel, title, text, banner (with the sentence "Name left the server.") and colors. The same placeholders apply. The default texts are "{user} has left the server. We wish them all the best!" and "Goodbye, {user}!".
The staff log
In addition, Kage can post details on every departure into a channel that only your team sees:
- Server name, Discord name, username and ID
- Join time and leave time
- The roles the member had when leaving (up to 25, then "… +N")
The staff log is independent of the public goodbye message: its own channel, its own switch ("Staff log active", "Channel for the staff log"), and it also runs when the goodbye message is off. It is tied to a plan; the plan notice at the top of this page shows which one. Kage needs the permissions to send and embed in the team channel.
Slash commands
/welcome and /leave have the same subcommands. Only you see the replies, except for test.
| Command | Effect |
|---|---|
channel | Sets the channel. Kage adds missing channel permissions itself where possible or points them out. |
message | Sets the message text (placeholders allowed). |
title | Sets the title (placeholders allowed). |
color | Sets the embed border color as a hex value like #5865F2. |
text-color | Sets the text color in the banner. |
ring-color | Sets the color of the ring around the avatar. |
embed-style | Chooses embed with border (true) or text and image (false). |
background | Sets an image address as the banner background (must start with http:// or https://). Only the address is saved, not the image. For a permanent image, upload it in the dashboard. |
background-clear | Removes the background image, back to the gradient. |
enable | Turns the message on. Only works once a channel is set. |
disable | Turns it off. |
status | Shows the current configuration. |
test | Posts a preview with you as the example member. The preview is visible to everyone in the channel where you run the command, and does not trigger the staff log. |
Fine placement of avatar and text, as well as the staff log, you set only in the dashboard.
Settings at a glance
| Dashboard field | Meaning | Default |
|---|---|---|
| Message active | Turns the module on | off |
| Channel | Target channel | none |
| Title / Text | Content with placeholders | English default texts |
| Show as an embed with a border | Embed instead of text and image | off |
| Embed border / Text color / Ring around image | Colors | Blue / White / White |
| Custom background image | Address or upload | Gradient |
| Staff log (goodbye only) | Switch and channel | off |
Checking the result
- Preview: Run
/welcome test. The message appears with your avatar. - Status:
/welcome statusshows channel, style, colors and texts. - Real test: Join with a second account. The message appears in the channel.
- Log: The Logs tab shows posts, automatically added permissions and errors.
Troubleshooting
No welcome message appears
Check that the message is active and a channel is chosen and saved. Look in the Logs tab for "I'm missing the following permissions in the … channel". Give Kage Manage Roles so it can add channel permissions itself, or grant Send Messages, Embed Links and Attach Files in the channel by hand. A channel override such as "@everyone may not write" can otherwise block Kage.
The banner shows a wrong image or no background
Check the address of the background image. It must be publicly reachable and start with http:// or https://. Without an image, Kage uses the gradient. If the image can't be loaded when posting (expired link, timeout), Kage uses the last copy that loaded successfully and notes it in the Logs tab ("Background image could not be loaded", with the reason). The gradient only appears if the image could never be loaded. The background command loads the image immediately and tells you if that fails. It saves only the address, and the temporary copy is a fallback that is not permanently backed up. The safest way is to upload the image in the dashboard: then it is stored permanently by Kage and does not depend on any external link.
The placeholders appear as text
The placeholder is misspelled. Only {member}, {user}, {guild} and {membercount} are allowed, exactly like this, in curly braces.
The avatar in the banner is outdated
Kage only updates the message within 30 days and only if the message and channel are still unchanged. If the message was deleted, it stays gone.
The staff log stays empty
Check "Staff log active" and the channel, the plan and Kage's permissions in the channel. An error is listed as "staff_log_error" in the Logs tab.
Further reading
Roles on join: Auto roles and Verification. More steps for new members: Onboarding and Server rules.
Related Kage modules
- WelcomeIncluded in Basic
- LeaveIncluded in Basic
Keep reading
More questions? Ask Kage AIAI
Describe what you need – Kage AI picks out the right guide and gives you the sources.
Try Kage on your server
Sign in with Discord, invite the bot and set up the modules in the dashboard. The Basic plan is free forever.