csunibo / informabot

A Telegram bot to assist other undergraduate Computer Science students at the University of Bologna
https://t.me/UniboInformabot
GNU General Public License v3.0
8 stars 12 forks source link

Ri-considerare il layout dei comandi per altri corsi #95

Closed VaiTon closed 10 months ago

VaiTon commented 1 year ago

Al momento i comandi sono specifici per Informatica. Se vogliamo estendere l'utilità a vari corsi è necessario generalizzare i comandi, o almeno "conservare" delle informazioni sugli utenti per capire di che "primo anno" si parli.

lucat1 commented 1 year ago

Ah si, io generalizzerei. Mi pare più semplice. In alternativa, potremo mettere sempre tutti gli output per tutti i corsi di laurea ad ogni comando. Non è scalabile come cosa, ma andrebbe per ora.

foxyseta commented 1 year ago

Si' mi sembra molto importante come cosa. EDIT: vantaggi a cui porterebbe un solo bot rispetto a un bot per corso:

Io mi schiero a favore di usare la stessa tecnica che già usiamo ovunque quando ci sono più versioni degli stessi comandi (es. /orari1, /orari2, /orari3): se si scrive su un gruppo (es. /orari sul gruppo del secondo anno), la giusta versione viene dedotta dal gruppo (es. /orari2) ed è invocata quella. Se ci si trova in un gruppo non dell'anno o in chat privata e si usa una versione ambigua vengono il bot elenca tutte le versione e basta cliccarne una per disambiguare.

La soluzione di salvare informazioni sugli utenti è già adottata quando davvero necessaria (/cercogruppo), ma andrebbe reimplementata in modo molto diverso, cozza con l'idea di usare il meno possibile gli stati dell'applicazione, rende l'esperienza utente meno omogenea (perché con 1/2/3 facciamo in un modo e con ing inf e man in un altro?) e richiede che l'utente comprenda come cambiare il proprio corso di laurea impostato (un comando nuovo).

Una decisione da prendere sarebbero i suffissi per i corsi quando si vuole invocare proprio il comando con notazione esplicita. Es. /orari-ing-1 per ingegneria, /orari-inf-3 per informatica, /orari-man-2 per management, /orari-ingsci-2 per ing&sci informatiche? Grazie a dio le magistrali non hanno ancora mostrato interesse per questa faccenda e neanché quella laurea professionalizzante strana di imola&cesena.

Flecart commented 1 year ago

Avrebbe senso secondo me tenere i comandi separati come suggerisce foxy, (mi riferisco a

Es. /orari-ing-1 per ingegneria, /orari-inf-3 per informatica, /orari-man-2 per management, /orari-ingsci-2 per ing&sci

Aggiungerei la possibilità di configurare da telegram gli alias dei comandi di default come /orari, e simili. Oppure invece di configurare a mano ogni singolo comando potrebbe essere comodo poter lasciare la possibilità all'admin di selezionare il set di alias voluto. Ossia configuriamo il set di alias info_primo_anno che puntano ad orari del primo anno, e corsi del primo anno, set di alias per il secondo anno per i link del secondo anno etc. Lo farei fare all'utente perché hardcodare id del gruppo o convezione nel nome come facciamo ora è molto rigida come cosa seconod me.

Per i corsi ci sono corsi in particolare che coincidono di nome oppure non c'è sto problema?

foxyseta commented 1 year ago

Al momento gli "insiemi di alias" (1/2/3) sono inferiti dal nome del gruppo. Se il nome del gruppo non è autoesplicativo, il bot risponde elencando le possibilità. Basta poi cliccare su quella giusta.

Per gli insegnmenti, al momento non esiste nessun duplicato, perché Ingegneria mette -T alla fine di tutto, Scienze e Ingegneria Informatica di Cesena usa whatsapp anziché telegram (potremmo chiedere sul gruppo se abbiano intenzione di cambiare anno prossimo) e Management ha rifiutato collaborazioni.

foxyseta commented 10 months ago

Visto che gli insegnamenti non danno problemi (stanno venendo inclusi in #111) rimangono,

Forse aprirei issue separate ora che abbiamo ben identificato i comandi da cambiare (che sono di tipologie anche molto diverse). @bogo8liuk sei d'accordo?

bogo8liuk commented 10 months ago

Visto che gli insegnamenti non danno problemi rimangono,

* da modificare lato sintatti dei comandi (e cioè aggiungere come nuovi comandi) le varianti di `/lezioneoggi(N)` `/lezionidomani(N)` per altri CdL e magistrali. Si può prendere ispirazione dai prefissi che usiamo per le repo, con una differenza: nelle repo non serve disambiguare fra triennali e magistrali perché ci sono insegnamenti diversi, ma in `/lezioneoggi(N)` e `/lezionidomani(N)` sì;

* da modificare lato applicativi puntati dal bot `/coursedesc` (basta aprire una issue nella repo di riferimento e poi ci si penserà)

* da modificare lato risposta statica del bot `/scelta` nel caso in altri CdL si possano scegliere esami a scelta da altri SSD, `/registrate` per aggiungere quelle di altri CdL.

Forse aprirei issue separate ora che abbiamo ben identificato i comandi da cambiare (che sono di tipologie anche molto diverse). @bogo8liuk sei d'accordo?

Sì, sono d'accordo, apro la issue sui comandi delle lezioni

foxyseta commented 10 months ago

Visto che gli insegnamenti non danno problemi (stanno venendo inclusi in #111) rimangono,

Forse aprirei issue separate ora che abbiamo ben identificato i comandi da cambiare (che sono di tipologie anche molto diverse). @bogo8liuk sei d'accordo?

Questa analisi per casi si è riveltata esaustiva. Quindi questa issue generalista viene chiusa e sostituita da: