A Telegram group bot built with TypeScript, Bun, Effect, and Telly.
SuperSeriousBot has grown with its groups for years. It combines AI, media, search, reminders, social tools, and group history in one bot.
- AI: native rich replies, semantic search, image and video generation, custom songs, summaries, and transcription
- Native Telegram UI: rich tables, lists, details, charts, dates, links, and command dashboards
- Group memory: semantic
/search, citations, member personas, and group lore - Media:
/set,/get,/dl, automatic reel downloads, memes, and quotes - Social:
/summon,/habit,/highlight, reactions, mentions, andsedcorrections - Utilities: reminders, scheduled AI tasks, football alerts, weather, books, games, and translation
- Operations: durable Telly inboxes and jobs, polling or webhooks, command quotas, and failure records
Run /help to see the commands enabled by the configured API keys.
Requirements:
- Bun 1.4
ffmpegyt-dlp
git clone https://github.com/obviyus/SuperSeriousBot
cd SuperSeriousBot
cp .env.example .env
bun install --frozen-lockfile
bun run devRequired environment values:
TELEGRAM_TOKEN: token from @BotFatherQUOTE_CHANNEL_ID: private channel used to archive quotesTURSO_DATABASE_URL: LibSQL or Turso database URLTURSO_AUTH_TOKEN: database token
Optional integrations:
OPENROUTER_API_KEY: AI, image, video, transcription, summaries, search, and cronOPENROUTER_BASE_URL: optional OpenRouter-compatible endpoint for local testingKIE_API_KEY: song generationCOBALT_URL: media downloadsNANO_GPT_API_KEY: URL and YouTube extractionGOODREADS_API_KEY,WOLFRAM_APP_ID,WEATHERAPI_API_KEY, andWAQI_API_KEY
Operations:
ADMINS: space-separated Telegram user IDsUPDATER:pollingorwebhookWEBHOOK_URL: public base URL in webhook modePORT: webhook server port, default8443LOGGING_CHANNEL_ID: optional Telegram failure logTELLY_STATE_DIRECTORY: local inbox and job database directory, default./dbTELEGRAM_API_ROOT: custom Bot API root for local Test Server harnesses
cp .env.example ssgbot.env
docker compose up --buildThe image installs ffmpeg and yt-dlp. The db volume stores Telly's durable inbox and scheduled jobs.
bun run checkThe test suite drives the real Telly handler against its hermetic Bot API fake. It also checks compatibility with the schema produced by all 33 Python migrations.
The local Test Server harness uses leased QA credentials from the Telly skill:
bun run test:e2e
TELEGRAM_E2E_GROUP=1 bun run test:e2e
TELEGRAM_E2E_STATIC_RICH=1 TELEGRAM_E2E_GROUP=1 bun run test:e2e
TELEGRAM_E2E_WEBHOOK=1 bun run test:e2eOperator commands:
bun run operator usage --days 30 --status failed
bun run operator search-index --chat-id -1001234567890
bun run operator search-memory --chat-id -1001234567890- Telly owns Telegram transport, updates, routing, persistence, and jobs.
- Vercel AI SDK owns text, structured output, streaming, embeddings, images, and video.
- Effect owns typed effects, services, interruption, concurrency, and shutdown.
- Bun owns packages, tests, development, and the production runtime.
- Turso stores bot and search data.
