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

# VoiceMaster

> Let members create and manage their own temporary voice channels.

# VoiceMaster

> Let members create and manage their own temporary voice channels.

## How it works

VoiceMaster designates one voice channel as a **trigger**. When a member joins it, raze instantly creates a private voice channel for them and moves them into it. The creator owns that channel and can rename it, set a limit, lock it, hide it, and control who can join — all via commands. When the last member leaves, the channel is automatically deleted.

## Setup

<Steps>
  <Step title="Run the setup command">
    ```bash theme={null} theme={null}
    ;voicemaster setup
    ```

    Walks through an interactive prompt that creates the trigger channel and configures the system. Requires **Manage Server**.
  </Step>

  <Step title="Set the category">
    ```bash theme={null} theme={null}
    ;voicemaster category (category)
    ```

    Choose which category new voice channels are created in. If not set, channels appear at the top level.
  </Step>

  <Step title="Configure defaults (optional)">
    Set a default role, region, and bitrate applied to every new channel. See **Server configuration** below for details.
  </Step>
</Steps>

<Tip>
  Run `;voicemaster configuration` at any time to see your current setup without having to check the server manually.
</Tip>

## Generators

Generators are **extra trigger channels with a fixed size**. Where the main trigger makes a general channel, a generator makes a channel sized for a specific party — a Duo, a Trio, or a custom Squad. Each generator type gets its own category, and there is one of each type per server.

```bash theme={null} theme={null}
;voicemaster generator duo
;voicemaster generator trio
;voicemaster generator squad (size)
```

<ParamField path="size" type="number" required>
  For `squad`, the member limit of channels made by this generator.
</ParamField>

<Tabs>
  <Tab title="List">
    ```bash theme={null} theme={null}
    ;voicemaster generator list
    ```

    Show every configured generator and its size. *Aliases: `;voicemaster gen ls`.*
  </Tab>

  <Tab title="Remove">
    ```bash theme={null} theme={null}
    ;voicemaster generator remove (duo | trio | squad)
    ```

    Delete a generator. If its category is left empty, the category is removed too.
  </Tab>
</Tabs>

<Note>
  `generator` is aliased to `gen` and `generators`. A member joining a generator gets a channel pre-set to that party size.
</Note>

## Server configuration

<Tabs>
  <Tab title="Category">
    ```bash theme={null} theme={null}
    ;voicemaster category (category)
    ```

    Sets the category where temporary voice channels are created. Use the category name or ID.
  </Tab>

  <Tab title="Default role">
    ```bash theme={null} theme={null}
    ;voicemaster defaultrole (@role)
    ```

    Role automatically granted to members while they're inside any VoiceMaster channel. The role is removed when they leave.
  </Tab>

  <Tab title="Default region">
    ```bash theme={null} theme={null}
    ;voicemaster defaultregion (region)
    ```

    Sets the default voice region for new channels. Use Discord's region identifiers (e.g. `us-east`, `europe`, `brazil`).
  </Tab>

  <Tab title="Default bitrate">
    ```bash theme={null} theme={null}
    ;voicemaster defaultbitrate (kbps)
    ```

    Sets the default audio bitrate in kbps for new channels. Capped by your server's boost tier.
  </Tab>
</Tabs>

To remove VoiceMaster entirely:

```bash theme={null} theme={null}
;voicemaster reset
```

<Warning>
  `;voicemaster reset` deletes the trigger channel and all VoiceMaster configuration. Active temporary channels are not deleted immediately but will no longer be managed by the system.
</Warning>

## Channel controls

These commands are available to the **owner** of their own VoiceMaster channel.

<AccordionGroup>
  <Accordion title="Name & limits">
    ```bash theme={null} theme={null}
    ;voicemaster name (name)
    ;voicemaster limit (0-99)
    ;voicemaster bitrate (8-384 kbps)
    ```

    <ParamField path="name" type="string" required>
      New display name for the channel.
    </ParamField>

    <ParamField path="limit" type="number" required>
      Maximum number of members allowed. Set to `0` for unlimited.
    </ParamField>

    <ParamField path="bitrate" type="number" required>
      Audio bitrate in kbps. Range is `8`–`384`, capped by server boost tier.
    </ParamField>
  </Accordion>

  <Accordion title="Lock & visibility">
    ```bash theme={null} theme={null}
    ;voicemaster lock
    ;voicemaster unlock
    ;voicemaster ghost
    ;voicemaster unghost
    ```

    **Lock / Unlock** — prevents new members from joining without being explicitly permitted. Members already inside are unaffected.

    **Ghost / Unghost** — hides or shows the channel in the server's channel list. Hidden channels are invisible to members who haven't been permitted.
  </Accordion>

  <Accordion title="Access control">
    ```bash theme={null} theme={null}
    ;voicemaster permit (@user or @role)
    ;voicemaster reject (@user or @role)
    ```

    **Permit** — grants a specific user or role permission to join and see the channel, even if it's locked or ghosted.

    **Reject** — denies a specific user or role from joining. Useful for blocking individuals without locking the channel for everyone.
  </Accordion>

  <Accordion title="Ownership">
    ```bash theme={null} theme={null}
    ;voicemaster claim
    ;voicemaster transfer (@user)
    ```

    **Claim** — takes ownership of a channel whose original owner has left. Only works if the current owner is no longer in the channel.

    **Transfer** — hands ownership to another member currently in the channel.
  </Accordion>
