Back to skills
SKILL.md
Telegram Github Bridge
ASecurityBridge GitHub webhooks to Telegram notifications
- 2 stars
- 0 votes
- 0 copies
- 3 views
- Added September 10, 2026
Works with
Security analysis
100/100npx -y skills add LoopyLuci/Skills --skill telegram-github-bridge --agent claude-codeAre you the author of Telegram Github Bridge?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/loopyluci-telegram-github-bridge)---
name: telegram-github-bridge
description: "Bridge GitHub webhooks to Telegram notifications"
---
# Telegram GitHub Bridge
Receive GitHub notifications (PRs, issues, CI, releases) directly in Telegram via webhooks.
## Option 1: GitHub Webhook β Telegram Bot
### 1. Create a webhook receiver
```python
# webhook_server.py
from flask import Flask, request
import requests
import os
app = Flask(__name__)
BOT_TOKEN = os.environ["TELEGRAM_BOT_TOKEN"]
CHAT_ID = os.environ["TELEGRAM_CHAT_ID"]
def send_telegram(text):
url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
requests.post(url, json={"chat_id": CHAT_ID, "text": text})
@app.route("/github-webhook", methods=["POST"])
def github_webhook():
event = request.headers.get("X-GitHub-Event")
payload = request.json
if event == "pull_request":
action = payload["action"]
title = payload["pull_request"]["title"]
url = payload["pull_request"]["html_url"]
send_telegram(f"π PR {action}: {title}\n{url}")
elif event == "issues":
action = payload["action"]
title = payload["issue"]["title"]
send_telegram(f"π Issue {action}: {title}")
elif event == "push":
commits = len(payload["commits"])
repo = payload["repository"]["full_name"]
send_telegram(f"π¦ {commits} commit(s) pushed to {repo}")
return "OK"
app.run(port=5000)
```
### 2. Expose with ngrok
```bash
ngrok http 5000
# β https://abc123.ngrok.io
```
### 3. Configure GitHub
Go to your repo β Settings β Webhooks β Add webhook:
- Payload URL: `https://abc123.ngrok.io/github-webhook`
- Content type: `application/json`
- Select events (PR, Issues, Push, etc.)
## Option 2: GitHub CLI + Cron
```bash
hermes cron create \
--schedule "0 9 * * *" \
--prompt "Check my GitHub notifications and summarize anything I need to know" \
--deliver telegram
```
## Notification Format
| Event | Format |
|-------|--------|
| PR opened | π **New PR:** [title](url) by @user |
| PR merged | β
**Merged:** [title](url) |
| Issue opened | π **New Issue:** [title](url) |
| CI passing | β
CI passed on [branch] |
| CI failing | β CI failed on [branch] |
| Release | π **Release:** [tag](url) |
Attribution
Comments
Loading commentsβ¦