Skip to main content

keel-telegram-bot Build Status Code Climate PyPI version

keel-telegram-bot is a telegram bot for Keel.

Features

  • Receive notifications (via Webhook)
  • List approvals
  • Approve pending approvals
  • Reject pending approvals
  • Delete archived approvals
  • Permission handling based on telegram usernames
  • Filter visible approvals on a per-chat basis

How to use

Manual installation

Install

Install keel-telegram-bot using pip:

pip3 install keel-telegram-bot

Configuration

keel-telegram-bot uses container-app-conf to provide configuration via a YAML file as well as ENV variables. Have a look at the documentation about it.

See keel-telegram-bot_example.yaml for an example in this repo.

Run

Start the bot by using:

keel-telegram-bot

Docker

To run keel-telegram-bot using docker you can use the markusressel/keel-telegram-bot image from DockerHub:

sudo docker run -t \
    markusressel/keel-telegram-bot:latest

Configure the image using either environment variables, or mount the configuration file from your host system to /app/keel-telegram-bot.yaml.

Setup

This bot uses the REST api provided by Keel to interact with it and relies on the Webhook functionality to receive and forward notifications to telegram chats. On one hand keel-telegram-bot acts like the web interface, on the other hand it acts like a proxy, both combined into a single package.

To get the commands working simply provide all the necessary details of the configuration file.

To get notifications working you will have to provide the address of keel-telegram-bot to Keel using the WEBHOOK_ENDPOINT env variable. The simplest way to achieve this is by running both Keel and keel-telegram-bot on the same host and specifying http://localhost:5000/.

Contributing

GitHub is for social coding: if you want to write code, I encourage contributions through pull requests from forks of this repository. Create GitHub tickets for bugs and new features and comment on the ones that you are interested in.

License

keel-telegram-bot by Markus Ressel
Copyright (C) 2020  Markus Ressel

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU 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 General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Metadata

Release files for keel-telegram-bot 1.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for keel-telegram-bot 1.3.1
File Size Uploaded
keel-telegram-bot-1.3.1.tar.gz 65.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for keel-telegram-bot 1.3.1
File Interpreter ABI Platform
keel_telegram_bot-1.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 99.5 kB

Release files / keel-telegram-bot-1.3.1.tar.gz

Download URL keel-telegram-bot-1.3.1.tar.gz
Size 65.2 kB
Tags Source
SHA-256 checksum
How to use checksums
746603b945fbf3ae23742b7984a4363561ed3bce32958fd0ce12516642f2979e
BLAKE2b-256 checksum
How to use checksums
1e06f132d8f96d3fe01caa435a6023e42585111951e181e73e50b2f7946d3513
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.1

Release files / keel_telegram_bot-1.3.1-py3-none-any.whl

Download URL keel_telegram_bot-1.3.1-py3-none-any.whl
Size 34.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
138a11562874dd5a37f7a836cf73e2a1d7da6846ad80cce6d1409a3e3cd17ea4
BLAKE2b-256 checksum
How to use checksums
0b19fc3b895fa973a077a271e32cbb1d7d9aa78cdfde035e413c7e961d24d5eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.1

Release history Release notifications | RSS feed

This release

1.3.1 This release

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page