Introduzione
La struttura actions all'interno di Informabot è la struttura principale da cui il bot va a ritorvare le informazioni necessarie per rispondere in modo appropriato. Attualmente possiede una struttura molto piatta:
- Definizione nome-comando
- definizione del tipo di comando
- Dati variabili, allo stesso livello del tipo di comando.
Richiesta:
La questione che vorrei sollevare è mettere tutti i campi dati, che sono variabili e differenti a seconda della tipologia di comando, in un suo livello di indentazione. Questo faciliterebbe molto la sezione di parsing del JSON (andrebbe a guardare il tipo, e poi parserebbe a seconda del tipo), e renderebbe anche molto più chiara l'interfaccia di act
.
Esempi
Attualmente abbiamo cose come
"start": {
"type": "message",
"text": "..."
},
"cercogruppo": {
"type": "lookingFor",
"description": "Cerca un gruppo di progetto",
"singularText": "Una persona cerca un gruppo in <b>\"{0}\"</b>:\n",
"pluralText": "<b>{1}</b> persone cercano gruppi in <b>\"{0}\"</b>:\n",
"chatError": "Questo comando è riservato alle chat dei gruppi degli insegnamenti."
},
Secondo me sarebbe più chiaro avere una forma di questo tipo
"start": {
"type": "message",
"data": {
"text": "...."
}
},
"cercogruppo": {
"type": "lookingFor",
"data": {
"description": "Cerca un gruppo di progetto",
"singularText": "Una persona cerca un gruppo in <b>\"{0}\"</b>:\n",
"pluralText": "<b>{1}</b> persone cercano gruppi in <b>\"{0}\"</b>:\n",
"chatError": "Questo comando è riservato alle chat dei gruppi degli insegnamenti."
}
},