Docs / Core Services / Voice Channels
Built in Service id voice_jtc 15 commands 13 settings

Voice Channels

A member joins the lobby and gets a private voice room of their own, named for them, with a control panel to run it. When the last person leaves, the room is deleted. You can run several lobbies with different sizes and rules side by side.

Turn it onDashboard, Services, Voice Channels, switch to Enabled
First stepRun setup
PlanoEvery feature included for every server

Set it up

The dashboard's health check expects: Lobby channel. It shows a warning while one of these is missing or points at something deleted. The steps below say what each one does.

Eight steps take a server from nothing to working rooms. Every step names the dashboard label or the bot reply you should see.

  1. Check the bot's permissions. The service needs Manage Channels and Manage Roles: it creates and deletes voice channels and writes their permission entries (the owner grant, permit, reject, lock and hide). The full list the platform checks for this service is View Channel, Connect, Manage Channels, Manage Roles, Move Members, Mute Members, Deafen Members and Priority Speaker. The owner permissions the bot hands out are trimmed to the ones it holds itself, so a bot missing Move Members cannot give a room owner Move Members.

  2. Turn the service on. On the Services page, flip the ON/OFF switch on the Join-to-Create Voice Channels card (its tooltip reads "Enable"), then click Open.

  3. Run Auto-Setup, or set the two channels by hand. Until a lobby is saved, the service page sends you to its Setup tab. Run Auto-Setup reuses a category named Voice Channels or creates one, creates a voice channel named Click to Join inside it, and saves the settings with Delete when empty on. You land back on the service page with "Setup complete! Join the lobby channel to create your own voice channel." If a step fails you get "Setup failed: ... Make sure the bot has Manage Channels permission and try again." To do it by hand instead, open Settings, fill Lobby Channel ID and Category ID with an existing voice channel and category, and click Save Settings; the form refuses to save without a lobby ("Pick a lobby channel first, or run the setup wizard.").

  4. Pick who can see and join rooms. In Settings under Channel access choose Inherit from category (the default: a new room takes the category's permissions) or Custom role allowlist (@everyone is denied View Channel and Connect on every room and only the roles you tick under Allowed roles get in; Ctrl+click to pick several). Leave Creator owns their channel on so the member who opens a room gets Discord's own permissions on it (Manage Channels, Move, Mute, Deafen Members, Priority Speaker) and Discord's channel menu works for them; the /voice commands work for the owner either way. Click Save Settings.

  5. Decide the room controls and defaults. Still in Settings: Control panel for room owners (on by default) sends each new owner a DM with Lock, Hide, Limit, Rename, Permit, Reject, Kick, Transfer, Claim, Undo permit and Undo reject buttons; Also post the panel in the room's chat adds a copy everyone in the room can see; Pass the room on when the owner leaves (on by default) hands a room to the first person still inside when its owner walks out; New rooms start locked and New rooms start hidden set the starting state. Channel Name Template (default 🎧 {display_name}; also {username}, {count}, {activity}), Default User Limit (blank or 0 means no limit, up to 99), Bitrate (bits per second, blank uses Discord's default) and Fallback category (where rooms go when the room category holds 50 channels) are optional. Save Settings again.

  6. Optional: add more lobbies. The Lobbies card lists the primary lobby and lets you add others: pick an Existing voice channel or type a new channel name, give it a Label, choose where its rooms go, and set its own Name template, User limit, Bitrate, Control panel, Start locked, Start hidden and Recreate if deleted. Blank fields use the settings above. Click Add lobby; the page confirms "Lobby saved".

  7. Test it: join the lobby. The bot creates a room named from the template (for example 🎧 YourName), moves you into it, and DMs you the control panel. If your DMs are closed, the room's chat says "{name}, your DMs are closed so the room controls could not be sent to you. Use /voice info here to open them." Then try the owner commands from inside the room: /voice lock ("🔒 Room locked. Nobody new can join."), /voice limit number:5 ("Limit set to 5."), /voice permit target:@friend ("✅ @friend can always join this room."), /voice rename name:... ("Renamed to ...."), and /voice info to see the card and buttons. Rejoining the lobby while you already own a room moves you back into it instead of making a second one.

  8. Confirm rooms delete when empty. Leave the room while nobody else is in it. With Delete when empty on, the bot deletes it right away (a second check runs about 1.5 seconds later if the first one still saw someone). A background sweep also removes empty rooms roughly every ten minutes and when the bot starts. On the service page, Live Channels shows the rooms that exist right now ("No live channels" when none) with a Delete button for each, and Recent History lists finished rooms with their duration and peak size. If a room shows an "owner grant refused" badge, or the owner saw "Discord refused the owner permissions on this room ... Ask an admin to check the bot's role.", go back to step 1. When the room category fills up (50 channels), managers get a notice and rooms go to the Fallback category, so set one if the server is busy.

