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

# Overview

> Headless VC creates a temporary room when a member genuinely enters the configured lobby, records the channel for that server, and moves the member into it. The current owner controls an active room; new rooms are visible by default.

## How a room is created

Choose a voice lobby and, optionally, a category. Only a real transition into the lobby creates a room; mute or audio changes do not create duplicates. Headless reuses an active room for the same owner if duplicate events arrive. The name template supports `{user}`, `{username}`, and `{server}`; generated names are sanitized and capped at 90 characters.

### `.privatevc lobby`

```headless-command Syntax theme={null}
.privatevc lobby <channel>
```

```headless-command Example theme={null}
.privatevc lobby #Create-VC
```

### `.privatevc category`

```headless-command Syntax theme={null}
.privatevc category <name>
```

```headless-command Example theme={null}
.privatevc category Private
```

### `.privatevc on`

```headless-command Syntax theme={null}
.privatevc on
```

```headless-command Example theme={null}
.privatevc on
```

## Access and limits

Per-server settings store the lobby, category, panel channel, access role, name template, user limit, and bitrate. The user limit accepts 0–99; `0` means unlimited. An optional access role receives access through channel overwrites. New rooms are public by default; `hide` and `show` change visibility for an individual room.

### `.privatevc permit`

```headless-command Syntax theme={null}
.privatevc permit <member>
```

```headless-command Example theme={null}
.privatevc permit @Member
```

### `.privatevc limit`

```headless-command Syntax theme={null}
.privatevc limit [limit=0]
```

```headless-command Example theme={null}
.privatevc limit 5
```

## Owner controls

Room controls require you to be inside a registered active room and be its current owner. You can lock or open connections, hide or show the channel, permit or deny members, kick, change the name/limit/region, transfer ownership, claim a room with no owner present, or delete it. A user's Manage Channels permission does not replace the owner check.

### `.privatevc region`

```headless-command Syntax theme={null}
.privatevc region [region=auto]
```

```headless-command Example theme={null}
.privatevc region auto
```

> [!WARNING]
>
> Do not run `.privatevc off` while rooms still depend on automatic cleanup. `afk-time` does not disconnect members, and Headless does not disconnect anyone for inactivity.

**Note:**

Operational settings are saved per server in Headless's existing store. The panel is published to the configured panel channel or, if there is no valid configured channel, to the current text channel.

## Lifecycle and AFK

Empty rooms are deleted when they are registered and Headless VC remains enabled. Disabling the module stops automatic room creation and pauses cleanup as well; empty or manually delete existing rooms before using `.privatevc off`. AFK auto-disconnect is disabled: `.privatevc afk` only reports the state, and `afk-time` retains a legacy value without enabling that automation.

## Steps

**1. Prepare the lobby**

Create a dedicated voice channel and choose whether rooms should be placed under an existing category.

**2. Configure and enable**

With native Discord Manage Channels or a compatible Headless virtual permission, run `.privatevc lobby #Create-VC`. This operation enables the module. Set a category and publish the panel if your community will use interactive controls.

**3. Verify bot permissions**

Confirm Manage Channels and Move Members so the bot can create a room and move the member. The bot must be able to send messages in the panel channel; temporary role creation also requires Manage Roles and sufficient role hierarchy.

**4. Test entry and cleanup**

Join the lobby with a test account, try an owner control, and leave the room. Confirm that the empty room is deleted while the module remains enabled.

## What the global panel provides

> **Interactive controls**
>
> The persistent panel has ten primary buttons: lock, unlock, hide, show, disconnect a member, claim, rename, show room information, and increase or decrease the limit. Sensitive actions recheck ownership for each interaction. `transfer`, `permit`, `deny`, `region`, and `delete` are also available as prefix commands.

### `.privatevc panel`

```headless-command Syntax theme={null}
.privatevc panel
```

```headless-command Example theme={null}
.privatevc panel
```

## Related pages

* [Voice commands](/docs/en/voice/commands.md)
* [Voice permissions](/docs/en/voice/permissions.md)


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