Skip to main content
Members join a “join to create” channel and get their own voice channel, which they fully control — rename it, lock it, set a limit, kick people out. When the last person leaves, it deletes itself.

Setting up

Requires Manage Channels. Creates the category, the join-to-create channel, and an interface panel with buttons for the common actions. To customise the interface panel, pass a script:
Tear it all down with:
Requires Administrator.

What members can do

Once someone owns a channel, they control it — through the interface buttons, or with commands:
claim only works when the current owner has left. If they’re still in the channel, !voicemaster transfer request asks them to hand it over instead. Group aliases: voice, vm, vc.

Admin settings

The second one moves locked channels into a separate category, so the public list stays readable. Requires Manage Channels.
Supports variables. Remove it with !voicemaster default name remove.
Sets the voice channel status line new channels start with.
Granted on joining any VoiceMaster channel, removed on leaving. Handy for a voice-only text channel. Remove with !voicemaster role remove.
Toggles whether the interface panel mentions members alongside it. Aliases: notifier, pings, mentions.

Statistics

Aliases: stats / lb, top. Anyone can run these. For broader activity data — messages, reactions and voice time together — see Server insight.

Common problems

mira needs Manage Channels and Move Members, and the category needs to have room — Discord caps a category at 50 channels. Re-run !voicemaster setup if the join-to-create channel was deleted.
They delete when the last member leaves. A channel that stays empty usually means someone is still connected but invisible to you — check the member list, or just delete it manually.
They have to be the owner. Ownership goes to whoever created the channel, and transfers only via transfer or claim. Someone who joined an existing channel controls nothing.
Locking prevents joining; it doesn’t hide. !voicemaster hide does that. Or set a private category so locked channels move somewhere less prominent.

Command reference