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

# Automatic messages

> Sticky messages, scheduled announcements, dead-chat revivers, paginated posts and response buttons.

Messages that send themselves, in five different shapes.

## Sticky messages

A message that stays pinned to the bottom of the channel. When someone talks, it's deleted and re-sent below their message.

<CodeGroup>
  ```javascript Create theme={null}
  !sticky add #general {description: Read #rules before posting.}
  ```

  ```javascript From an existing message theme={null}
  !sticky existing #general <message>
  ```

  ```javascript Edit theme={null}
  !sticky update #general {description: New text.}
  ```

  ```javascript Preview theme={null}
  !sticky view #general
  ```

  ```javascript Remove theme={null}
  !sticky remove #general
  ```

  ```javascript List theme={null}
  !sticky list
  ```
</CodeGroup>

Requires **Manage Messages**. Aliases: `stickymessage`, `stickymsg`, `sm`.

<Tip>
  One per channel, and use it sparingly — a sticky message in a busy channel is deleted and re-posted constantly, which is visually noisy. Best for slow channels where the information genuinely matters: rules in `#support`, format requirements in `#applications`.
</Tip>

## Scheduled messages

Recurring messages on an interval or a cron-like schedule.

<CodeGroup>
  ```javascript Every 6 hours theme={null}
  !schedule add #general 6h
  ```

  ```javascript At a specific time daily theme={null}
  !schedule add #general every day at 12am
  ```

  ```javascript Every hour theme={null}
  !schedule add #announcements 1h
  ```
</CodeGroup>

You'll be prompted for the message content. Requires **Manage Messages**. Aliases: `timer`, `automessage`, `automsg`, `am`.

```javascript theme={null}
!schedule view #general
!schedule list
!schedule remove #general
!schedule clear
```

### Only when people are around

```javascript theme={null}
!schedule activity #general on
```

Skips the message if nothing has been said recently. Stops a scheduled reminder posting into an empty channel at 4am. Aliases: `requireactivity`, `ra`, `active`.

