Discord voice channel name placeholders
A placeholder is a short token you put inside a name template. VoiceChannels swaps it for a real value at the moment it builds the name, so every channel comes out personalised without you touching anything.
Only the token itself is replaced. Everything else in the template — spaces, apostrophes, words like Channel — is kept exactly as you typed it.
So the default template {user}'s Channel is {user} (which becomes Leonid) followed by the literal text 's Channel, giving Leonid's Channel.
Where placeholders work
Placeholders are not the same everywhere. Each place below understands its own set, and a token that is not understood is printed exactly as you typed it — that is usually the reason a channel ends up literally named {something}.
| Setting | Where you edit it | Understands |
|---|---|---|
| Dynamic channel name | /setup → Edit Channel's Name | All of the tokens below |
| Auto-scaling channel prefix | /setup → auto-scaling prefix | {index} only |
| Channel status | Channel panel → Status | {user}, {game}, {state} |
Dynamic channel names
These work in the name template of a master channel, set with /setup → Edit Channel's Name. The name is built when the channel is created and again when it is reset.
Example value is what that token alone turns into — not a finished channel name. Combine tokens with your own text to build the name you want, as in the examples at the end.
| Placeholder | Becomes | Example value |
|---|---|---|
{user} | The channel owner's display name — their server nickname if they have one, otherwise their username. | Leonid |
{state} | 🟢 while the channel is public, 🔴 once the owner makes it private. New channels start public. | 🟢 |
{game} | The game the owner is playing when the name is built. Empty when they are not playing anything. | Counter-Strike |
{index} | The channel's number, counting the channels that already exist under the same generator. | 3 |
{index-roman} | The same number written as a roman numeral. | III |
{index-alpha} | The same number written as letters — A, B, C, and AA once past Z. | C |
{user-username} | The owner's Discord username, ignoring any server nickname they have set. | inewlegend |
{role-highest} | The name of the owner's highest role. Empty when their only role is @everyone. | Moderator |
{role-hoist} | The name of the owner's highest role that is displayed separately in the member list. Empty when they have none. | Admin |
{guild-id} | The Discord id of the server. Mostly useful for keeping names unique across servers. | 1120213539064385597 |
Worth knowing
{game}needs the bot to be able to see what members are playing. If a member has their activity hidden, or is not playing anything, it simply resolves to nothing.{state}only tells public from private. A hidden channel still shows the private marker.- Discord limits how often a channel can be renamed, so the name is not rebuilt every time someone switches game. It is set when the channel is created and when it is reset.
- Characters that would trigger a mention or Discord formatting are stripped out of every token that carries a name —
{user},{game}and the role tokens. Letters from any alphabet are kept as they are. - The role tokens read the owner's roles at the moment the name is built. If Discord has not cached that member yet they resolve to nothing rather than blocking the channel.
Auto-scaling channel prefix
Auto-scaling channels are numbered, so their prefix understands the index family and nothing else. {user} or {game} would be printed literally here — there is no single owner for a scaled channel.
| Placeholder | Becomes |
|---|---|
{index} | The number of the scaled channel. |
If the prefix contains no index placeholder at all, the number is appended to the end instead, so Room becomes Room-1, Room-2 and so on.
Channel status
The status is the line Discord shows under a channel's name. The owner pins one from the channel panel, under Status, and it understands three placeholders — the three that can still change while people are sitting in the channel.
That is the difference worth holding on to. A name is built once, when the channel is created; a status is rewritten every time the channel changes — somebody joins or leaves, the limit moves, the channel goes private. So {game} in a status follows the room onto whatever it plays next, where the same token in a name keeps whatever was playing at the start.
| Placeholder | Becomes | Example value |
|---|---|---|
{user} | The channel owner's display name — their server nickname if they have one, otherwise their username. | Leonid |
{game} | What the room is playing right now, by however many members are playing it. Empty when nobody is playing anything. | Counter-Strike |
{state} | 🟢 while the channel is public, 🔴 once it is private. | 🟢 |
| Status | Shows as |
|---|---|
{user} playing {game} | Leonid playing Counter-Strike |
{state} squad night | 🟢 squad night |
{user}'s room · {game} | Leonid's room · Dota 2 |
Worth knowing
- The other tokens are not understood here and are printed exactly as typed.
{index}, the role tokens and{guild-id}cannot change while the channel is open, so they belong in its name, where they are written once. - Pin no status at all and the bot writes its own: what the room is playing, how full it is, and a marker when the channel is private or hidden. Clearing your status hands the line back to it.
{game}reads what members are playing, so it needs their activity to be visible. Nobody playing anything, or everybody hiding it, and it resolves to nothing.{state}tells public from private only. A hidden channel shows the private marker.- Your server's bad-word list is applied to the finished line, not just to what you typed. A word arriving through
{game}or{user}is covered with asterisks the same way it would be in a channel name.
Examples
| Template | Result |
|---|---|
{user}'s Channel | Leonid's Channel |
{state} {user} | 🟢 Leonid |
{user} — {game} | Leonid — Counter-Strike |
Room {index} | Room 3 |
Room {index-roman} | Room III |
Squad {index-alpha} | Squad C |