a736f786c29b492e19769080eede54be7a4874e2
- add /openai (/chatgpt) chat command using OpenAI Responses API (streaming + incremental edits) - add /openAIListModels, /openAIGetModel, /openAISetModel - introduce base Command class and migrate non-chat commands to it - wire OpenAI client + env vars (OPENAI_API_KEY, OPENAI_MODEL) - bump deps (@google/genai, systeminformation, @types/node) and add openai
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%