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

# VoiceMaster Commands

> Complete command reference for managing your temporary voice channels

## Overview

VoiceMaster commands give you full control over your temporary voice channels. These commands allow you to lock, hide, rename, and manage permissions for your personal voice channels created through the join-to-create system.

<Info>
  Most commands require you to be the owner of the voice channel. Use `voice claim` to take ownership of abandoned channels.
</Info>

***

## Command Reference

<AccordionGroup>
  <Accordion title="voice lock" icon="lock">
    Lock your voice channel to prevent new users from joining.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice lock
      ```

      ```bash Example theme={null}
      ~voice lock
      ~vc lock
      ```
    </CodeGroup>

    **What It Does:**

    * Blocks @everyone from connecting to your channel
    * Users already in the channel can stay
    * Permitted users can still join

    **Aliases:** `vc lock`\
    **Permissions:** Channel Owner
  </Accordion>

  <Accordion title="voice unlock" icon="lock-open">
    Unlock your voice channel to allow anyone to join.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice unlock
      ```

      ```bash Example theme={null}
      ~voice unlock
      ~vc unlock
      ```
    </CodeGroup>

    **What It Does:**

    * Allows @everyone to connect to your channel
    * Removes the connection restriction
    * Rejected users remain blocked

    **Aliases:** `vc unlock`\
    **Permissions:** Channel Owner
  </Accordion>

  <Accordion title="voice hide" icon="eye-slash">
    Hide your voice channel from other server members.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice hide
      ```

      ```bash Example theme={null}
      ~voice hide
      ~vc hide
      ```
    </CodeGroup>

    **What It Does:**

    * Makes your channel invisible to @everyone
    * Channel disappears from the channel list
    * Members already in the channel can stay
    * You can still see and use your channel

    **Aliases:** `vc hide`\
    **Permissions:** Channel Owner
  </Accordion>

  <Accordion title="voice unhide" icon="eye">
    Make your voice channel visible to everyone.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice unhide
      ```

      ```bash Example theme={null}
      ~voice unhide
      ~vc unhide
      ```
    </CodeGroup>

    **What It Does:**

    * Makes your channel visible to @everyone
    * Channel appears in the channel list
    * Doesn't automatically allow connections (use unlock for that)

    **Aliases:** `vc unhide`\
    **Permissions:** Channel Owner
  </Accordion>

  <Accordion title="voice claim" icon="crown">
    Claim ownership of a voice channel when the original owner has left.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice claim
      ```

      ```bash Example theme={null}
      ~voice claim
      ~vc claim
      ```
    </CodeGroup>

    **What It Does:**

    * Transfers ownership to you
    * Gives you full management permissions
    * Only works if the original owner has left

    **Requirements:**

    * You must be in the voice channel
    * The original owner must not be in the channel
    * Channel must be a JTC-created channel

    **Aliases:** `vc claim`\
    **Permissions:** Must be in the channel
  </Accordion>

  <Accordion title="voice info" icon="circle-info">
    Display detailed information about your voice channel.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice info
      ```

      ```bash Example theme={null}
      ~voice info
      ~vc info
      ```
    </CodeGroup>

    **Information Shown:**

    * Channel name
    * Channel owner
    * Creation time
    * Bitrate
    * Permitted users

    **Aliases:** `vc info`\
    **Permissions:** Must be in the channel
  </Accordion>

  <Accordion title="voice kick" icon="user-xmark">
    Kick a user from your voice channel using an interactive menu.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice kick
      ```

      ```bash Example theme={null}
      ~voice kick
      ~vc kick
      ```
    </CodeGroup>

    **How It Works:**

    1. Run the command
    2. Select a user from the dropdown menu
    3. The user is disconnected from your channel

    <Warning>
      The kicked user can rejoin unless you also lock the channel or reject them.
    </Warning>

    **Aliases:** `vc kick`\
    **Permissions:** Channel Owner
  </Accordion>

  <Accordion title="voice permit" icon="user-check">
    Allow a specific user to join your locked voice channel.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice permit <@user>
      ```

      ```bash Example theme={null}
      ~voice permit @John
      ~vc permit @Friend
      ~voice allow @Trusted
      ```
    </CodeGroup>

    **What It Does:**

    * Grants connection permission to the mentioned user
    * Works even when your channel is locked
    * Overrides global lock settings

    **Aliases:** `vc permit`, `voice allow`, `vc allow`\
    **Permissions:** Channel Owner
  </Accordion>

  <Accordion title="voice reject" icon="user-slash">
    Deny a specific user access to your voice channel.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice reject <@user>
      ```

      ```bash Example theme={null}
      ~voice reject @Spammer
      ~vc reject @Annoying
      ~voice deny @User
      ```
    </CodeGroup>

    **What It Does:**

    * Blocks the mentioned user from joining
    * Kicks them if they're currently in the channel
    * Persists even if you unlock the channel

    **Aliases:** `vc reject`, `voice deny`, `vc deny`\
    **Permissions:** Channel Owner
  </Accordion>

  <Accordion title="voice limit" icon="users">
    Set the maximum number of users allowed in your voice channel.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice limit <number>
      ```

      ```bash Example theme={null}
      ~voice limit 5
      ~voice limit 10
      ~voice limit 0
      ~vc limit 3
      ```
    </CodeGroup>

    **Parameters:**

    * **number:** 0-99 (0 = unlimited)

    **What It Does:**

    * Sets the user limit for your channel
    * 0 removes the limit entirely
    * New users can't join once limit is reached

    **Aliases:** `vc limit`\
    **Permissions:** Channel Owner
  </Accordion>

  <Accordion title="voice transfer" icon="right-left">
    Transfer ownership of your voice channel to another user.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice transfer <@user>
      ```

      ```bash Example theme={null}
      ~voice transfer @Friend
      ~vc transfer @NewOwner
      ```
    </CodeGroup>

    **What It Does:**

    * Transfers full ownership to the mentioned user
    * Removes your management permissions
    * Gives the new owner all control permissions
    * Updates the ownership records

    <Warning>
      You cannot transfer ownership back to yourself. The new owner must transfer it back or leave for you to claim it.
    </Warning>

    **Aliases:** `vc transfer`\
    **Permissions:** Channel Owner
  </Accordion>

  <Accordion title="voice rename" icon="pen">
    Rename your voice channel.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice rename <name>
      ```

      ```bash Example theme={null}
      ~voice rename Gaming Lounge
      ~voice rename Study Session
      ~vc rename AFK Room
      ```
    </CodeGroup>

    **Parameters:**

    * **name:** New channel name (max 100 characters)

    **What It Does:**

    * Changes your voice channel's name
    * Name appears immediately for all users
    * Subject to Discord's rate limits

    **Aliases:** `vc rename`\
    **Permissions:** Channel Owner
  </Accordion>
