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

# System Messages

> Post automatically when members join or leave.

## Overview

Two commands, one shared set of subcommands:

| Command | Fires when |
| - | - |
| `,welcome` | A member joins |
| `,goodbye` | A member leaves |

> [!NOTE]
>
> Examples below use `welcome`, but everything applies identically to `goodbye`. All of these require the **Manage Server** permission.

## Creating one

```javascript Syntax theme={null}
,welcome add (channel) (message)
```

```javascript Example theme={null}
,welcome add #general welcome to {guild.name}, {user.mention}
```

`,welcome create` works the same.

> [!TIP]
>
> Messages accept full embed syntax — start with `{embed}` for a rich embed instead of plain text. See [Scripting](/resources/scripting).

### Limits

| Limit | Value |
| - | - |
| Channels per event type | 2 |
| Messages per channel | 1 |

Text channels, announcement channels, and threads all work.

### Self-destructing messages

Add a flag to have misery clean up after itself. Three spellings do the same thing: `$delete`, `$delete_after`, and `$self_destruct`.

```javascript theme={null}
,welcome add #general hey {user.mention} $delete 30
,welcome add #general hey {user.mention} $delete=30
```

> [!WARNING]
>
> The timer must be between **6** and **120** seconds.

> [!NOTE]
>
> `@everyone` and `@here` never ping from a welcome or goodbye message.

## Removing one

```javascript Syntax theme={null}
,welcome remove (channel)
```

```javascript Example theme={null}
,welcome remove #general
```

### Clearing all of them

`,welcome reset` wipes every configured channel for that event.

## Checking your setup

> **Previewing one channel**
>
> Sends the stored message into the current channel so you can see exactly how it'll render, self-destruct included.
>
> ```javascript Syntax theme={null}
> ,welcome view (channel)
> ```
>
> ```javascript Example theme={null}
> ,welcome view #general
> ```

> **Listing everything**
>
> `,welcome list` shows every configured channel.

## Ping on join

Ping new members in a channel and delete the ping after **3 seconds** — they get a notification pointing them there, without leaving clutter behind.

```javascript Syntax theme={null}
,pingonjoin add (channel) (message)
```

```javascript Example theme={null}
,pingonjoin add #rules {user.mention}
```

| Command | What it does |
| - | - |
| `,pingonjoin remove (channel)` | Stop pinging in a channel |
| `,pingonjoin list` | See every ping-on-join channel |
| `,pingonjoin clear` | Remove them all |
| `,pingonjoin variables` | See the variables you can use |

> [!NOTE]
>
> If more than 8 members join within 10 seconds, pings pause for 30 seconds so a raid can't turn into a ping flood.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.