VoiceMaster
Join-to-create voice channels members own and configure themselves: setup, the panel, and where a lapsed subscription quietly stops applying.
VoiceMaster turns one "join to create" channel into as many temporary voice channels as people need. Whoever joins it gets a fresh channel made for them and becomes its owner, free to lock it, rename it, and decide who else can get in: no staff involvement after the initial setup.
Set it up
Syntax
,voicemaster setup
,voicemaster setup (Manage Channels)
builds a category, a Join To Create channel, and a locked #panel text channel with the control
panel posted in it.
Setup is safe to run again
It only rebuilds what's actually missing: delete the panel channel by hand and re-running setup restores just that, without touching a join channel or category that's still there. If the panel message itself still exists, setup edits it in place rather than posting a duplicate above it.
Re-post, move, or turn the panel off
Syntax
,voicemaster panel [#channel | here | on | off]
Example
,voicemaster panel #panel
,voicemaster panel is not a second setup
flow: it does three narrower things setup can't. With no argument (or here) it deletes the current
panel message and reposts a fresh one, which is the actual fix for a panel buried under a hundred
other messages: an edit alone can't move it. Named at a server that never had a panel channel, it
creates one. And ,voicemaster panel off stops setup from creating or refreshing a panel at all:
it never deletes the channel, because an off switch that destroys a channel's history isn't an
off switch.
Run your own channel
Once you own a temp channel, these all act on it, no argument needed beyond the target when there is one:
Syntax
,voicemaster lock
Syntax
,voicemaster unlock
Syntax
,voicemaster ghost
hide) and
Syntax
,voicemaster unghost
Syntax
,voicemaster allow <user>
Example
,voicemaster allow @cami
Syntax
,voicemaster remove <user>
Example
,voicemaster remove @cami
kick, ban) removes them. ,voicemaster addrole <role> and ,voicemaster removerole <role> do the same thing for a whole role at once.
Syntax
,voicemaster limit <number>
Example
,voicemaster limit 5
Syntax
,voicemaster rename <name>
Example
,voicemaster rename Late Night
Syntax
,voicemaster region <region|auto>
Example
,voicemaster region auto
rtc) sets its voice region.
Syntax
,voicemaster bitrate <number>
Example
,voicemaster bitrate 128
,voicemaster bitrate sets your channel's
bitrate in kbps directly. It doesn't state a range up front: try a number your server's boost tier
can't support and Discord refuses it outright rather than the bot rounding it down for you. (New
channels created from a default or a preset behave differently: see
below.)
Ownership after the owner leaves
When an owner leaves a channel that still has people in it, ownership doesn't just fall vacant: it's handed automatically to whoever has been in the channel the longest, and that member gets Connect and View Channel on the spot.
Syntax
,voicemaster claim
Syntax
,voicemaster transfer <user>
Example
,voicemaster transfer @cami
(aliases giveowner, setowner) hands ownership to someone else voluntarily, while you're still in
the channel.
Presets, trust, and block lists: Self Premium
Syntax
,voicemaster preset <save|apply|toggle|clear|view>
Example
,voicemaster preset save
,voicemaster preset captures your
current channel's name, bitrate, region, limit, lock, and ghost state, and reapplies all of it every
time you create a new temp channel from then on. preset toggle pauses it without deleting it;
preset view shows what's saved; preset clear deletes it.
Syntax
,voicemaster trust add <user>
Example
,voicemaster trust add @cami
,voicemaster trust (alias trusted)
and ,voicemaster block (alias
blocked) are standing lists: trusted members can always join your channels, blocked ones never
can, and each add takes the target off the opposite list automatically. Both take add, remove,
or list.
The premium check runs when a new channel is created, not when you save
Saving a preset, or adding someone to a trust or block list, never checks your tier: only using
it does. Every time VoiceMaster builds you a new temp channel, it checks at that moment whether
you currently hold Self Premium. If you saved a preset while subscribed and later lapsed, the
preset is still sitting there, ,voicemaster preset view still shows it: it simply stops being
applied to anything new, with no error and no notice. The trust and block lists lapse the exact
same way, together with the preset, because they're resolved in the same step.
Set defaults for new channels
Syntax
,voicemaster default <name|bitrate|region|color|joinrole> <value>
Example
,voicemaster default bitrate 128
,voicemaster default (Manage
Channels) sets what a brand-new temp channel looks like before any member's own preset is layered on
top: a name template, a bitrate, a region, the panel's accent colour, or a role granted while
someone is in a temp channel.
Bitrate here is 8-384 kbps, and it refuses rather than rounds
default bitrate is the one place the range is enforced up front: 8 to 384 kbps, and if that's
above what your server's current boost tier allows, it tells you the real ceiling and refuses
rather than silently capping it. A channel actually being created from a preset or this default
is the one path that's clamped automatically to fit the server's tier instead of failing outright.
The panel answers only the person who clicked
Every button on the VoiceMaster panel (lock, rename, limit, whatever you press) replies with a fresh ephemeral message just for you rather than editing the shared panel for the whole channel to see. Nobody else watching the panel sees your channel's settings change underneath them; they only see it if they check for themselves.
Common issues
,voicemaster panel off didn't remove the panel channel. It's not supposed to. Delete the
channel yourself if you actually want it gone: turning the panel off just stops the bot managing it.
A member's saved preset stopped working, with no error. Self Premium lapsed. The preset is still saved, but the tier check happens when a new channel is built, not when the preset was saved: nothing in the flow tells them it silently stopped applying.
Someone on a trust list can no longer get into a blocked-lock channel. Same cause as above: trust and block lists are gated the same way as presets and lapse together.
A bitrate you set on your own channel with ,voicemaster bitrate got refused. That command has no
stated ceiling of its own; it just asks Discord, and Discord refuses anything past what the server's
boost tier allows. Use ,voicemaster default bitrate if you want the server's actual ceiling spelled
out.
Nothing here fixed it. The shared common issues page works the same ground from the symptom end.