Talking to the bot
Send a direct message to the bot. Only the bot owner can interact — messages from other users are silently ignored. The bot adds an eyes reaction to your message to confirm it received it, then starts streaming a response. When the response is done, the eyes reaction is removed.Example interactions
Check in on your day:Interrupting
You can course-correct mid-response. Send a follow-up message and the bot drops what it was doing to address your latest input. You can also interrupt manually with the/interrupt slash command.
The one exception is during auto-compaction — interrupts are deferred until compaction finishes to avoid killing the post-compaction response.
Replying to messages
Replying to a previous message gives the bot additional context:- Reply to a fork message — the bot opens an interactive fork that resumes from that fork’s session, whether it was a background or interactive fork. If the fork session has expired (past the 7-day TTL), the bot signals this and falls back to quoting the message content instead. If you’re already in a fork, the reply is added as context to the current fork rather than opening a new one.
- Reply to a regular message — the bot includes the quoted text for context alongside your new message.
Images
Attach images directly to your Discord message — no special syntax needed. The bot supports JPEG, PNG, GIF, and WebP formats.File attachments
Non-image attachments — PDFs, text files, spreadsheets, etc. — are saved to~/.ollim-bot/downloads/ so the bot can read them with its built-in Read tool. The file paths are included in the message automatically, so you can attach and ask.
Filename collisions are handled with numeric suffixes (report-2.pdf, report-3.pdf).
The bot can also send files back to you using the send_file tool — any file on the local filesystem up to 25 MB.
Streaming responses
Responses stream to Discord progressively — you see text appear in real time as the bot generates it. Long responses that exceed Discord’s character limit automatically split across multiple messages. During pauses (such as when the bot is using a tool), typing indicators show it is still working. For technical details on how streaming works, see Streaming.Context and memory
Your conversation persists across bot restarts. Every message builds on the full conversation history, so the bot remembers what you’ve been talking about — even days later. When the conversation gets very long, the bot automatically compacts older context to stay within limits. When auto-compaction happens mid-response, the bot re-sends your original message against the freshly compacted context so the agent can respond without you needing to repeat yourself. A small annotation appears in the chat showing what occurred:/compact. This gives you a heads-up to compact proactively. See Context usage warning for the technical flow.
You can also manage this manually:
/compact— compact conversation context while keeping the session. Use the optionalinstructionsparameter to tell it what to preserve (e.g., “keep the routine config details”)./clear— reset the conversation entirely and start fresh. All prior context is dropped.
Next steps
Slash commands
All commands available during conversations — model switching, context management, forks, and more.
Forks
Branch conversations into isolated contexts for focused exploration.
How ollim-bot works
Deeper look at the agent loop, session model, and context flow.
Streaming & Discord
Technical details of how responses stream to Discord.
