| Bots de conversa | Exemples | Dades pràctiques | Recursos CITCEA | |
| Google Apps Script | Projectes | Interacció | Inici |
Podem enviar un document que es trobi a internet fent servir la següent funció:
function sendDocument(id,fitxer){
var url = telegramUrl + "/sendDocument?chat_id=" + id + "&document=" + fitxer;
UrlFetchApp.fetch(url);
}
Telegram afirma que aquesta comanda serveix per a fitxers PDF, GIF o ZIP. Aquesta funció, però, no serveix per enviar fitxers que estan a Google Drive ja que l'adreça d'aquests no acaba en un nom de fitxer.
Per enviar una imatge o una fotografia a Telegram podem fer servir la següent funció:
// El primer paràmetre és el xat al que s'ha d'enviar, el segon la URL de la foto
// i el tercer el títol de la foto
function sendPhoto(chatId,url_foto,caption){
// La variable cont conté, en format JSON, les dades que cal enviar
var cont = {
method: "post",
payload: {
method: "sendPhoto",
chat_id: String(chatId),
photo: url_foto,
caption: caption,
parse_mode: "HTML"
}
}
UrlFetchApp.fetch(telegramUrl + '/', cont);
}
El tros de programa que hi ha a continuació mostra un possible ús de la funció.
var token = "^^11744646:AAERCpfRifGP0_UIB8XASKSVd_LROkdQcKo"; // API Token de Telegram var telegramUrl = "https://api.telegram.org/bot" + token; // Url que comunica el nostre bot amb Telegram var num_aleatori = Math.floor(Math.random() * 9); // Valor aleatori var url = "https://robohash.org/" + num_aleatori; // Creem una URL de la foto a partir d'un valor aleatori var titol = "Imatge " + num_aleatori; // Títol de la foto sendPhoto(id,url,titol); // Enviem la foto
I aquest seria un dels possibles resultats:

Podem enviar un vídeo que es trobi a internet fent servir la següent funció:
function sendVideo(id,fitxer){
var url = telegramUrl + "/sendVideo?chat_id=" + id + "&video=" + fitxer;
UrlFetchApp.fetch(url);
}
BLOB (binary large objects) és una forma de guardar o enviar dades que es basa en un format binari. Podem fer servir aquest format per enviar imatges o altres elements. És especialment interessant per a imatges que hem generat en línia, per exemple els codis QR. Per enviar una imatge en format BLOB podem fer servir aquesta funció:
function sendBlobFile(chatId,blob_data,caption){
var payload = {
method: "sendPhoto",
chat_id: String(chatId),
photo: blob_data,
caption: caption,
parse_mode: "HTML"
};
var options = {
method: "POST",
payload: payload,
muteHttpExceptions: true
};
UrlFetchApp.fetch( telegramUrl + '/', options);
}
Per exemple, per enviar una imatge podríem fer:
var caption = "Imatge de prova"; // Missatge que acompanya al codi var imat = "https://recursos.citcea.upc.edu/telegram/tutor/funciona.gif"; var response = UrlFetchApp.fetch(imat); // Carrega la imatge corresponent a la url generada var binaryData = response.getContent(); // La funció newBlob té tres paràmetres: les dades, el tipus de dades i el nom que li volem donar // carrega la imatge com a dades binaries en una variable var blob_data = Utilities.newBlob(binaryData, 'image/gif', 'Esquema'); sendBlobFile(chatId,blob_data,caption); // Enviem la imatge al Telegram però amb format binari (BLOB)
Els tipus de dades que probablement farem servir més habitualment són:
| Tipus | Utilització | Extensions habituals |
| image/gif | Imatge en format Graphics Interchange Format | gif |
| image/jpeg | Imatge en format Joint Photographic Experts Group | jpg jpeg |
| image/png | Imatge en format Portable Network Graphics | png |
Els tipus possibles són moltíssims i la llista no està tancada. Podeu trobar una versió actualitzada en aquesta pàgina. Abans, però, d'enviar un tipus de fitxer a terceres persones feu una prova per veure si funciona. Jo ho he provat amb alguns tipus que m'ha semblat que haurien de funcionar i no ha estat així. No els llisto perquè sempre pot ser que Telegram contempli implementar-ho més endavant.

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