Bots de conversa de Telegram amb Google Apps Script

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

Facilitant la creació del webhook

Com ja hem comentat, per indicar a Telegram quina és l'aplicació a executar farem servir aquesta comanda:

https://api.telegram.org/bot^^34628844:AAFIpk-e7j3UZtYQYQaTduf4mPhnDqIcNXI/setWebhook?url=
    https://script.google.com/macros/s/^^fycbzXSTtXkzqyM_sABbEZanVX2EuRAIUB5xct53AXp6-MbLscpLHO/exec

El tros que està en groc és el token del bot de conversa i el que està en verd és l'adreça URL de l'script. Hem partit la instrucció perquè és molt llarga però caldria posar-la seguida al navegador, sense salts de línia.

Aquest sistema està bé si només s'ha de fer una vegada però és una mica pesat si hem d'anar modificant l'script amb freqüència; ja que cada vegada cal generar l'adreça a partir dels diferents trossos i introduir-la en una pestanya lliure del navegador. Podem fer servir un mètode alternatiu que ens simplifica part de la feina.

Al començament del nostre script hi tindrem, probablement, les següents línies:

var token = "^^34328844:AAFIpk-e7j3UZtYQYQaTduf4hEhnDqIcNXI"; // API Token de Telegram 
var telegramUrl = "https://api.telegram.org/bot" + token;  // Url que comunica el nostre bot amb Telegram 
// Adreça de l'script (ens la donen en el moment de publicar-lo)
var webAppUrl = "https://script.google.com/macros/s/^^fycbzXSTtXkzqyM_sABbEZanVX2EuRAIUB5xct53AXp6-MbLscpLHO/exec";
...

Hi podem afegir una funció:

var token = "^^34328844:AAFIpk-e7j3UZtYQYQaTduf4hEhnDqIcNXI"; // API Token de Telegram 
var telegramUrl = "https://api.telegram.org/bot" + token;  // Url que comunica el nostre bot amb Telegram 
// Adreça de l'script (ens la donen en el moment de publicar-lo)
var webAppUrl = "https://script.google.com/macros/s/^^fycbzXSTtXkzqyM_sABbEZanVX2EuRAIUB5xct53AXp6-MbLscpLHO/exec";
function setWebhook() {
  var url = telegramUrl + "/setWebhook?url=" + webAppUrl;
  var response = UrlFetchApp.fetch(url);
}
...

Aquesta funció no es farà servir en el nostre programa, ja que està pensada per ser executada de manera manual.

Quan tinguem una nova versió de l'script, l'hem de guardar, picant el botó que es mostra a continuació.

Botó guardar

Picarem el botó Implementar.

Implementar

En el desplegable triarem Nueva implementación i s'obrirà una finestra similar a la següent:

Nueva implementación

El primer cop que ho fem, haurem de picar en el botó que es mostra a continuació.

Tipus

I triar l'opció Aplicación web. La finestra ens preguntarà en nom de qui volem que s'executi l'aplicació (li direm Yo) i qui hi té accés (li direm que qualsevol usuari). Finalment, picarem el botó Implementar.

Nueva implementación

Se'ns mostrarà una pantalla en la que se'ns indicarà l'adreça URL de l'aplicació, que haurem de copiar.

URL script https://script.google.com/macros/s/^^fycbxqrJpVA-KT1sUd8HIta643R3bH4ixpDahttayGSGjkpHUBjPQ/exec

Un cop estiguem, podem picar el botó Listo.

Ara tornarem al nostre script i modificarem la variable webAppUrl amb l'adreça URL que acabem d'obtenir:

...
var webAppUrl = "https://script.google.com/macros/s/^^fycbxqrJpVA-KT1sUd8HIta643R3bH4ixpDahttayGSGjkpHUBjPQ/exec";
...

Llavors, a la barra de botons de l'editor, ens assegurarem que el desplegable té la funció que ens interessa, setWebhook, i picarem el botó Ejecutar. Un cop fet això, el nostre bot de conversa ja tindrà assignada la nova versió de l'script i ens haurem estalviat de generar l'adreça i posar-la al navegador.

Barra de botons

Atenció: Hem de recordar que cal guardar el programa (botó del disquet) abans d'implementar, si no ho fem ens implementarà la darrera versió guardada que no serà l'actual.

 

 

 

 

 

 

 

 

 

 

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