2 optional features with their own switch
  • Room category: voice channel category
  • Allowed roles: voice access roles (when permission mode is custom roles is on)

Como funciona

  1. Run setup. The wizard creates a Voice Channels category and a Click to Join lobby, or reuses the ones you have.
  2. Someone joins the lobby. The bot creates a room from your name template, moves them in and sends them the control panel by DM.
  3. They run the room. Lock, hide, set a limit, rename, permit or reject people, undo a permit or a reject, kick, or hand the room to someone else, from the panel or with /voice.
  4. It cleans up. When the last person leaves, the room is deleted. If the owner leaves first, the room passes to the next person.

Permissions the bot needs

Generated

The invite link grants these. If one is missing the service page in the dashboard shows a re-grant banner, and the affected commands say what they cannot do instead of failing silently.

Manage ChannelsPriority SpeakerView ChannelConnectMute MembersDeafen MembersMove MembersManage Roles

What is included

GeneratedSee pricing

Every Voice Channels feature is included for every server, on the shared bot and on custom bots. A subscription adds a custom bot identity and marketplace access, not features here.

RecursoIncluded
View ChannelsSim
Edit SettingsSim
Auto-Create LobbySim
Import ChannelsSim
Manage Channels (lock, transfer, delete)Sim

Comandos

GeneratedEvery command in detail
comandosO que isso fazWho by default
/voice lockLock your room so nobody new can join.Everyone
/voice unlockUnlock your room.Everyone
/voice hideHide your room from everyone you have not permitted.Everyone
/voice showMake your room visible again.Everyone
/voice limitSet how many people can be in your room.Everyone
/voice renameRename your room.Everyone
/voice permitLet a member or role join your room even when it is locked or hidden.Everyone
/voice rejectKeep a member or role out of your room.Everyone
/voice unpermitForget a permit: lock and hide apply to them again.Everyone
/voice unrejectForget a reject: they may join your room again.Everyone
/voice kickRemove someone from your room.Everyone
/voice transferHand your room to someone in it.Everyone
/voice claimTake over the room you are in when its owner has left.Everyone
/voice infoWho owns this room and how it is set up.Everyone
/voice prefsRemember how your rooms should start: name, limit, locked, hidden.Everyone

Everything it does

Lobbies and room creation

One lobby is enough for most servers. Gaming servers tend to want a few.

Several lobbies, each with its own rules. Run a Duo lobby capped at two next to a Squad lobby capped at four. Each lobby has its own label, category, name template, user limit, bitrate, panel switch and start state. Anything left blank falls back to the server defaults. A new lobby can be an existing voice channel or one the bot creates for you.
Names from a template. Use {display_name}, {username}, {count} and {activity}, which names the room after the game the member is playing and falls back to their display name when the bot cannot see their activity. The default is 🎧 {display_name}. Names are capped at 90 characters.
One room per member. Rejoining the lobby while your room is still open moves you back into it instead of creating a second one.
Personal defaults. Any member can save a preferred name and limit, and whether their rooms start locked or hidden, with /voice prefs. Their next rooms use them. /voice prefs with clear forgets everything, including the remembered permit and reject lists.
Rooms can start locked or hidden. A server or lobby setting, so a private-by-default community does not rely on members remembering to lock. A member's own saved preference wins over the lobby default.
The lobby is never a room. The wizard creates the lobby without a user limit, so a member left standing in it after a failed create cannot block the next joiner, and the bot never deletes a lobby, even one that was once imported as a room by mistake.
A full category has a fallback. Discord allows 50 channels in a category. When the room category is full, new rooms go to the fallback category you choose, then to the lobby's own category, then outside any category, and managers get one notice a day about it.

Owner controls

Every control exists twice: as a button on the panel the bot sends the owner, and as a /voice command. Both run the same code and both are logged.

Lock and unlock. Stops new joins. Lock denies connect for everyone and for any role the room lets in, except roles you have permitted, and unlock puts back exactly the entries it changed. The owner grant and the bot's own access are never touched.
Hide and show. Removes the room from the channel list for anyone not permitted, the same careful way.
Limit. Set how many people fit, from 0 for no limit up to 99.
Rename. Up to 90 characters, from a pop-up or /voice rename. Discord allows two renames per room every ten minutes, so a third is refused with the time left instead of hanging.
Permit. Let a member or role in even while the room is locked or hidden. The bot remembers your choices and applies them to your next rooms, up to 25 entries. When the list is full the permit still applies to this room but is not kept.
Reject. Keep a member or role out, and disconnect them if they are already inside. Also remembered.
Undo a permit or a reject. /voice unpermit and /voice unreject, or the Undo permit and Undo reject buttons, forget one entry and take its effect off the room.
Kick. Remove one person from the room. Nobody can kick the owner.
Transfer. Hand the room to another member who is inside it. They get the owner permissions and a fresh panel, the old owner's grant is removed and the old panel is retired.
Claim. If the owner has left, anyone inside can take the room over with /voice claim or the Claim button.
Info. /voice info shows the panel privately, for members whose DMs are closed.
Staff and ranks are respected. A room owner cannot kick or reject server staff, meaning anyone with Manage Channels or Administrator, or a member or role ranked above their own. A server manager can. Permit and reject also refuse everyone, the bot and roles that belong to an integration.

