Bots de conversa | Exemples | Dades pràctiques | Recursos CITCEA | |
Google Apps Script | Projectes | Interacció | Inici |
Si volem que el nostre script faci alguna cosa quan rep una comanda POST serà necessari que tingui la funció doPost. La sintaxi de la definició de la funció és la següent:
function doPost(e) { ... }
Podem obtenir informació de les dades que s'han enviat fent servir l'opció postData. Les opcions més habituals són:
Paràmetre | Resultat | Comentaris |
e.postData.length | Llargada de les dades rebudes | |
e.postData.type | El tipus de dades rebut | Si són de Telegram serà application/json |
e.postData.contents | El contingut rebut | En el format especificat |
En el cas de Telegram, la informació s'envia en format JSON i caldrà processar-la convenientment. Per exemple, podem obtenir el text enviat des de Telegram amb:
var dades = JSON.parse(e.postData.contents); // Tracta les dades rebudes com a JSON i les guarda a dades var text = dades.message.text; // Recupera el text del missatge
Si la comanda enviada no té paràmetres es pot processar per comparació.
if (text == '/dades'){ ... }
Si, en canvi, pot tenir paràmetres cal separar la comanda dels paràmetres. Imaginem que els paràmetres van separats per @:
var cmd = text.split("@"); // Separa per les @ var comanda = cmd[0]; // La primera part és la comanda if (comanda == '/dades'){ ... }
En aquest exemple tenim un script que ens permet provar l'ordre POST des de Telegram i veure els paràmetres rebuts.
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.