The Unibot
Telegram @the_unibot
A bot created for Alma Mater Studiorum - Università di Bologna. It supports the 94% of UniBO's courses (231/244).
Table of contents
English
Here it is a quick guide to explain the main commands.
Set course and year
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.
Timetables
Detail level
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.
Get the timetable of a generic day
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.
Filter courses
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.
Autosend
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.
Reset
To reset all user data to default values one can simply call
/reset
The bot will send a confirmation message.
Search on Wikipedia
One can also do a quick search on Wikipedia
/wiki something
Utility
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.
Italiano
Di seguito una guida in cui ne sono spiegati i principali comandi.
Impostare corso e anno
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.
Orari
Livello di dettaglio
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.
Ottenere l'orario di un giorno
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
Filtrare i corsi
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.
Autosend
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.
Reset
Per reimpostare i dati dell'utente ai valori di default è poissibile chiamare il comando
/reset
Verrà inviato un messaggio di conferma.
Ricerca su Wikipedia
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.
Utility
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.
Simple_SQL
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