Skip to content

bendico765/gancio_telegram_bot

Repository files navigation

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.

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.

About

A Telegram bot to interact with Gancio instances

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published