JoBot runs entirely inside Docker, so you don’t need to install .NET or any other runtime. You will need a machine that can run Docker, three API credentials, and about five minutes to get your first AI response in Discord.Documentation Index
Fetch the complete documentation index at: https://docs.jobot.jeppdev.com/llms.txt
Use this file to discover all available pages before exploring further.
Register a Discord application and bot
- Go to the Discord Developer Portal and click New Application.
- Give it a name (e.g. “JoBot”), then navigate to the Bot tab.
- Click Reset Token and copy the token — this is your
DISCORD_TOKEN. - Under Privileged Gateway Intents, enable Message Content Intent.
- Navigate to OAuth2 → URL Generator. Select the
botscope, then grant these bot permissions:- Read Messages / View Channels
- Send Messages
- Connect (voice)
- Speak (voice)
- Copy the generated URL, open it in your browser, and invite the bot to your server.
Create docker-compose.yml
Create a
docker-compose.yml file in a new directory. JoBot requires a Lavalink sidecar for audio routing — the snippet below sets both up:docker-compose.yml
Create .env with required variables
In the same directory as your
docker-compose.yml, create a .env file. Docker Compose reads this file automatically and substitutes the values into the service environment..env
DISCORD_TOKEN and ANTHROPIC_API_KEY are always required. LAVALINK_PASSPHRASE can be any string you choose — it only needs to match between the two containers. The Subsonic variables are optional; remove or leave them blank if you don’t have a Subsonic server.First interaction
Once the bot is online in your server, @mention it in any text channel to start a conversation:@JoBot what can you help me with?JoBot replies to direct @mentions and to replies on its own messages. It does not respond to messages that don’t mention it. If you’d like it to join a voice channel and play music, ask it directly:
@JoBot join my voice channel and play something from YouTube
The environment variables above cover the essentials. For a full reference of every configuration option — including ElevenLabs TTS, AI model tuning, and per-guild defaults — see Environment variables.