</AccordionGroup>

***

## Preset Commands

VoiceMaster presets allow you to save your preferred channel settings and apply them automatically when you create new voice channels.

<AccordionGroup>
  <Accordion title="voice preset" icon="floppy-disk">
    Save your preferred voice channel settings as a preset.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice preset name="..." bitrate=... limit=... region=...
      ```

      ```bash Example theme={null}
      ~voice preset name="Gaming Room" bitrate=64000 limit=5 region=singapore
      ~voice preset name="Study Group" limit=8
      ~voice preset bitrate=96000 region=us-west
      ~vc preset name="AFK" limit=0
      ```
    </CodeGroup>

    **Parameters:**

    * **name:** Channel name (must be in quotes if it contains spaces)
    * **bitrate:** Audio quality in bps (e.g., 64000, 96000, 128000)
    * **limit:** User limit 0-99 (0 = unlimited)
    * **region:** Voice region (e.g., singapore, us-west, europe, auto)

    **What It Does:**

    * Saves your preferred settings
    * Applies automatically to new JTC channels you create
    * Updates existing preset if you run it again

    <Note>
      You can set one, some, or all parameters. Unset parameters use Discord defaults.
    </Note>

    **Aliases:** `vc preset`\
    **Permissions:** Channel Owner
  </Accordion>

  <Accordion title="voice preset info" icon="circle-info">
    View your current saved preset settings.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice preset info
      ```

      ```bash Example theme={null}
      ~voice preset info
      ~vc preset info
      ```
    </CodeGroup>

    **Information Shown:**

    * Saved channel name
    * Bitrate setting
    * User limit
    * Voice region

    **Aliases:** `vc preset info`\
    **Permissions:** None (anyone can check their own preset)
  </Accordion>

  <Accordion title="voice preset reset" icon="trash">
    Clear your saved preset settings.

    <CodeGroup>
      ```bash Syntax theme={null}
      ~voice preset reset
      ```

      ```bash Example theme={null}
      ~voice preset reset
      ~vc preset reset
      ```
    </CodeGroup>

    **What It Does:**

    * Deletes your saved preset completely
    * New channels will use default settings
    * Cannot be undone

    **Aliases:** `vc preset reset`\
    **Permissions:** Channel Owner
  </Accordion>
</AccordionGroup>

***

## Permission Requirements

| Command      | Required Permission                  |
| ------------ | ------------------------------------ |
| lock/unlock  | Channel Owner                        |
| hide/unhide  | Channel Owner                        |
| claim        | Be in channel (owner must have left) |
| info         | Be in channel                        |
| kick         | Channel Owner                        |
| permit       | Channel Owner                        |
| reject       | Channel Owner                        |
| limit        | Channel Owner                        |
| transfer     | Channel Owner                        |
| rename       | Channel Owner                        |
| preset       | Channel Owner (for current VC)       |
| preset info  | None                                 |
| preset reset | None                                 |

***

## Command Aliases

All voice commands can be shortened using the `vc` alias:

