1f96e3553eaab41dda00ce203531432d2c3cba73
* bot will not automatically download video from youtube or load it from cache. It will fetch video info first, then suggest to download or get video from cache (with retry options) * some rewriting in sending/editing/replying to messages
Telegram Chat Bot
Bot for Telegram with a lot of commands and AI (Ollama/Gemini/Mistral) written in TypeScript + NodeJS/Bun runtime + Drizzle ORM (SQLite DB)
Quick Start
cp .env.example .env
# Edit .env: add BOT_TOKEN, CREATOR_ID and configure optional AI models (GEMINI_API_KEY, MISTRAL_API_KEY, OLLAMA_ADDRESS)
With Bun (Recommended):
bun install
bunx drizzle-kit generate && bunx drizzle-kit migrate
bun run build && bun start
With Node.js:
npm install
npx drizzle-kit generate && npx drizzle-kit migrate
npm run build && npm start
With Docker Compose:
docker compose up -d
With Docker:
docker build -f Dockerfile -t tg-bot .
docker run -d --env-file .env -v $(pwd)/data:/config/data tg-bot
With Docker (Bun):
docker build -f Dockerfile-bun -t tg-bot-bun .
docker run -d --env-file .env -v $(pwd)/data:/config/data tg-bot-bun
Requirements
- Node.js >= 18 OR Bun >= 1.0
- Docker (optional)
Features
- AI chat (Gemini, Mistral, Ollama)
- Custom answers and commands
- Admin management
- User blocking (mute/unmute)
- QR code generation
- System info
- And more...
Languages
TypeScript
99.8%
Dockerfile
0.2%