</AccordionGroup>

## Invite privacy

Members can control who is allowed to send them a VoiceMaster invite. These settings belong to the **member**, not the server — a block applies in every server raze is in.

<Tabs>
  <Tab title="Check your setting">
    ```bash theme={null} theme={null}
    ;voicemaster invites
    ```

    Shows whether you're accepting invites and how many members you've blocked. *Aliases: `;voicemaster invite`, `;voicemaster dms`.*
  </Tab>

  <Tab title="Block everyone">
    ```bash theme={null} theme={null}
    ;voicemaster invites block
    ```

    Stops all VoiceMaster invites. *Aliases: `disable`, `off`.*
  </Tab>

  <Tab title="Accept again">
    ```bash theme={null} theme={null}
    ;voicemaster invites allow
    ```

    Reverses a full block. *Aliases: `enable`, `on`.*
  </Tab>

  <Tab title="Block one member">
    ```bash theme={null} theme={null}
    ;voicemaster invites blockuser (@member)
    ;voicemaster invites unblock (@member)
    ```

    Blocks or unblocks a single member while still accepting invites from everyone else. *Aliases: `ignore`, `allowuser`.*
  </Tab>

  <Tab title="List blocked">
    ```bash theme={null} theme={null}
    ;voicemaster invites blocked
    ```

    Paginated list of everyone you've blocked. *Alias: `;voicemaster invites list`.*
  </Tab>
</Tabs>

<Note>
  Blocking everyone and blocking individuals are independent. Turning a full block off restores your per-member blocks rather than clearing them.
</Note>

## Interface panel

When VoiceMaster is set up, raze posts an **interface panel** in the interface channel. Channel owners use its buttons instead of typing commands — it's the fastest way to manage a channel from a phone.

The panel shows the most-used actions as buttons, with the rest behind a **More options** dropdown. Available actions:

| Action                              | What it does                                             |
| ----------------------------------- | -------------------------------------------------------- |
| **Lock** / **Unlock**               | Close or reopen the channel to new joiners               |
| **Hide** / **Reveal**               | Hide the channel from the channel list, or show it again |
| **Claim**                           | Take a channel whose owner has left                      |
| **Transfer**                        | Hand ownership to another member in the channel          |
| **Disconnect**                      | Remove a member from the channel                         |
| **Increase (+)** / **Decrease (−)** | Nudge the member limit up or down                        |
| **Limit**                           | Set an exact member limit via a prompt                   |
| **Bitrate**                         | Set the audio bitrate via a prompt                       |
| **Region**                          | Change the voice region                                  |
| **Permit**                          | Grant a member access to a locked or hidden channel      |
| **Invite**                          | Create an invite link to your channel                    |
| **Waiting Room**                    | Hold joiners until you admit them                        |
| **Activity**                        | Start a Discord activity in the channel                  |
| **Logs**                            | View what has been changed in your channel and by whom   |
| **Information**                     | Show the channel's current settings                      |

<Note>
  The panel is a persistent component — its buttons keep working across restarts. Anyone can press them, but actions only apply to the channel the presser currently owns.
</Note>

### Channel logs

**Logs** shows a paginated history of actions taken on your channel — who locked it, who changed the limit, who was disconnected — so an owner can see what happened while they were away. It's visible only to you and covers the channel you currently own.

<Info>
  Logs are recorded per channel. Because temporary channels are deleted when the last member leaves, a channel's history only covers its current lifetime.
</Info>

## Custom interface layouts

Beyond the default panel, you can design your own layout in a **web builder** and send that instead — choosing which buttons appear, their order, labels, emojis, and accent.

<Steps>
  <Step title="Create a template">
    ```bash theme={null} theme={null}
    ;voicemaster interface template create (name)
    ```

    ```bash theme={null} theme={null}
    ;voicemaster interface template create compact
    ```

    Returns an **Open Web Builder** link for that template. The link expires after **1 hour**; run the command again to get a fresh one.
  </Step>

  <Step title="Design and save">
    Arrange the layout in the builder and save. Your template is stored against the server under the name you chose.
  </Step>

  <Step title="Send it">
    ```bash theme={null} theme={null}
    ;voicemaster interface send [#channel] --custom
    ```

    Prompts you to pick a template, then posts that panel. Without `--custom` the default panel is sent.
  </Step>
</Steps>

<Tabs>
  <Tab title="List templates">
    ```bash theme={null} theme={null}
    ;voicemaster interface template list
    ```
  </Tab>

  <Tab title="Remove a template">
    ```bash theme={null} theme={null}
    ;voicemaster interface template remove (name)
    ```
  </Tab>

  <Tab title="Move the panel">
    ```bash theme={null} theme={null}
    ;voicemaster interface move (#channel)
    ```

    Deletes the existing panel and posts it in the new channel.
  </Tab>
</Tabs>

<Note>
  Interface commands require **Manage Server** or a [Fake Permission](/security/fakepermissions) equivalent.
</Note>

## View config

```bash theme={null} theme={null}
;voicemaster configuration
```

Displays the full current VoiceMaster configuration: trigger channel, category, default role, region, and bitrate.
