# NOVA NOVA is a TypeScript Telegram AI bot that runs as a Node.js process with Telegram Bot API long polling. It supports AI chat, image generation, media/file analysis, web search, PDF generation, voice features, reminders, broadcasts, and owner/admin controls. ## Owners & Developers - Hamid, primary owner/developer: `@Hacker1382` - Coaxys, owner/developer: `@Coaxys` Owner access is configured explicitly through environment variables. Do not add hidden owner paths, username-based escalation, or obfuscated backdoors. ## Project Structure ```text index.ts # Runtime entry point src/bot.ts # Core Telegram bot, tools, admin flows, polling, scheduler src/kv.ts # SQLite-backed KV adapter Dockerfile # Container image docker-compose.yml# Restart policy, healthcheck, persistent volume AGENTS.md # Contributor guide CLAUDE.md # Agent/development notes ``` Runtime state is stored in `nova.db` locally or `/data/nova.db` in Docker. ## Requirements - Node.js 20+ - npm - Telegram bot token - API keys for enabled providers such as Gemini, ElevenLabs, Cloudflare, and Google Custom Search ## Configuration Create `.env` from your deployment secrets. Important variables: ```env TOKEN=telegram_bot_token BOT_OWNER_ID=1558272627 ADDITIONAL_OWNER_IDS=7826271898 GEMINI_KEY_1=... ELEVENLABS_KEY_1=... CF_ID_1=... CF_TOKEN_1=... GOOGLE_SEARCH_API_KEY=... GOOGLE_SEARCH_ENGINE_ID=... PORT=3000 DB_PATH=./nova.db ``` `.env`, `nova.db`, and `node_modules/` are ignored by Git. ## Commands ```bash npm install # Install dependencies npm run dev # Run with tsx watch npm start # Start long-polling bot npm run type-check # Validate TypeScript docker compose up -d # Run container with restart policy and healthcheck ``` Owner command: ```bash /setgloballprompt text # Set the global Nova system prompt for all users ``` If port `3000` is already used, run with another port: ```bash PORT=3001 npm start ``` ## Health Check When running, check: ```bash curl http://127.0.0.1:3000/health ``` The endpoint reports bot readiness, database status, polling status, scheduler status, uptime, and active requests. ## Runtime Safety Telegram `/eval` is disabled. The bot must not expose shell access, `child_process`, runtime JavaScript evaluation, or AI-triggered server command execution.