Temp Voice System
1. Feature Brief
Section titled “1. Feature Brief”The Temp Voice plugin gives every member their own on-demand voice channel. Joining a single designated “Join to Create” channel instantly spawns a private voice channel for the member, moves them into it, and drops a full control panel directly into the channel’s text chat. The channel deletes itself automatically when it empties.
- Auto-creation - joining the creator channel spawns a personal voice channel in the configured category, named using a customisable template
- In-channel control panel - a persistent embed with 11 control buttons is posted inside the voice channel’s built-in text chat the moment the channel is created
- Lock & visibility - one-click toggles to block new connections or hide the channel entirely from the configured role or
@everyone - Rename & user limit - modal-based rename (up to 100 characters) and user limit (0–99; 0 = unlimited) accessible directly from the panel
- Bitrate & region - dropdown menus to switch audio quality (64 / 96 / 128 kbps) and choose from 15 voice server regions
- Kick user - owner can disconnect any non-owner member from the channel via a select menu showing only current occupants
- Ownership claim - any member already inside the channel can claim ownership when the original owner has left
- Auto-deletion - the channel is deleted 3 seconds after the last member leaves, with a re-check to cancel if someone rejoins in time
2. Sub-Systems
Section titled “2. Sub-Systems”The control panel embed is sent to the voice channel’s built-in text chat immediately after creation. The button collector has no expiry - buttons remain active for the lifetime of the channel.
Only the channel owner can use control buttons. The single exception is Claim Ownership, which any member inside the channel can click.
Row 1 - Status & Info
| Button | Behaviour |
|---|---|
| 🔓 Unlocked / 🔒 Locked | Toggles Connect permission for @everyone or the configured role. Label and style update live. |
| 👁️ Visible / 🙈 Hidden | Toggles ViewChannel permission for @everyone or the configured role. Label and style update live. |
| 🌐 Region | Opens a dropdown to pick from 15 regions or Automatic. Collector expires after 60 seconds. |
| ℹ️ Info | Shows an ephemeral embed with owner, member count, bitrate, creation time, lock, and visibility status. |
Row 2 - Customisation
| Button | Behaviour |
|---|---|
| ✏️ Rename | Opens a modal pre-filled with the current name. Accepts 1–100 characters. Modal expires after 2 minutes. |
| 👥 User Limit | Opens a modal pre-filled with the current limit. Accepts 0–99 (0 = unlimited). |
| 🔞 NSFW Toggle | Flips the channel’s NSFW flag. Label switches between 13+ and 18+. |
| 👑 Claim Ownership | Transfers ownership to the clicker if the original owner is no longer in the channel. |
Row 3 - Advanced
| Button | Behaviour |
|---|---|
| 🔊 Bitrate | Dropdown to select 64 / 96 / 128 kbps. 128 kbps requires Server Boost Level 2+. Collector expires after 60 seconds. |
| 🔑 Permissions | Multi-select dropdown to toggle Soundboards and Activities for all users. Up to both can be selected simultaneously. |
| 🔨 Kick User | Dropdown listing all non-owner, non-bot members currently in the channel. Disconnects the selected member immediately. |
Creation:
- Member joins the creator channel → bot creates a voice channel in the configured category using the name template
- Default bitrate is 64 kbps; default user limit uses the configured server default (0 = unlimited)
- Owner receives full permissions (View, Connect, Speak, Stream, VAD, Read History, Send Messages, Manage Channels); the configured role or
@everyonereceives View, Connect, Speak, Stream, VAD, and Read History - Member is moved into the new channel automatically
- Control panel is posted
Ownership claim:
- Any member who is currently inside the voice channel and is not the current owner can click Claim Ownership
- The claim is only accepted if the original owner is not present in the channel at the time
- Once claimed, the new owner controls all panel buttons
Allowed role:
- By default, lock/unlock and hide/show target
@everyone - If
/vc setrole role:<role>is configured, all permission overwrites target that role instead - useful for servers with a member verification role - The creator channel inherits no role restriction; the restriction only affects the permission overwrites applied to each spawned channel
- Omit the
roleoption in/vc setroleto reset back to@everyone
The region picker presents 15 fixed options plus Automatic, pre-selecting the channel’s current region:
Automatic, 🇺🇸 US West, 🇺🇸 US East, 🇺🇸 US Central, 🇺🇸 US South, 🇪🇺 Europe, 🇬🇧 London, 🇳🇱 Rotterdam, 🇸🇬 Singapore, 🇯🇵 Japan, 🇭🇰 Hong Kong, 🇦🇺 Sydney, 🇧🇷 Brazil, 🇮🇳 India, 🇷🇺 Russia, 🇿🇦 South Africa
Selecting Automatic lets Discord pick the optimal region dynamically.
3. Setup
Section titled “3. Setup”-
Run the setup command - use
/vc setup category:<category>to point the bot at an existing channel category. An optionaltemplateargument sets the name format for new channels; the placeholder{user}is replaced with the joining member’s username. The default is🎙️ {user}'s Channel.The bot automatically creates a ❇️ Join to Create voice channel inside the selected category.
-
Set an allowed role Optional - use
/vc setrole role:<role>to restrict which role’s permissions are toggled when a member locks or hides their channel. Leave theroleoption empty to reset to@everyone. -
Verify the config - run
/vc configto confirm the category, creator channel, name template, allowed role, and current active channel count. -
Start using it - members join the ❇️ Join to Create channel. They’ll be moved into their personal channel instantly and can use the control panel in the channel’s text chat.