Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dashezup/github-webhook-to-telegram
Receive GitHub webhook events and send to Telegram chats with AIOHTTP through Telegram Bot API
https://github.com/dashezup/github-webhook-to-telegram
aiohttp bot github telegram telegram-bot telegram-bot-api webhook
Last synced: 18 days ago
JSON representation
Receive GitHub webhook events and send to Telegram chats with AIOHTTP through Telegram Bot API
- Host: GitHub
- URL: https://github.com/dashezup/github-webhook-to-telegram
- Owner: dashezup
- License: agpl-3.0
- Created: 2021-04-20T16:19:09.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-02-01T10:11:39.000Z (almost 3 years ago)
- Last Synced: 2024-11-29T07:37:07.172Z (about 1 month ago)
- Topics: aiohttp, bot, github, telegram, telegram-bot, telegram-bot-api, webhook
- Language: Python
- Homepage: https://t.me/ezupdev
- Size: 30.3 KB
- Stars: 43
- Watchers: 2
- Forks: 35
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
## GitHub Webhook to Telegram
Receive GitHub webhook events and send to Telegram chats
with [AIOHTTP](https://github.com/aio-libs/aiohttp)
through [Telegram Bot API](https://core.telegram.org/bots/api#sendmessage)What this project do is very simple, it does not use any Telegram Bot API
framework/library nor receive updates from Telegram, but calling `sendMessage`
method of Telegram Bot API directly by sending `GET` requests through AIOHTTP.
It should be able to be used along with any existing Telegram bot without
conflicts.1. Receive GitHub webhooks (`POST` request)
2. Verify the SHA256 signature
3. Format and send the text to a Telegram chat through "sendMessage" method of
Telegram Bot API (`GET` request)### Heroku
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/dashezup/github-webhook-to-telegram)
### Setup
You need a Telegram bot token, create a Telegram bot with
[BotFather](https://t.me/BotFather) if you don't have one yet.#### Configuration
1. Go to your GitHub project `Settings - Webhooks - Add webhook`, fill "Payload
URL", "Content Type" (must be `application/json`) and "Secret". You can also
do this after start running the project.
2. Copy `config_sample.json` to `config.json` to configure it. `chat_id` can be
user id or group/channel id/username, make sure the bot is `/start`ed or
member of the chat with permission to send messages
3. Configure reverse proxy for this app, corresponding configuration for Nginx
looks like this
```
location /github {
rewrite ^/github(.*) /$1 break;
proxy_pass http://127.0.0.1:12345;
}
```#### Run
```
virtualenv venv
venv/bin/pip install -U -r requirements.txt
venv/bin/python main.py
```### LICENSE
AGPL-3.0-or-later
```
github-webhook-to-telegram, receive GitHub webhooks and send to Telegram
Copyright (C) 2021 Dash EclipseThis program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .```