Skip to main content
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:
ModeBehavior
mentionBot only responds when directly @mentioned (default)
vibeBot responds to all messages in the channel
offBot 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 keyDefaultDescription
historyLength20Maximum number of messages retained per channel
historyTTLDays30Days 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 keyDefaultDescription
enabledfalseTurn thread mode on or off
autoArchiveMinutes60Minutes of inactivity before a thread auto-archives
reuseWindowMinutes30Reuse 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 keyDefaultDescription
enabledtrueEnable or disable the memory system
maxContextMemories5Maximum number of stored memories injected per request
autoExtracttrueAutomatically 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": {}
}

Build docs developers (and LLMs) love