<CardGroup cols={3}>
  <Card title="vc" icon="terminal">
    Main alias for voice
  </Card>

  <Card title="vc lock" icon="lock">
    Lock your channel
  </Card>

  <Card title="vc unlock" icon="lock-open">
    Unlock your channel
  </Card>

  <Card title="vc hide" icon="eye-slash">
    Hide your channel
  </Card>

  <Card title="vc unhide" icon="eye">
    Unhide your channel
  </Card>

  <Card title="vc claim" icon="crown">
    Claim ownership
  </Card>

  <Card title="vc info" icon="circle-info">
    View channel info
  </Card>

  <Card title="vc kick" icon="user-xmark">
    Kick a user
  </Card>

  <Card title="vc limit" icon="users">
    Set user limit
  </Card>
</CardGroup>

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="Not the owner error" icon="crown">
    **Problem:** "You Are Not The Owner Of This Voice Channel"

    **Solutions:**

    * Use `voice claim` if the original owner left
    * Ask the current owner to use `voice transfer @you`
    * Make sure you're in the correct voice channel
  </Accordion>

  <Accordion title="Must be in voice channel" icon="microphone-slash">
    **Problem:** "You Must Be In A Voice Channel To Use This"

    **Solution:**

    * Join a voice channel first
    * Make sure it's a VoiceMaster-created channel
    * Verify you're not deafened or disconnected
  </Accordion>

  <Accordion title="JTC not set up" icon="wrench">
    **Problem:** "JTC Is Not Set Up In This Server"

    **Solution:**

    * Ask an administrator to run `~voicemaster setup`
    * Verify the bot has proper permissions
    * Check that you're in the correct server
  </Accordion>

  <Accordion title="Original owner still present" icon="user">
    **Problem:** "The Original Owner Is Still In The Voice Channel"

    **Solution:**

    * Wait for the owner to leave
    * Ask them to transfer ownership with `voice transfer @you`
    * Cannot claim while owner is present
  </Accordion>

  <Accordion title="Channel not managed by JTC" icon="question">
    **Problem:** "This Voice Channel Is Not Managed By JTC"

    **Solution:**

    * Only works on channels created through join-to-create
    * Regular voice channels cannot be controlled
    * Create a new channel via the JTC channel
  </Accordion>

  <Accordion title="Preset not applying" icon="floppy-disk">
    **Problem:** Preset settings don't apply to new channels

    **Solution:**

    * Verify preset saved with `voice preset info`
    * Preset only applies to **new** channels you create
    * Leave and rejoin the JTC channel to create a fresh one
    * Check that bot has permission to modify channels
  </Accordion>

  <Accordion title="Invalid limit number" icon="users">
    **Problem:** "Provide A Valid Limit Between 0 And 99"

    **Solution:**

    * Use a number from 0 to 99
    * 0 means unlimited
    * No decimals or negative numbers
    * Example: `voice limit 10`
  </Accordion>

  <Accordion title="Failed to rename" icon="triangle-exclamation">
    **Problem:** Channel rename fails or is delayed

    **Solution:**

    * Discord has rate limits on name changes
    * Wait a few minutes between renames
    * Avoid special characters or very long names
    * Check bot has "Manage Channels" permission
  </Accordion>
</AccordionGroup>

***

## Usage Examples

<Tabs>
  <Tab title="Private Gaming Session">
    ```bash theme={null}
    # Set up a private gaming room
    ~voice lock
    ~voice rename Squad Ranked Games
    ~voice limit 5
    ~voice permit @Teammate1
    ~voice permit @Teammate2
    ```

    Creates a locked channel with 5-person limit, only allowing specific teammates.
  </Tab>

  <Tab title="Study Group">
    ```bash theme={null}
    # Create a focused study environment
    ~voice rename Math Study Group
    ~voice limit 8
    ~voice hide
    ```

    Hidden channel for distraction-free studying with limited capacity.
  </Tab>

  <Tab title="AFK Room">
    ```bash theme={null}
    # Set up an AFK channel
    ~voice rename AFK
    ~voice unlock
    ~voice limit 0
    ```

    Open channel with no user limit for idle members.
  </Tab>

  <Tab title="Using Presets">
    ```bash theme={null}
    # Save a gaming preset
    ~voice preset name="Gaming Room" bitrate=96000 limit=10 region=us-west

    # Save a study preset
    ~voice preset name="Study Session" bitrate=64000 limit=6 region=singapore

    # Check your preset
    ~voice preset info

    # Remove preset
    ~voice preset reset
    ```

    Configure presets that auto-apply when you create new channels.
  </Tab>
</Tabs>

***

## Related Features

<CardGroup cols={2}>
  <Card title="VoiceMaster Setup" icon="wrench" href="/voicemaster">
    Learn how to set up the VoiceMaster system in your server
  </Card>

  <Card title="Welcome" icon="gavel" href="/welcome">
    Explore moderation tools for managing voice channels server-wide
  </Card>
</CardGroup>