Ownership and access

Who owns a room, what they can do with it, and who can see it.

The creator owns the room. They get view, connect, manage channel, move, mute, deafen and priority speaker on it. On by default.
Optional permission editing. A server setting adds Manage Permissions to the owner grant so owners can edit the room's permissions in Discord. The bot writes its own access on every room and puts it back the next time someone enters or leaves if an owner removed it.
If Discord refuses the owner grant. The room still works. The panel and /voice keep answering to the owner, the room's chat says so once, and the panel and the dashboard show a heads-up so an admin can check the bot's role. Rejoining the lobby retries the grant.
Owner leaves, room carries on. By default the first remaining member becomes the owner. Turn that off and the room waits for someone to claim it.
Two permission models. Inherit from category, where new rooms copy the category's permissions, or a custom role allowlist, where only the roles you choose can see and join.
Staff can step in. Anyone with Manage Channels can use every owner control on any room.

Cleanup and recovery

Rooms are temporary. The bookkeeping around them is not.

Deleted when empty. The room goes the moment the last person leaves, judged by who is actually connected rather than a cached member list, with a 1.5 second re-check when Discord's events lag. You can turn this off.
Restart-proof. Ownership, lock and hidden state, names and panel locations are stored, so a restart changes nothing. On startup the bot drops records for rooms Discord no longer has and deletes rooms that emptied while it was away, and it repeats that check every 10 minutes.
Rebuilds a deleted lobby. The Re-create Lobby + Category button rebuilds them on the spot, and the auto-create option recreates a deleted lobby or category within 20 seconds. An extra lobby with Recreate if deleted on gets a new channel named after its label.
Adopts existing channels. Import Existing Channels lists the untracked voice channels in the room category, pre-ticks the ones whose names fit a room template, marks the ones that look permanent, and tracks only what you tick. Lobbies are never listed, and a tracked channel is deleted the next time it is empty.
A room deleted by hand is forgotten. When someone deletes a room in Discord, the bot drops its record and retires its panel.

In the dashboard

Overview Stat cards for total rooms created, average duration, peak members and the last 24 hours, the live room list with owner, lobby, limit, bitrate, locked and hidden badges, a flag for a refused owner grant and one for a room Discord no longer has, and a recent history table.
Configuration Lobby and category, the fallback category for when the room category is full, their names, the name template, default user limit, bitrate from 8,000 bits per second up to your server's boost limit, delete when empty, the control panel and whether to also post it in the room, pass the room on when the owner leaves, owners can edit permissions, start locked, start hidden, creator owns their channel, and channel access: inherit from category or a custom role allowlist.
Lobbies Add, edit and remove extra lobbies, from an existing voice channel or a new one, each with a label, category, name template, user limit, bitrate, panel setting, start locked or hidden, and recreate if deleted.
Import A preview of the voice channels in the room category the bot does not track yet, with a reason next to each, before anything is tracked.
Channel edit Rename a room, change its limit or bitrate, lock or unlock it, transfer ownership by user ID, untrack it while keeping the channel, or delete it.
Setup wizard Creates or reuses the category and the Click to Join lobby and saves sensible defaults. Safe to run again.
Who can do what Viewers see the overview. Managers change settings, lobbies and channels. Every /voice command and every panel button can be limited to roles or channels, or given a cooldown, from the command access page.

Configurações

GeneratedAll 13 settings
Lobby channel The voice channel members join to get their own room. Required.
Room category The category new rooms are created in. Rooms inherit its permissions unless custom roles are used.
Lobby name Name for the lobby when the bot creates it for you: the background auto-create, the Re-create Lobby + Category button, and a lobby set to Recreate if deleted that has no label. Default Click to Join. The Auto-Setup wizard always names its lobby Click to Join regardless of this value.
Category name Name for the room category when the bot creates it for you (background auto-create or the Re-create Lobby + Category button). Default YourBot Voice. The Auto-Setup wizard instead reuses or creates a category named Voice Channels and saves that name here.
Room name template How new rooms are named. Placeholders: {display_name} (the creator's server nickname), {username}, {count} (the room's number among the live rooms from that lobby) and {activity} (the game or stream the creator is in, or their display name when none is visible). Default 🎧 {display_name}. Names are cut to 90 characters. A lobby can set its own template, and a member's remembered name from /voice prefs replaces the template for their rooms.
Default member limit How many people can be in a new room. 0 means no limit. Owners can change it with /voice limit.

