How tomslideruz/rimuru-tempest-ai-telegram-bot works
Rimuru Tempest is a persistent-personality Telegram AI bot. Users send private messages or address the bot in groups; the bot filters and routes messages, builds a persona- and memory-aware prompt, calls Groq, updates user and relationship state, stores the reply, and responds through Telegram. Separate capabilities include commands, language detection, relationship progression, idle follow-ups, and health checks. The sampled source confirms the message-processing and storage flow; some subsystem wiring is documented or evident from module roles but was not sampled, so uncertain links are omitted.
Main entry points: messageHandler.js Message handler · chatService.js Chat orchestration · fileDatabase.js JSON database · telegramClient.js Telegram client
Components 29
Telegram interface
- Application entry
src/index.js - Bot runtime
src/bot/bot.js - Telegram client
src/bot/telegramClient.js - Message handler
src/bot/handlers/messageHandler.js - Commands
src/bot/handlers/commandHandler.js - Block check
src/bot/middleware/blockCheck.js - Media filter
src/bot/middleware/fileFilter.js - Group mention
src/bot/handlers/groupMentionHandler.js - Mention detection
src/services/mentionService.js - Language detection
src/bot/middleware/languageDetector.js - Health endpoints
src/index.js
Conversation processing
- Chat orchestration
src/services/chatService.js - Prompt builder
src/ai/promptBuilder.js - Personality prompts
src/prompts/systemPrompt.txt - Memory analysis
src/ai/memoryAnalyzer.js - AI client and key rotation
src/ai/aiClient.js - Response parser
src/ai/responseParser.js
Memory and relationships
- User service
src/services/userService.js - User profiles
src/memory/userMemory.js - Relationship engine
src/memory/relationshipEngine.js - Conversation memory
src/memory/chatMemory.js - Idle follow-ups
src/memory/idleMessageScheduler.js
Local persistence
- JSON database
src/storage/fileDatabase.js - JSON reader
src/storage/jsonReader.js - Atomic JSON writer
src/storage/jsonWriter.js
External integrations
- Telegram API
- Groq API
Other components
- Telegram user
- Hosting platform
Connections 32
- Telegram user → Telegram API: sends messages
- Telegram API → Telegram client: delivers updates
- Application entry → Bot runtime: starts
- Bot runtime → Telegram client: creates client
- Telegram client → Message handler: routes messages
- Message handler → Block check: checks status
- Message handler → Media filter: filters media
- Message handler → Commands: handles commands
- Message handler → Group mention: checks group address
- Group mention → Mention detection: tests and cleans
- Message handler → Language detection: detects script
- Message handler → Chat orchestration: processes text
- Chat orchestration → User service: loads and updates user
- Chat orchestration → Conversation memory: reads and records
- Chat orchestration → Idle follow-ups: records activity
- Chat orchestration → Prompt builder: builds prompt
- Prompt builder → Personality prompts: uses persona rules
- Prompt builder → Memory analysis: uses memory analysis
- Chat orchestration → AI client and key rotation: requests completion
- AI client and key rotation → Groq API: calls completion API
- Chat orchestration → Response parser: parses completion
- Chat orchestration → Message handler: returns reply
- Message handler → Telegram client: sends reply
- User service → User profiles: reads and updates profile
- User service → Relationship engine: reads and updates relation
- Relationship engine → JSON database: persists relation
- User profiles → JSON database: persists profile
- Conversation memory → JSON database: persists history
- JSON database → JSON reader: reads files
- JSON database → Atomic JSON writer: writes atomically
- Idle follow-ups → Telegram client: sends follow-ups
- Hosting platform → Health endpoints: checks health