> ## 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.

# VoiceMaster

> Temporary voice channels members create and control themselves.

Members join a "join to create" channel and get their own voice channel, which they fully control — rename it, lock it, set a limit, kick people out. When the last person leaves, it deletes itself.

## Setting up

```javascript theme={null}
!voicemaster setup
```

Requires **Manage Channels**. Creates the category, the join-to-create channel, and an interface panel with buttons for the common actions.

To customise the interface panel, pass a [script](/scripting/overview):

```javascript theme={null}
!voicemaster setup {box: #5cacec} {box.header: Voice controls} {box.text: Join the channel above to make your own.}
```

Tear it all down with:

```javascript theme={null}
!voicemaster reset
```

Requires **Administrator**.

## What members can do

Once someone owns a channel, they control it — through the interface buttons, or with commands:

<CodeGroup>
  ```javascript Privacy theme={null}
  !voicemaster lock
  !voicemaster unlock
  !voicemaster hide
  !voicemaster reveal
  ```

  ```javascript Access theme={null}
  !voicemaster allow @friend
  !voicemaster reject @someone
  ```

  ```javascript Appearance theme={null}
  !voicemaster rename late night
  !voicemaster limit 5
  ```

  ```javascript Ownership theme={null}
  !voicemaster transfer @friend
  !voicemaster claim
  ```
</CodeGroup>

| Command    | Aliases                      | Effect                                 |
| ---------- | ---------------------------- | -------------------------------------- |
| `lock`     | —                            | Nobody new can join                    |
| `unlock`   | —                            | Anyone can join                        |
| `hide`     | `ghost`                      | Hidden from the channel list           |
| `reveal`   | `show`, `unhide`             | Visible again                          |
| `allow`    | `permit`                     | Let one person in past a lock          |
| `reject`   | `disconnect`, `deny`, `kick` | Remove and block someone               |
| `rename`   | `name`                       | Rename the channel                     |
| `limit`    | —                            | Cap the member count (`0` = unlimited) |
| `transfer` | `give`                       | Hand ownership over                    |
| `claim`    | —                            | Take an abandoned channel              |

`claim` only works when the current owner has left. If they're still in the channel, `!voicemaster transfer request` asks them to hand it over instead.

Group aliases: `voice`, `vm`, `vc`.

## Admin settings

<AccordionGroup>
  <Accordion title="Categories" icon="folder">
    ```javascript theme={null}
    !voicemaster category "Voice Channels"
    !voicemaster category private "Locked"
    ```

    The second one moves **locked** channels into a separate category, so the public list stays readable. Requires **Manage Channels**.
  </Accordion>

  <Accordion title="Default channel names" icon="tag">
    ```javascript theme={null}
    !voicemaster default name {user.name}'s channel
    ```

    Supports [variables](/scripting/variables). Remove it with `!voicemaster default name remove`.
  </Accordion>

  <Accordion title="Default channel status" icon="comment">
    ```javascript theme={null}
    !voicemaster default status chillin wit da bros
    ```

    Sets the voice channel status line new channels start with.
  </Accordion>

  <Accordion title="A role for people in voice" icon="user-tag">
    ```javascript theme={null}
    !voicemaster role @In Voice
    ```

    Granted on joining any VoiceMaster channel, removed on leaving. Handy for a voice-only text channel. Remove with `!voicemaster role remove`.
  </Accordion>

  <Accordion title="Interface mentions" icon="at">
    ```javascript theme={null}
    !voicemaster notice
    ```

    Toggles whether the interface panel mentions members alongside it. Aliases: `notifier`, `pings`, `mentions`.
  </Accordion>
</AccordionGroup>

## Statistics

<CodeGroup>
  ```javascript Server voice activity theme={null}
  !voicemaster statistics
  ```

  ```javascript Most active members theme={null}
  !voicemaster statistics leaderboard
  ```
</CodeGroup>

Aliases: `stats` / `lb`, `top`. Anyone can run these.

For broader activity data — messages, reactions and voice time together — see [Server insight](/utility/server-insight).

## Common problems

<AccordionGroup>
  <Accordion title="Channels aren't being created">
    mira needs **Manage Channels** and **Move Members**, and the category needs to have room — Discord caps a category at 50 channels. Re-run `!voicemaster setup` if the join-to-create channel was deleted.
  </Accordion>

  <Accordion title="Channels aren't being deleted">
    They delete when the last member leaves. A channel that stays empty usually means someone is still connected but invisible to you — check the member list, or just delete it manually.
  </Accordion>

  <Accordion title="Members can't lock their channel">
    They have to be the **owner**. Ownership goes to whoever created the channel, and transfers only via `transfer` or `claim`. Someone who joined an existing channel controls nothing.
  </Accordion>

  <Accordion title="Locked channels still show up">
    Locking prevents joining; it doesn't hide. `!voicemaster hide` does that. Or set a private category so locked channels move somewhere less prominent.
  </Accordion>
</AccordionGroup>

## Command reference

| Command                                   | Permission      | Description                |
| ----------------------------------------- | --------------- | -------------------------- |
| `voicemaster setup [template]`            | Manage Channels | Create the system          |
| `voicemaster reset`                       | Administrator   | Remove it entirely         |
| `voicemaster category <category>`         | Manage Channels | Where channels are made    |
| `voicemaster category private <category>` | Manage Channels | Where locked ones go       |
| `voicemaster default name <template>`     | Manage Channels | Default channel name       |
| `voicemaster default status <template>`   | Manage Channels | Default status             |
| `voicemaster role <role>`                 | Manage Channels | Role while in voice        |
| `voicemaster notice`                      | Manage Channels | Toggle interface mentions  |
| `voicemaster lock` / `unlock`             | Owner           | Control joining            |
| `voicemaster hide` / `reveal`             | Owner           | Control visibility         |
| `voicemaster allow <target>`              | Owner           | Permit someone             |
| `voicemaster reject <target>`             | Owner           | Remove and block           |
| `voicemaster rename <name>`               | Owner           | Rename                     |
| `voicemaster limit <limit>`               | Owner           | Member cap                 |
| `voicemaster transfer <member>`           | Owner           | Hand over ownership        |
| `voicemaster transfer request`            | —               | Ask for ownership          |
| `voicemaster claim`                       | —               | Claim an abandoned channel |
| `voicemaster statistics`                  | —               | Server voice stats         |
| `voicemaster statistics leaderboard`      | —               | Most active members        |
