Skip to main content

A Telegram bot to interact with Gancio instances

Project description

gancio_telegram_bot

gancio_telegram_bot is a bot which allows to interact with a specified Gancio instance. Gancio is a shared agenda for local communities, a project which wants to provide a self-hosted solution to host and organize events.

screen-gif

Installation

To install the latest version of the bot just download (or clone) the current project, open a terminal and run the following commands:

pip install -r requirements.txt
pip install .

Alternatively, use pip:

pip install gancio_telegram_bot

It's also possible to create a docker image and run the application in a container; see Docker usage.

Dependencies

At the moment I have tested the bot only on python == 3.10.4
The bot requires the dependencies specified in requirements.txt and I haven't still tested other versions.

Usage

Configuration file (.env)

The bot relies on environment variables for its configuration; some parameters are strictly required (e.g. AUTH_TOKEN, INSTANCE_URL), while others just allow to personalize the bot appearance.

Parameter Function
AUTH_TOKEN Telegram bot authentication token
INSTANCE_URL Url of the gancio instance from which fetch the events
SHOW_EVENT_URL Set to "True" if each event must be accompanied by its url on the Gancio instance (default is False)
MENU_ELEMENTS Number of events to show in a single message (default is 3)
CACHE_NAME Path to the database used for caching (default disable the cache mechanism)
HTTP_CACHE_EXPIRATION_SECONDS How many seconds the cache lasts (default is 10 minutes)

Command line interface

python3 -m gancio_telegram_bot

Docker

docker compose up -d

Visualisation

The package comes up with some functions to allow the parsing of the logfile and the visualisation of statistics related to the usage of the bot.

Todolist

  • Better define which versions of python and dependency packages are compatible.
  • Create some tests.
  • Allow to define more fine-grained queries for the events (e.g. display just the events in a specific date).
  • Make more visualisation plots.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gancio_telegram_bot-0.1.0.tar.gz (25.0 kB view hashes)

Uploaded Source

Built Distribution

gancio_telegram_bot-0.1.0-py3-none-any.whl (21.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page