Runs on its own

Instant creation. The room is created and tracked, permissions applied, the member moved and the panel sent the moment they join the lobby.
Automatic hand-over. When the owner leaves a room with people still in it, the first remaining member becomes the owner.
Reconciliation. A few seconds after the bot connects, and every 10 minutes after that, it compares its records with Discord and cleans up the difference.
Auto-create every 20 seconds. With auto-create on, a missing lobby or category is put back, and extra lobbies marked recreate if deleted get a new channel.
One flow per member. A second join event for a member whose room is still being created is ignored, so Discord's duplicate events cannot make two rooms, and a quick leave and rejoin is never blocked.
Left the lobby too soon. If the member is gone before the bot can move them, the empty room is torn down straight away.

Limites

WhatValorNotas
User limit per room0 to 990 means no limit.
Room name90 characters
Renames2 per 10 min per roomDiscord's limit. A third is refused with the wait.
Remembered permit and reject entries25Replayed onto each new room the owner creates.
Lobbies per serverno fixed cap
Channels per category50Discord's cap. Rooms then use the fallback category.
Bitrate8 kbps to the boost limit96, 128, 256 or 384 kbps by server boost tier.
Delete after emptyat once, re-check 1.5 sThe re-check covers a lagging member list.
Auto-create checkevery 20 sOnly when auto-create is on.
Empty-room sweepevery 10 minAnd once at startup.

What it watches

Generated

The Discord events Voice Channels reacts to while it is enabled. It does not read history from before it was turned on.

Channel deletionsVoice joins, leaves and moves

Safety

The bot only grants what it holds. Every permission it writes is trimmed to the bot's own permissions, so a bot invited with less than Manage Channels and Manage Roles degrades instead of failing the whole room.
The bot keeps its own way in. Every room gets the bot's own permission entry to see, join and manage it, and it is put back whenever a voice event finds it missing.
Careful with everyone. Lock, unlock, hide and show read an entry, change the one bit and write it back. They never replace the room's permission list, and the owner grant, permitted members and the bot's own entry are never touched.
The owner is protected. Nobody can kick or reject the room's owner, and a claim only works from inside the room once the owner has actually left.
Owners cannot outrank staff. A room owner cannot kick or reject server staff or anyone ranked above them. Only a server manager can.
One bot at a time. Before acting, the bot checks it is the instance responsible for your server. If that check fails, it does nothing rather than risk duplicate rooms.
Rooms always tear down. Cleanup of existing rooms never depends on the service being enabled or paid for.
Import cannot orphan a room. Importing skips rooms already tracked and re-checks each ticked channel against Discord, so a repeat click never clears an owner and a stale form cannot adopt a lobby.

What it does not do

  • No text channel paired with each room. The panel goes to the owner's DMs and can also be posted in the voice channel's own chat.
  • No idle or AFK kick.
  • No opening hours for a lobby.
  • No stage channels. Rooms are regular voice channels.
  • No right-click menu commands and no autocomplete.
  • No rooms-per-member setting. A member who already has a room is moved back into it.
  • The panel's member and role pickers do not open from a DM. Permit, reject, kick, transfer and the undo buttons pressed in a DM point you to the matching /voice command in the server.

Perguntas

Where does the control panel appear?

In the owner's DMs by default. A setting also posts it in the room's own chat, and /voice info shows it privately to anyone whose DMs are closed. If your DMs are closed, the room's chat tells you that.

What happens when the owner leaves?

The room passes to the first remaining member. If you turn that off, the room waits until someone inside runs /voice claim.

Can staff manage someone else's room?

Yes. Anyone with Manage Channels can use every owner control on any tracked room, and managers can edit, lock, transfer or delete rooms from the dashboard.

Do rooms survive a bot restart?

Yes. Ownership, lock and hidden state, names and panel locations are stored, and the bot reconciles with Discord when it starts.

Can I have different room sizes?

Yes. Add a lobby per size, each with its own user limit, name template and category.

What happens when the room category is full?

Discord stops at 50 channels per category. New rooms then go to the fallback category you picked, or the lobby's own category, or outside any category, and managers get a notice once a day while it lasts.

What permissions does the bot need?

Manage Channels and Manage Roles. With less, it creates what it can, trims what it grants to what it holds, and tells the owner in the room's chat if Discord refused their permissions.

YourBot docs Reference tables are generated from the code that is running. Ask in Discord Suggest a correction