Required
When you create your Discord bot, you must also enable the Message Content privileged intent (Bot → Privileged Gateway Intents) and grant the bot Connect and Speak permissions so it can join voice channels.
Optional integrations
Subsonic
A Subsonic-compatible personal music server lets JoBot search your private library, play random tracks, and manage share links. Without Subsonic credentials, JoBot can still play music from YouTube. You need three values from your Subsonic server:- Base URL — the root URL of your server, e.g.
https://music.example.com - Username — the Subsonic account JoBot will authenticate as
- Password — the password for that account
ElevenLabs
ElevenLabs provides the text-to-speech voice JoBot uses when speaking aloud in voice channels. Without an ElevenLabs API key, TTS is unavailable. You need two values from your ElevenLabs account:- API key — found in your ElevenLabs profile settings
- Voice ID — the ID of the voice you want JoBot to use (visible in the ElevenLabs voice library URL)
Environment variable reference
All configuration is passed to JoBot through environment variables. In Docker Compose, these map to theenvironment: block in docker-compose.yml and are typically stored in a .env file.
Per-guild settings (
GuildDefaults__*) set the starting values for new guilds. Server admins can override them at any time using the /settings set slash commands without restarting the bot.