Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/AmiraliNotFound/dummy-gemini-bot/llms.txt

Use this file to discover all available pages before exploring further.

The fastest path to a running Dummy Gemini Bot is Docker. A single docker-compose up command handles the entire build pipeline — compiling the React admin frontend, installing Python dependencies, pulling in ffmpeg and the Deno runtime, and starting the bot in the background. No manual environment setup required.
Prerequisites — make sure you have these before starting:
1

Clone the repository

Download the source code and move into the project directory:
git clone https://github.com/AmiraliNotFound/dummy-gemini-bot.git && cd dummy-gemini-bot
2

Create your .env file

Copy the example environment file and open it for editing:
cp .env.example .env
The .env.example template contains all required variables:
# Telegram Bot Token (Get it from @BotFather on Telegram)
TELEGRAM_TOKEN=your_telegram_bot_token_here

# Gemini API Key (Get it from Google AI Studio)
GEMINI_API_KEY=your_gemini_api_key_here

# SQLite Database Filename (Optional: default is chat_history.db)
DB_FILE=chat_history.db

# Comma-separated list of Telegram usernames allowed to access /admin commands
ALLOWED_ADMINS=AmiraliNotFound,AnotherAdmin
Replace your_telegram_bot_token_here and your_gemini_api_key_here with your actual credentials, and update ALLOWED_ADMINS with your own Telegram username(s).
3

Start with Docker

Build and launch the bot in detached mode:
docker-compose up -d --build
Docker performs a two-stage build defined in the Dockerfile:
  • Stage 1 (Node 20 Alpine): Installs npm dependencies and runs npm run build to compile the React admin frontend into static assets.
  • Stage 2 (Python 3.11-slim): Installs ffmpeg, copies the Deno binary from the official denoland/deno:bin image, installs all Python dependencies from requirements.txt, and copies the compiled frontend from Stage 1 — then starts the bot with python main.py.
The ./data directory is mounted as a Docker volume, so your database and configuration persist across container restarts.
4

Verify the bot is running

Stream the container logs to confirm everything started correctly:
docker-compose logs -f bot
You should see messages confirming the database was initialized, commands were registered with Telegram, and polling has started. Press Ctrl+C to stop following the logs without stopping the bot.
5

Test in Telegram

Open Telegram and find the bot you created with @BotFather. Send these two commands to confirm it’s alive:
/start
/help
/start triggers a cheeky greeting, and /help returns a dynamically generated, RTL-safe Persian guide listing all available commands.
Your bot’s SQLite database and any runtime configuration changes are automatically persisted in the ./data folder on your host machine (mapped to /app/data inside the container). This means your chat history, admin settings, and custom persona presets survive container rebuilds and restarts without any extra backup steps.

What’s next

Full Deployment Options

Docker Compose deep-dive, systemd service setup, HTTPS with Cloudflare Tunnel, and production hardening tips.

Environment Variables

Complete reference for all configuration keys — models, TTS engines, context limits, personas, daily summaries, and more.

User Command Reference

Every user and admin command explained with usage examples and permission notes.

Admin Dashboard

Explore the React-based Telegram Mini App for real-time stats, moderation, broadcasts, and live settings editing.

Build docs developers (and LLMs) love