A sophisticated Discord bot powered by Claude (Anthropic) with multiple personas, voice capabilities, spaced-repetition learning, auto-translation, and more.
With apologies to P. G. Wodehouse.
- Jeeves — A cultured butler modeled on P.G. Wodehouse's iconic character, dispensing advice with impeccable Queen's English and references to philosophy, literature, and Catholic theology
- jan pona — A toki pona-only speaker for language immersion
- Jargonatus — A specialized persona with custom behavior
- Custom Prompts — Define your own system prompt for fully customizable personalities
- Speech-to-Text — Transcribe audio messages using OpenAI Whisper
- Voice Commands — Execute bot commands via voice (say "command clear" to run
!clear) - Text-to-Speech — Optional voice responses via ElevenLabs (Jonathan Cecil voice for authentic Jeeves delivery)
- Spaced Repetition — Bot periodically quizzes you on configurable subjects (Latin, toki pona, music theory, etc.)
- Smart Scheduling — Questions distributed throughout the day based on number of subjects
- Progress Tracking — Persistent tracking of question history per subject
- Per-Channel Translation — Automatically translate all messages in specified channels to a target language
- Per-User Translation — Configure translations for specific users (supports multiple target languages per user)
- Skip Token — Start messages with "notr" to bypass translation
- Wikipedia Contemplation — Bot periodically fetches random Wikipedia articles and shares thoughts
- URL Analysis — Point the bot at any webpage for commentary
- Selenium-Powered — Full JavaScript rendering for modern web pages
- AI-driven contextual emoji reactions on messages in monitored channels
- Natural time parsing (
5m,2h,1d) - Persistent across bot restarts
- Personalized delivery messages matching the bot's current persona
- Per-Channel Configuration — Set response frequency per channel: respond to all messages, mentions only, or ignore entirely
- DM Support — Full functionality in direct messages with separate configuration
- Message Batching — Configurable delay to wait for multiple messages before responding
- Multi-Model Support — Switch between Claude models on the fly with validation
- Conversation Persistence — Message history and configuration saved to disk
- Webhook Personas — Each mode uses distinct bot name and avatar
- Graceful Shutdown — State persistence and farewell messages on SIGINT
- Setup a Discord bot and get the token
- https://discord.com/developers/applications
- Create an application
- Create a bot
- Copy the token
- add token to .env file
- Install dependencies
npm install
- Run the bot
npm startornpm run dev(with logging)
- Approve the bot in the server