Telegram @the_unibot
A bot created for Alma Mater Studiorum - Università di Bologna. It supports the 94% of UniBO's courses (231/244).
Here it is a quick guide to explain the main commands.
To set the course it is sufficient to run:
/set_course name
It will open a list of the courses with similar names with respect to the one searched. One selected the course, a confirmation message will be sent by the bot, with the link to the course's web page.
To set the year it is sufficient to:
/set_year number
The bot will send a confirmation message.
One can set the detail level through:
/set_detail number
The detail's levels are:
- timetable + course name
- timetable + course name + place + link to the online lesson (if exists)
- timetable + course name + CFU + professor + place + online-only lecture + link to the online lesson (if exists)
N.B.: default detail level is 2.
To get the timetable of a generic day:
/timetable param
where param
can be anything, i.e. today, tomorrow, aftertomorrow, monday, saturday, ... or a date in the format day month year, separated by any special character (year can be omitted).
N.B.: if no day is passed to the command, it will send the timetable of the current day. Also, using if one word from today, tomorrow is given, the bot will also return weather info.
It is possible to filter the courses by calling:
/hide course_code filter_word
or
/show course_code filter_word
One can pass as many parameters as he wants.
N.B.: if no argument is given to the command, it will reset filters.
One can also set an autosend time
/set_autosend hh:mm
N.B.: if the time is before 18:00 boot will send the current day timetable, else, it will send the timetable for the next day.
To enable/disable the autosend:
/autosend
The bot will send a confirmation message.
To reset all user data to default values one can simply call
/reset
The bot will send a confirmation message.
One can also do a quick search on Wikipedia
/wiki something
To avoid the presence of the word registration in the group chats, the bot will automatically censor it.
N.B.: the bot will do this if and only if it's group admin.
Di seguito una guida in cui ne sono spiegati i principali comandi.
Per impostare il corso è sufficiente utilizzare il comando:
/set_course nome_corso
Verrà visualizzata una lista dei corsi trovati inerenti al nome inserito. Una volta premuto il bottone corrispondente al corso desiderato verrà inviato un messaggio di conferma contenente il link alla pagina web del corso.
Analogamente per impostare l'anno basta utilizzare il comando:
/set_year numero
Verrà inviato un messaggio di conferma.
Per ricevere gli orari è possibile settare in primis il livello di dettaglio che si vuole avere utilizzando il comando:
/set_detail numero
I livelli di dettaglio implementati sono:
- orario + nome corso
- orario + nome corso + luogo + link all'aula virtuale
- orario + nome corso + CFU + docente + luogo + teledidattica obbligatoria + link all'aula virtuale
N.B.: il livello di dettaglio di default è il 2.
Una volta impostato il livello di dettaglio è possibile richiedere l'orario di un giorno con il comando:
/timetable param
dove param
può assumere qualsiasi valore, ad esempio oggi, domani, dopodomani, lunedì, sabato, ... o specificando la data nel formato giorno mese anno separata da qualsiasi carattere speciale (l'anno può essere omesso).
N.B.: se l'orario viene richiesto nelle giornate oggi o domani verranno fornite anche informazioni meteo sulla città sede del corso.
N.B.: se il comando viene lanciato senza fornire alcun parametro verrà interpretato come oggi
Utilizzando i comandi:
/hide codice_corso parole_filtro
oppure
/show codice_corso parole_filtro
è possibile filtrare i corsi inviati, fornendo sia codici corso che parole filtro, anche una combinazione di entrambi.
N.B.: se il comando viene chiamato senza argomenti, i filtri verranno resettati.
Per impostare l'orario in cui si vuole ricevere l'orario quotidianamente:
/set_autosend oo:mm
specificando l'orario in qualunque formato, separando ore e minuti con un carattere speciale.
N.B.: se l'orario inserito è precedente alle 18:00 il bot manderà l'orario del giorno stesso, in caso contrario verrà mandato l'orario del giorno dopo.
Per abilitare/disabilitare l'autosend è sufficiente lanciare il comando, funzionante come un bottone booleano:
/autosend
Verrà inviato un messaggio di conferma.
Per reimpostare i dati dell'utente ai valori di default è poissibile chiamare il comando
/reset
Verrà inviato un messaggio di conferma.
Il bot possiede anche un comando per effettuare ricerche rapide su Wikipedia:
/wiki qualcosa
Ad ogni ricerca eseguita verrà fornita una lista di risultati attinenti tra i quali scegliere. Nel caso di disambiguazioni è probabile sia necessario selezionare un risultato per più di una volta.
Data l'emergenza Covid e la migrazione online delle lezioni si potrebbe pensare che qualcuno le possa registrare illegalmente: il bot possiede (preventivamente) una censura automatica per le parole derivate da registrazione, particolarmente consigliata nei canali telegram.
N.B.: le utility necessitano dei privilegi di amministratore per funzionare.
This project includes a simple library used to manage MySQL databases directly from Python. It's still in its first version, and it will be updated in the future.
The simple-sql docs are available (work in progress): documentazione