Files
clinera-site/telegram-bot
Azreen Jamal a86865ee25 fix: raw fetch polling loop - bypasses Grammy polling, handles 409 gracefully
- Replaced Grammy bot.start() with manual fetch-based getUpdates loop
- Grammy used only for bot.handleUpdate() (middleware/handlers)
- 409 conflicts handled with 10s backoff + continue (no crash)
- Network errors handled with 3s retry
- Root cause of persistent 409: zombie bun process (PID 72407) from 3:23 AM
  was holding Telegram long-poll lock all day
2026-03-06 21:41:51 +08:00
..

CR Management Telegram Bot

AI-powered server management bot via Telegram (@cr_management_smart_bot).

Features

  • Two-way chat — talk to Claude, it understands your infra
  • Command runner — execute SSH commands on your server
  • /status — quick server health check
  • /ssh <cmd> — run a command directly
  • /clear — reset conversation history

Run locally

cd telegram-bot
source ../.env
bun run index.ts

Deploy to server

# Copy bot to server
rsync -avz telegram-bot/ root@159.195.60.33:/opt/telegram-bot/
scp .env root@159.195.60.33:/opt/telegram-bot/.env

# On server: install bun, then
cd /opt/telegram-bot && bun install && bun run index.ts

Security

  • Set TELEGRAM_ALLOWED_USERS in .env to restrict access (comma-separated Telegram user IDs)
  • Empty = open to anyone (not recommended for production)