Mobilizon-Reshare-condividi.../README.md

64 lines
2.2 KiB
Markdown

The goal of mobilizon_bots is to provide a suite to reshare Mobilizon events on a broad selection of platforms. This
tool enables an organization to automate their social media strategy in regards
to events and their promotion.
# Usage
## Scheduling and temporal logic
The tool is designed to work in combination with a scheduler that executes it at
regular intervals. Mobilizon_bots allows fine-grained control over the logic to decide when
to publish an event, with the minimization of human effort as its first priority.
## Configuration
The configuration is implemented through Dynaconf. It allows a variety of ways to specify configuration keys.
Refer to their [documentation](https://www.dynaconf.com/) to discover how configuration files and environment variables can be specified.
We provide a sample configuration in the [settings.toml](https://github.com/Tech-Workers-Coalition-Italia/mobilizon-bots/blob/master/mobilizon_bots/settings.toml) file.
### Event selection
### Publishers
### Notifiers
# Contributing
We welcome contributions from anybody. Currently our process is not structured yet but feel free to open or take issues through Github in case you want to help us.
## Core Concepts
### Publisher
A Publisher is responsible for formatting and publishing an event on a given platform.
Currently the following publishers are supported:
* Telegram
### Notifier
Notifiers are similar to Publishers and share most of the implementation. Their purpose is to
notify the maintainers when something unexpected happens.
### Publication Strategy
A Publication Strategy is responsible for selecting the event to publish. Currently it's possible to publish only one
event per run, under the assumption that the user will implement a social media strategy that doesn't require
concurrent publishing of multiple events on the same platform. Through proper scheduling and configuration is still
possible to achieve such behavior if required.
## Develop
To run pre-commit hooks run `pre-commit install` after cloning the repository.
Make sure to have `pre-commit` installed in your active python environment. To install: `pip install pre-commit`. For more info: https://pre-commit.com/