A Discord bot that automatically creates temporary voice (and optional text) channels when users join a designated "Create Channel".
- Auto voice channels — joins a trigger channel → gets a personal voice channel
- Optional text channels — per-guild toggle to create paired text channels with proper permissions
- Ownership transfer — when the creator leaves, ownership passes to a remaining member
- Auto cleanup — empty channels are deleted automatically
- High bitrate — configurable per-guild high bitrate support
- Clone the repo
- Copy
config.json.example→config.jsonand fill in your bot token - Create a voice category matching
categoryNameand a voice channel matchingchannelNameinside it - Give the bot
Manage Channelspermission
npm install
node index.jsdocker build -t auto-voice-channel .
docker run -v /path/to/data:/app/data auto-voice-channelThe SQLite database is stored at /app/data/db.sqlite3 (bind-mount for persistence).
| Key | Description |
|---|---|
token |
Discord bot token |
categoryName |
Name of the voice channel category |
channelName |
Name of the trigger voice channel |
highBitrateGuilds |
Array of guild IDs that get 96kbps bitrate |
| Command | Permission | Description |
|---|---|---|
!text |
Manage Channels | Toggle text channel creation for the guild |
!check |
Manage Channels | Show current text channel creation setting |
index.js # Entry point, startup, shutdown
src/
logger.js # Structured JSON logging
constants.js # Permission flags, channel types, command names
db.js # SQLite database layer (knex)
commands.js # Message command handler
voiceHandler.js # Voice state update logic
| Variable | Default | Description |
|---|---|---|
LOG_LEVEL |
info |
Logging level: debug, info, warn, error |
MIT