Bots de conversa de Telegram amb Google Apps Script

Bots de conversa Exemples Dades pràctiques   Recursos CITCEA
Google Apps Script Projectes Interacció   Inici

Processat d'ordres POST

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.

 

 

 

 

 

 

 

 

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.