Bots de conversa | Exemples | Dades pràctiques | Recursos CITCEA | |
Google Apps Script | Projectes | Interacció | Inici |
Sovint ens pot ser útil disposar d'un script bàsic que ens permeti saber que arriba una ordre POST de Telegram, a quina comanda correspon i els paràmetres que l'acompanyen. Aquest exemple serveix per a aquesta finalitat.
L'script que hi ha a continuació retorna a Telegram un missatge en el que s'indica quina és la comanda que s'ha rebut i els diferents paràmetres del missatge i el xat. Entre moltes altres aplicacions, pot ser útil per saber el nostre 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 doPost(e){ // Funció que rep les dades que envia Telegram var data = JSON.parse(e.postData.contents); // Llegeix les dades rebudes per JSON i les guarda if (data.message){ // Si és una comanda normal var text = data.message.text; // Comanda enviada var id = data.message.chat.id; // Identificador de la finestra d'on prové el missatge var id_usuari = data.message.from.id; // Identificador de l'usuari var id_missatge = data.message.message_id; // Identificador del missatge var lang = data.message.from.language_code ; // Idioma de l'usuari var nom_usr = data.message.from.first_name ; // Nom de l'usuari var location = data.message.location; // Localització de l'usuari (si es sap) } var resposta = "La comanda que s'ha rebut és:\n"; resposta = resposta + text + "\n\n"; resposta = resposta + "id xat = " + id + "\n"; resposta = resposta + "id usuari = " + id_usuari + "\n"; resposta = resposta + "id missatge = " + id_missatge + "\n"; resposta = resposta + "idioma = " + lang + "\n"; resposta = resposta + "nom de l'usuari = " + nom_usr + "\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); }
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.