Prerequisites
Create a Discord application
Go to the Discord Developer Portal
and click New Application. Give it a name (e.g.
ollim-bot)
and click Create.Note the Application ID on the General Information page.Create a bot and copy the token
In the left sidebar, click Bot. Uncheck Public Bot (ollim-bot is single-user — no one else needs to install it). Click Reset Token (or Add Bot if prompted), then copy the token.Add it to your
.env file:.env
Enable the Message Content intent
On the same Bot page, scroll down to Privileged Gateway Intents. Enable Message Content Intent.ollim-bot requires this intent to read message content in DMs.
The bot initialization enables it explicitly:Without this intent enabled, the bot cannot see what you type.
Configure user installation
In the left sidebar, click Installation.
- Under Installation Contexts, check User Install (uncheck Guild Install — ollim-bot doesn’t use servers)
- Set the install link to Discord Provided Link
- Under Default Install Settings for the user install context, add the
applications.commandsscope
Install the app to your account
Copy the Install Link shown on the Installation page and open it in your browser. Select Add to my apps to install the bot to your Discord account.
Configure remaining environment variables
In addition to
If either
DISCORD_TOKEN, ollim-bot requires two more environment variables:.env
| Variable | Required | Description |
|---|---|---|
DISCORD_TOKEN | Yes | Bot token from step 2 |
OLLIM_USER_NAME | Yes | Your display name |
OLLIM_BOT_NAME | Yes | The bot’s name |
OLLIM_USER_NAME or OLLIM_BOT_NAME is missing, the bot exits immediately with an error.Start the bot
- Checks that no other instance is running (via PID file at
~/.ollim-bot/state/bot.pid) - Connects to Discord and syncs slash commands
- Sends you a startup DM
- Starts the scheduler and webhook server (if configured)
Slash commands
Once the bot is online, these slash commands are available:| Command | Description |
|---|---|
/clear | Reset conversation history |
/compact | Compress conversation context |
/cost | Show token usage for the session |
/model | Switch model (opus, sonnet, haiku) |
/thinking | Toggle extended thinking (on, off) |
/fork | Start a forked conversation |
/interrupt | Stop the current response |
/permissions | Set permission mode |
/ping-budget | View or configure ping budget |
