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

# Member Stream

> Send customized join and leave messages to a Discord channel when members enter or leave your server

Member Stream lets you post fully customized messages to a Discord channel whenever someone joins or leaves your server. You can send plain text, rich Discord embeds, or both — and use dynamic variables to personalise each message with the member's name, avatar, and more.

***

## How It Works

Member Stream has two independent configurations: one for **Join** messages and one for **Leave** messages. Each can be enabled or disabled separately, pointed at a different channel, and styled completely differently. A live preview on the right updates in real time as you edit.

***

## Setting Up Join Messages

<Steps>
  <Step title="Open Member Stream">
    Navigate to **Member Stream** in your portal dashboard and select the **Join** tab.
  </Step>

  <Step title="Enable join messages">
    Toggle **Join Messages** on. The configuration options expand below.
  </Step>

  <Step title="Send for Bots">
    Toggle **Send For Bots** on or off to control whether join messages fire when a bot account joins the server.
  </Step>

  <Step title="Select a channel">
    Open the **Channel** section and pick the Discord text channel where join messages will be posted.
  </Step>

  <Step title="Add message content (optional)">
    Open the **Message Content** section and type plain text. This appears above the embed if one is enabled. Use variable pills to insert dynamic values like `{user}` or `{memberCount}`.
  </Step>

  <Step title="Configure the embed (optional)">
    Find the **Embed** card and toggle it on. The full embed builder expands with fields for accent colour, title, description, author, thumbnail, image, footer, and timestamp.
  </Step>

  <Step title="Test and save">
    Click **Send Test** to post a sample message to your selected channel immediately. The unsaved-changes bar appears at the bottom when you have edits — click **Save** there to apply them.
  </Step>
</Steps>

***

## Setting Up Leave Messages

The Leave tab works identically to the Join tab. Switch to the **Leave** tab, enable leave messages, configure the channel, message content, and embed. Leave messages support the same variables and embed fields.

***

## Available Variables

Click any variable pill in the editor to insert it at your cursor position.

| Variable        | Output                                        |
| --------------- | --------------------------------------------- |
| `{user}`        | Discord mention of the member (e.g. @JohnDoe) |
| `{username}`    | Member's Discord username                     |
| `{nickname}`    | Member's server nickname                      |
| `{server}`      | Name of your Discord server                   |
| `{memberCount}` | Current member count of the server            |
| `{joindate}`    | The member's account creation date            |
| `{avatar}`      | URL of the member's Discord avatar            |
| `{serverIcon}`  | URL of your server's icon                     |

<Info>
  Variables like `{avatar}` and `{serverIcon}` return URLs — use them in the **Thumbnail**, **Image**, or **Author icon** fields to display images dynamically.
</Info>

***

## Live Preview

The right-hand panel shows a real-time Discord-style preview of your message as you type. It replaces all variables with sample values. The preview also shows a status card indicating whether Join and Leave messages are currently active or disabled.

***

## Testing Your Setup

Click **Send Test** after selecting a channel to post a live sample to your Discord server. The button is disabled until a channel is selected. Test messages are one-off sends and do not affect production messages.

***

## Access Control

Only portal **Owners** and **Admins** can configure Member Stream settings.
