Volvox.Bot connects your Discord server to Claude. Mention the bot in any channel and it responds in-line. Each channel keeps its own conversation history, and an optional memory layer lets the bot recall context about individual users across sessions.
How to start a conversation
Mention the bot in any channel where AI chat is active:
@Volvox.Bot what's the best way to handle pagination in a REST API?
The bot replies in the same channel. If thread mode is enabled, each conversation is automatically routed into a dedicated thread to keep the main channel clean.
The bot ignores messages in channels listed under blockedChannelIds and never responds to other bots.
Channel modes
Each channel can be set to one of three modes:
| Mode | Behavior |
|---|
mention | Bot only responds when directly @mentioned (default) |
vibe | Bot responds to all messages in the channel |
off | Bot is silent in the channel |
Configure modes per channel using channelModes, or set a server-wide default with defaultChannelMode.
"ai": {
"defaultChannelMode": "mention",
"channelModes": {
"1234567890": "vibe",
"0987654321": "off"
}
}
For threads, the mode is inherited from the parent channel unless the parent is explicitly blocked.
Conversation history
Volvox.Bot keeps a rolling window of messages per channel. This gives the bot context for follow-up questions without you needing to repeat yourself.
| Config key | Default | Description |
|---|
historyLength | 20 | Maximum number of messages retained per channel |
historyTTLDays | 30 | Days before old messages are purged from the database |
History is persisted to PostgreSQL and loaded back into memory on startup — conversations survive bot restarts. Old messages are cleaned up every 6 hours.
Thread mode
When thread mode is enabled, the bot automatically creates a thread for each AI conversation instead of replying in the main channel.
"ai": {
"threadMode": {
"enabled": false,
"autoArchiveMinutes": 60,
"reuseWindowMinutes": 30
}
}
| Config key | Default | Description |
|---|
enabled | false | Turn thread mode on or off |
autoArchiveMinutes | 60 | Minutes of inactivity before a thread auto-archives |
reuseWindowMinutes | 30 | Reuse an existing thread if the last message was within this window |
Channel blocklist
Use blockedChannelIds to prevent the bot from responding in specific channels. Blocking a channel also blocks all threads that belong to it.
"ai": {
"blockedChannelIds": ["1234567890", "1111111111"]
}
You can combine the blocklist with channelModes. The blocklist takes highest priority — a channel in blockedChannelIds is always silenced regardless of its mode setting.
Feedback system
When enabled, the bot adds thumbs-up (👍) and thumbs-down (👎) reactions to its own responses. This lets community members signal response quality for future tuning.
"ai": {
"feedback": {
"enabled": false
}
}
Memory system
Volvox.Bot uses mem0ai to build persistent, per-user memory. After each interaction the bot extracts salient facts about the user and stores them. On subsequent interactions those memories are retrieved and injected into the prompt, so the bot can reference earlier context without needing it in the active history window.
"memory": {
"enabled": true,
"maxContextMemories": 5,
"autoExtract": true
}
| Config key | Default | Description |
|---|
enabled | true | Enable or disable the memory system |
maxContextMemories | 5 | Maximum number of stored memories injected per request |
autoExtract | true | Automatically extract and store memories after each response |
Full config reference
"ai": {
"enabled": true,
"systemPrompt": "You are Volvox.Bot, the friendly AI assistant...",
"channels": [],
"historyLength": 20,
"historyTTLDays": 30,
"threadMode": {
"enabled": false,
"autoArchiveMinutes": 60,
"reuseWindowMinutes": 30
},
"blockedChannelIds": [],
"feedback": {
"enabled": false
},
"defaultChannelMode": "mention",
"channelModes": {}
}