Times respect your [timezone](/utility/everyday#timezones) if you've set one.

## Dead chat revivers

The inverse of a scheduled message: fires only when a channel has been **quiet** for a while.

```javascript theme={null}
!schedule revive add #general 2h {content: {random: dead chat, someone say something, hello?}}
```

After 2 hours of silence, the message posts. Aliases: `deadchat`, `dc`, `inactivity`, `inac`.

<Tip>
  Randomise it — a revive message that says the same thing every time reads like a bot nagging people. `{random: a, b, c}` picks fresh each time. See [operators](/scripting/operators#randomness).
</Tip>

## Paginated messages

A message members page through with buttons or reactions. Good for rules, FAQs and guides that would otherwise be a wall of text.

<Steps>
  <Step title="Create it">
    ```javascript theme={null}
    !pagination create {title: Rules} {description: Page 1 — be decent.}
    ```
  </Step>

  <Step title="Add pages">
    ```javascript theme={null}
    !pagination add <message> {title: Rules} {description: Page 2 — no spam.}
    !pagination add <message> {title: Rules} {description: Page 3 — no advertising.}
    ```
  </Step>

  <Step title="Pick the navigation style">
    ```javascript theme={null}
    !pagination style <message> buttons
    !pagination style <message> reactions
    ```
  </Step>
</Steps>

<CodeGroup>
  ```javascript Edit a page theme={null}
  !pagination edit <message> 2 {description: Updated page 2.}
  ```

  ```javascript Reorder theme={null}
  !pagination move <message> 3 1
  ```

  ```javascript Remove a page theme={null}
  !pagination remove <message> 3
  ```

  ```javascript Inspect a page's script theme={null}
  !pagination view <message> 2
  ```

  ```javascript Re-apply navigation theme={null}
  !pagination render <message>
  ```

  ```javascript List all paginators theme={null}
  !pagination list
  ```
</CodeGroup>

Requires **Manage Messages**. Aliases: `paginate`, `pages`, `page`, `pg`.

## Response buttons

Attach buttons to any message that reply **privately** to whoever clicks them. Nobody else sees the response.

<CodeGroup>
  ```javascript Add one theme={null}
  !button add <message> primary ❓ "How do I get roles?" {description: Head to #roles and pick what you want.}
  ```

  ```javascript Edit its response theme={null}
  !button edit <message> 1 {description: New answer.}
  ```

  ```javascript Restyle theme={null}
  !button style <message> 1 success
  !button emoji <message> 1 ✅
  !button label <message> 1 "Getting roles"
  ```

  ```javascript Reorder theme={null}
  !button move <message> 2 1
  ```

  ```javascript Remove theme={null}
  !button remove <message> 1
  ```

  ```javascript Re-apply after an edit theme={null}
  !button render <message>
  ```
</CodeGroup>

Requires **Manage Messages**. Aliases: `responsebutton`, `rbutton`, `rb`.

Buttons are indexed from **1**, oldest first. `!button view <message> 1` shows what a button is configured to say.

<Tip>
  This is a lightweight FAQ that doesn't clutter the channel. One message, five buttons, five common questions — each answered privately so `#general` doesn't fill with the same explanation forty times.
</Tip>

## Which should I use?

| I want...                               | Use                                       |
| --------------------------------------- | ----------------------------------------- |
| Information always visible in a channel | **Sticky**                                |
| A reminder on a schedule                | **Schedule**                              |
| Something to wake up a quiet channel    | **Schedule revive**                       |
| Long content people browse              | **Pagination**                            |
| Answers to common questions, privately  | **Response buttons**                      |
| A greeting when someone joins           | [System messages](/setup/system-messages) |
| A reply to something someone said       | [Triggers](/setup/triggers)               |

## Command reference

| Command                                                 | Permission                 | Description             |
| ------------------------------------------------------- | -------------------------- | ----------------------- |
| `sticky add <channel> <script>`                         | Manage Messages            | Create a sticky         |
| `sticky existing <channel> <message>`                   | Manage Messages            | Sticky from a message   |
| `sticky update <channel> <script>`                      | Manage Messages            | Edit it                 |
| `sticky view <channel>`                                 | Manage Messages            | Preview                 |
| `sticky remove <channel>`                               | Manage Messages            | Remove                  |
| `sticky list`                                           | Manage Messages            | All stickies            |
| `schedule add <channel> <timing>`                       | Manage Messages            | Recurring message       |
| `schedule activity <channel> (on/off)`                  | Manage Messages            | Require recent activity |
| `schedule view <channel>`                               | Manage Messages            | Preview                 |
| `schedule list`                                         | Manage Channels + Messages | All schedules           |
| `schedule remove <channel>`                             | Manage Messages            | Remove                  |
| `schedule clear`                                        | Manage Channels + Messages | Remove all              |
| `schedule revive add <channel> [duration] <script>`     | Manage Messages            | Dead-chat message       |
| `pagination create [template]`                          | Manage Messages            | New paginated message   |
| `pagination add <message> <script>`                     | Manage Messages            | Add a page              |
| `pagination edit <message> <index> <script>`            | Manage Messages            | Edit a page             |
| `pagination move <message> <index> <position>`          | Manage Messages            | Reorder                 |
| `pagination remove <message> <index>`                   | Manage Messages            | Remove a page           |
| `pagination style <message> <style>`                    | Manage Messages            | buttons or reactions    |
| `pagination view <message> <index>`                     | Manage Messages            | Inspect a page          |
| `pagination render [message]`                           | Manage Messages            | Re-apply navigation     |
| `pagination list`                                       | Manage Messages            | All paginators          |
| `button add <message> [style] [emoji] [label] <script>` | Manage Messages            | Add a response button   |
| `button edit <message> <index> <script>`                | Manage Messages            | Change its response     |
| `button style/emoji/label <message> <index> <value>`    | Manage Messages            | Restyle                 |
| `button move <message> <index> <position>`              | Manage Messages            | Reorder                 |
| `button remove <message> <index>`                       | Manage Messages            | Remove                  |
| `button render [message]`                               | Manage Messages            | Re-apply buttons        |
| `button list`                                           | Manage Messages            | All response buttons    |
