Bot Setup
- Get your Telegram user ID using
/myidcommand - Add your ID to
ALLOWED_USER_IDSin.env - Start the bot:
./channels/telegram/start.sh
Commands
/start
Shows welcome message and your user information. Usage/help
Displays detailed help and usage examples. Usage/new
Starts a new conversation by clearing the current context. Usage- Switching to a completely different task
- Claudio has incorrect context
- Starting a fresh debugging session
- After completing a task
/status
Shows bot status, configuration, and Claude CLI availability. UsageClaude CLI
- ✅ Disponible: CLI is installed and working
- ❌ No disponible: CLI not found or not working
Transcripción de voz
- ✅ Configurado: OpenAI API key is set
- ⚠️ OpenAI instalado pero falta API key: Library installed but no key
- ❌ OpenAI no instalado: OpenAI library not installed
Sesión activa
- Sí: You have an active conversation session
- No: No active session (next message starts fresh)
/myid
Shows your Telegram user information and authorization status. Usage- Initial bot setup (get your ID for
.env) - Troubleshooting access issues
- Adding new authorized users
- Verifying authorization status
Sending Messages
Just type any message to interact with Claudio. No command prefix needed. Examples- Processing:
⏳ Procesando... - Streaming Output: Real-time output from Claude CLI
- Completion:
✅ Comando ejecutado exitosamenteor error message
Voice Messages
Send voice messages to Claudio - they’re automatically transcribed and processed. Requirements- OpenAI API key configured in
.env openaiPython package installed
- Send voice message
- Bot responds:
🎤 Transcribiendo audio... - Transcription shown:
📝 Transcripción: [your text] - Message processed automatically
Session Management
How Sessions Work
- Each user has their own isolated session
- Sessions persist across messages (conversation continuity)
- Use
/newto clear session and start fresh - Sessions are automatically created on first successful command
Session Indicators
In logs, you’ll see:Rate Limiting
To prevent abuse, the bot implements rate limiting. Default Limits- 10 requests per 60 seconds per user
Timeouts
Commands have a maximum execution time to prevent hanging. Default Timeout- 1800 seconds (30 minutes)
Input Length Limits
Messages have a maximum length to prevent DoS attacks. Default Limit- 10,000 characters
Security
User Authorization
Environment Variable- If
ALLOWED_USER_IDSis empty: Bot will NOT start (security enforcement) - Unauthorized users receive “Acceso denegado” message
- Use
/myidto get user IDs
Process Isolation
- Each bot instance uses a lock file to prevent multiple instances
- Lock file:
/tmp/telegram_claude_bot.lock - Automatic cleanup on exit
Permission Handling
Error Messages
CLI Not Found
CLAUDE_CLI_PATH in .env