Il Bot è interamente scritto in Python (Python3) e la principale libreria utilizzata per interfacciarsi con Telegram Bot API è python-telegram-bot.
Per collegarsi al db è utilizzato l'orm SqlAlchemy docs.
Deve essere presente un db postgres sulla macchina locale. La connection string (che specifica url, utente, password e db) va salvata nella variabile d'ambiente DATABASE_URL
. Per osservare le query sql generate è possible attivare la modalità echo di SQLAlchemy settando la variabile d'ambiente DATABASE_LOGGING
a 'True'.
Per il corretto funzionamento è necessario richiedere un Token tramite BotFather e impostarlo come variabile d'ambiente tramite il comando export
, ad esempio:
export TOKEN='3506992133:AGEf-GZo4uE-BhXaQ6J8T1TtlPBEpOEl2yI'
Usare poetry è opzionale. Alternativamente si possono installare le dependency con
pip install -r requirements.txt
Per installare le dependencies del progetto è necessario installare sul sistema il tool poetry, e dopo aver clonato il progetto eseguire poetry install
per installare le dependencies.
Per far partire il bot (dopo aver settato le env. var. necessarie) si può utilizzare alternativamente
poetry shell
# --- exporting environment variables
python bot.py
oppure
# --- export environment variables
poetry run python bot.py