Bots de conversa de Telegram amb Google Apps Script

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

Exemples de prova per a ordres GET

Sovint ens pot ser útil disposar d'un script bàsic que ens permeti saber que arriba una ordre GET i els paràmetres que l'acompanyen. Aquests exemples serveixen per a aquesta finalitat.

L'script que hi ha a continuació serveix per provar comandes entrades directament a la barra d'adreces del navegador. Respon a la pròpia finestra del navegador i ens indica el nombre de paràmetres que s'han passat i el nom i el valor de cada un.

function doGet(e){
  var resposta = "";
  var params = e.queryString;  // Agafa la part de l'adreça URL que hi ha després de l'interrogant
  if(params == ""){
    resposta = resposta + "No s'ha rebut cap paràmetre";
  } else {
    var param = params.split("&");  // El signe & separa els paràmetres
    resposta = resposta + "S'han rebut " + param.length + " paràmetres\n";
    for(var i = 0; i < param.length; i++){
      var par_act = param[i].split("=");  // El signe = separa el paràmetre del valor
      resposta = resposta + "El paràmetre " + par_act[0] + " val " + par_act[1] + "\n";
    }
  }
  return ContentService.createTextOutput(resposta);
}

La següent versió de l'script està pensada per aquells casos en els que l'ordre GET s'envia des d'un altre programa o aplicació. Ara mostra la informació en el nostre xat de Telegram. Per poder-lo fer servir, cal que coneguem el nostre identificador de Telegram. Cal canviar el token de Telegram per al que correspongui al nostre bot i l'identificador d'usuari.

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
function doGet(e){
  var id = 609299771;  // El nostre identificador a Telegram
  var resposta = "";
  var params = e.queryString;  // Agafa la part de l'adreça URL que hi ha després de l'interrogant
  if(params == ""){
    resposta = resposta + "No s'ha rebut cap paràmetre";
  } else {
    var param = params.split("&");  // El signe & separa els paràmetres
    resposta = resposta + "S'han rebut " + param.length + " paràmetres\n";
    for(var i = 0; i < param.length; i++){
      var par_act = param[i].split("=");  // El signe = separa el paràmetre del valor
      resposta = resposta + "El paràmetre " + par_act[0] + " val " + par_act[1] + "\n";
    }
  }
  sendText(id,resposta);
}
function sendText(chatId,text_env,keyBoard){  // Funció que prepara per enviar un text o un teclat a Telegram 
  keyBoard = keyBoard || 0;
  if(keyBoard.inline_keyboard || keyBoard.keyboard){
    var data = {
      method: "post",
      payload: {
        method: "sendMessage",
        chat_id: String(chatId),
        text: text_env,
        parse_mode: "HTML",
        reply_markup: JSON.stringify(keyBoard)
      }
    }
  } else {
    var data = {
      method: "post",
      payload: {
        method: "sendMessage",
        chat_id: String(chatId),
        text: text_env,
        parse_mode: "HTML"
      }
    }
  }
  UrlFetchApp.fetch( telegramUrl + '/', data);
}

 

 

 

 

 

 

 

 

 

 

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