- Crea un bot su Telegram con BotFather
- Configura la variabile d'ambiente
BOT_TOKEN
il token che ti ha dato BotFather - [Opzionale]: Configura i comandi del bot con
/mybots -> scegli il tuo bot -> edit bot -> edit commands
:start - Avvia il bot e stampa il messaggio principale prenota - Prenota una lezione tra quelle disponibili prenotate - Ottieni il QR di una lezione tra quelle prenotate cancella - Cancella una lezione tra quelle prenotate annulla - Annulla la procedura corrente
- [Opzionale]:Configura la bot description con
/mybots -> scegli il tuo bot -> edit bot -> edit description
:/prenota prenota una lezione tra quelle disponibili. /prenotate ottieni il QR di una lezione tra quelle prenotate. /cancella cancella una lezione tra quelle prenotate. /annulla annulla la procedura corrente.
- [Opzionale]: per maggiore sicurezza puoi settare il bot in modo che i comandi siano usabili solo da te, per farlo e' sufficiente settare la variabile di ambiente
CHAT_ID
, puoi ottenerlo contattando IDBot.
Esempio di docker-compose.yml
version: "3.1"
services:
db:
image: postgres:alpine
restart: always
environment:
POSTGRES_USER: postgres
POSTGRES_DB: postobot
POSTGRES_PASSWORD: <POSTGRES_PASSWORD>
bot:
image: fabifont/postobot:latest
environment:
BOT_TOKEN: <BOT_TOKEN>
CHAT_ID: <CHAT_ID>
DATABASE_URL: postgresql+psycopg2://postgres:<POSTGRES_PASSWORD>@db/postobot
GECKODRIVER_PATH: /usr/bin/geckodriver
MATRICOLA: <MATRICOLA>
PASSWORD: <PASSWORD>
Puoi deployare e configurare postobot
su Heroku usando questo button:
La variabile d' ambiente GECKODRIVER_PATH
e' necessaria per utilizzare il buildpack heroku-integrated-firefox-geckodriver
La Github Action heroku.yml
aggiorna ad ogni commit il subtree heroku necessario per un funzionamento corretto di Heroku (app.json
,Procfile
e requirements.txt
devono necessariamente essere nella basedir).
La Github Action main.yml
builda l' immagine docker e la pusha in automatico su DockerHub.
Dal momento che il bot per funzionare ha bisogno di matricola e password in chiaro (devono essere inserite da Selenium) abbiamo deciso di non hostarne uno e dare la possibilita' di registrarsi per garantire maggiore privacy e sicurezza, deployare il bot dovrebbe essere un processo semplice, in caso di problemi apri un issue e proveremo ad aiutarti.
Non dovrebbe essere complesso adattare questo bot a qualsiasi ateneo che usi EasyAcademy, e' necessario tuttavia modificare gli URL e le funzioni per l' autenticazione (probabilmente SSO).