melod1n 1f96e3553e * environment variable to enable/disable processing links in messages (for downloading videos)
* 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
2026-03-03 00:01:44 +03:00
2026-01-27 19:44:50 +03:00
2026-01-28 05:22:32 +02:00
2021-02-27 15:26:09 +03:00
2026-03-02 23:58:57 +03:00
2026-01-28 05:22:32 +02:00
2026-01-12 16:09:22 +03:00
2021-02-27 15:26:09 +03:00
2026-03-02 23:58:57 +03:00
2026-03-02 23:58:57 +03:00
2026-01-28 05:22:32 +02:00
2026-01-12 16:09:22 +03:00

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...
S
Description
Bot for Telegram with a lot of commands and AI (Ollama/Gemini/Mistral) written in TypeScript + NodeJS/Bun runtime + Drizzle ORM (SQLite DB)
Readme GPL-3.0 3.6 MiB
Languages
TypeScript 99.8%
Dockerfile 0.2%