GH → TG
Realtime bridge

Keep GitHub activity flowing into Telegram.

Run one service that receives GitHub webhooks, forwards them to Telegram, and gives you the tooling to manage bots, destinations, subscriptions, and delivery logs without SSHing into a box.

Preview

Sample notification

Readable HTML preview that mirrors what Telegram renders.

Push to main

Commits

  • ab13e91 Fix race condition when parsing payloads
  • d8f93aa Align FastAPI markdown renderer with Node port
  • fe9012b Add regression coverage for webhook summariser
Markdown-safeAuto splitTopics ready

What you get

Focused features that cover the full lifecycle of managing GitHub → Telegram webhooks.

Bridge

GitHub → Telegram bridge

Capture repository activity and ship it straight into Telegram chats with minimal wiring.

Delivery

Human-friendly payloads

Markdown-safe templates, auto commit splitting, and secret masking keep notifications readable.

Operations

Ops ready

Rotate tokens, drop pending Telegram updates, inspect webhooks, and audit event logs from one dashboard.

Express backend

Handles Telegram/GitHub webhooks, manages sessions, and persists bots, destinations, and delivery logs in SQLite.

View backend

Next.js dashboard

Client-side views for managing bots, destinations, subscriptions, and analytics with toast feedback.

View frontend

SQLite store

Single-file database ideal for self-hosting; secrets and delivery logs live locally for quick audits.

Quick start

Everything you need to self-host in minutes.

  1. 1Copy `.env.example` files to `.env` (backend) and `.env.local` (frontend), then fill secrets.
  2. 2Run `npm install && npm run dev` in both backend/ and frontend/.
  3. 3Add a Telegram bot token in the dashboard (optional: drop pending updates to clean queues).
  4. 4Register destinations (chat IDs or topics) and create subscriptions per repository.
  5. 5Paste the generated GitHub webhook URL + secret into repository settings and you're live.

Key endpoints

Bookmark these routes when wiring GitHub and Telegram.

  • GET/healthz

    Health check

  • POST/wh/{hook_id}

    GitHub webhook

  • POST/tg/{bot_id}/{token}

    Telegram webhook

  • GET/api/stats

    Stats API

  • GET/api/events

    Events API