> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rbxweb.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Welcome and goodbye messages

> Post a custom message when a member joins or leaves. Optionally assign roles on join.

The bot can post two separate messages: a **welcome** message when someone joins, and a **goodbye** message when someone leaves. Both use the same **visual message editor** — you type directly inside a live Discord preview, and every part (title, description, fields, image, footer…) appears exactly where it will in Discord. Both support placeholders like `{user}`, `{server}`, and `{member_count}`.

Open **Dashboard → Welcome / Bye Message**. The two cards (**Welcome Message** and **Goodbye Message**) are stacked and configured independently.

## The visual editor

Each card is a live preview of the message the bot will send. Click any field to edit it in place; blank fields are not sent.

* **Embed toggle** (top-right of the card) — when **on**, the message is sent as a rich embed. When **off**, it's sent as a **plain message** (just the message text, no embed). The designed default text fills whichever field that mode uses, so you never accidentally send the text twice.
* **Message text** — the line shown *above* the embed. In embed mode this is usually left empty; in plain-message mode it becomes the whole message.
* **Embed parts** — author (name + icon), title, description, fields (each can be toggled **inline**), image, thumbnail, footer (text + icon), and an optional **timestamp**.
* **Embed colour** — pick a colour, or enable **Random colour** for a fresh colour on every send.

Every text field has a live **character counter** (counting down from the Discord limit, turning red as you approach it), Discord **markdown** rendering (`**bold**`, `*italics*`, `~~strike~~`, headers, lists…), and **`#channel` / `@role` autocomplete** — type `#` or `@` to pick a channel or role; matched mentions show as coloured pills.

Use the **Variables** and **Markdown** buttons in the toolbar to insert tokens and formatting at your cursor. The **Variables** list only shows the placeholders that work for that message.

The toolbar also has two template actions on the right: **Restore default** rolls the message and embed back to the original ready-made template (your channel and role settings are kept), and the **trash** button clears every field. Restore is handy if you ever wipe the editor and want the starting design back.

### Image & thumbnail options

Click the thumbnail or image slot to choose:

* **Member's avatar** *(thumbnail)* — the joining/leaving member's profile picture, resolved per member.
* **Random image (Picsum)** — a fresh random image on every send.
* **Image library** — pick from your server's uploaded images.
* **From URL** — paste any image URL.

The small **author** and **footer** icons additionally offer a **Bot icon** option (the bot's own avatar), alongside your image library or a URL.

<Info>
  **New servers start pre-filled.** A brand-new server opens with a ready-made welcome template (a `{user}` ping, a `hi {user_name}!` title, a "Welcome to {server} server!" body, the member's avatar as the thumbnail, a random image, and a `{server} • {member_count} members` footer with the bot icon) and a matching goodbye template — just review, enable, and save. Clicking **Restore default** in the toolbar brings this template back at any time.
</Info>

<Note>
  Servers configured before the new editor are **migrated automatically** — your existing welcome/goodbye message, colour, thumbnail and member-count footer carry over unchanged. The old standalone toggles (Mention on Join, Show footer, Enable thumbnail, Random image) are now built into the editor: put `{user}` in the message text to ping, type a footer with `{member_count}`, or use the thumbnail/image options above.
</Note>

## Welcome message

When a new member joins, the bot sends the configured message to the chosen channel. If role assignment is enabled, it also adds the selected roles to the new member.

<ResponseField name="Enable Welcome Messages" type="toggle">
  Master switch. If off, nothing is sent when a member joins.
</ResponseField>

<ResponseField name="Welcome Channel" type="channel picker">
  Destination channel. Required.
</ResponseField>

<ResponseField name="Message / embed" type="visual editor">
  Use [placeholders](/placeholders) such as `{user}` (mention), `{user_name}`, `{server}`, and `{member_count}`.
</ResponseField>

<ResponseField name="Assign roles on join" type="toggle + role picker">
  When enabled, the bot assigns the listed roles to every new member (up to 10). Premium / Booster feature.
</ResponseField>

<Warning>
  The bot's own role must be positioned **above** the roles it assigns in **Server Settings → Roles**, or Discord blocks the assignment.
</Warning>

## Goodbye message

When a member leaves (or is kicked / banned), the bot sends the configured message to the chosen channel.

<ResponseField name="Enable Goodbye Messages" type="toggle">
  Master switch.
</ResponseField>

<ResponseField name="Goodbye Channel" type="channel picker">
  Destination channel. Required.
</ResponseField>

<ResponseField name="Message / embed" type="visual editor">
  Supports the same [placeholders](/placeholders). Prefer `{user_name}` over `{user}` — a member who has already left can no longer be mentioned.
</ResponseField>

## Previewing

Click **Preview** in the editor to see the final rendered message with placeholders filled in with sample values and markdown applied — no message is actually sent. To verify the real thing end-to-end, save your changes and have a test account join and leave the server.
