Ciao a tutti,
premetto che ho già postato per errore questa richiesta in altro 3d e mi è stato consigliato di spostarla qui, chiedo il vostro aiuto per questo codice che mi da al debug due errori.Non avendo idea di come sia possibile spostare il mio quesito lo ripropongo.
Seguendo alcuni video sul web ho provato a creare un bot telegram che interrogato fornisca dati presi da un foglio googlesheeet.
Ho utilizzato il codice:
var token = "MIO TOKEN";
var SheetID = "ID FOGLIO";
function doPost(e) {
var stringJson = e.postData.getDataAsString();
var updates = JSON.parse(stringJson);
if(updates.message.text){
sendText(updates.message.chat.id,searchFoglio1ById(updates.message.text));
}
}
function getRows(){
var rangeName = 'Foglio1!A2:B';
var rows = Sheets.Spreadsheets.Values.get(SheetID, rangeName).values;
return rows;
}
function searchFoglio1ById(idFoglio1){
var dataFoglio1 = getRows();
for (var row = 0; row < dataFoglio1.length; row++) {
if(dataFoglio1[row][0]==idFoglio1){
return dataFoglio1[row][1];
}
}
return "Non trovato";
}
function testgetrow(){
var nome= searchFoglio1ById(1003);
var x = "";
}
function sendText(chatid,text,replymarkup){
var data = {
method: "post",
payload: {
method: "sendMessage",
chat_id: String(chatid),
text: text,
parse_mode: "HTML",
reply_markup: JSON.stringify(replymarkup)
}
};
UrlFetchApp.fetch('
https://api.telegram.org/bo' + token + '/', data);
}
var token = "MIO TOKEN";
function doPost(e) {
var stringJson = e.postData.getDataAsString();
sendText("98058903",stringJson);
var updates = JSON.parse(stringJson);
if(updates.message.new_chat_participant){
//invia messaggio di benvenuto updates.message.chat.id
sendText(updates.message.chat.id,"Ciao" + updates.message.new_chat_participant.first_name);
} else if(updates.message.left_chat_participant){
//invia messaggio di saluto updates.message.chat.id
sendText(updates.message.chat.id,"Alla prossima" + updates.message.left_chat_participant.first_name);
} else if(updates.message.photo){
//invia messaggio di saluto updates.message.chat.id
sendText(updates.message.chat.id,"Questa è la foto");
}else if(updates.message.text){
if(updates.message.text[0]=="/"){
//inviare un messaggio di risposta al comando
sendText(updates.message.chat.id,"Questo è il testo del comando");
} else {
//inviare un normale messaggio di testo di risposta
sendText(updates.message.chat.id,"Questo è un testo normale");
}
}
}
function sendText(chatid,text,replymarkup){
var data = {
method: "post",
payload: {
method: "sendMessage",
chat_id: String(chatid),
text: text,
parse_mode: "HTML",
reply_markup: JSON.stringify(replymarkup)
}
};
UrlFetchApp.fetch('
https://api.telegram.org/bo' + token + '/', data);
}
Gli errori sono 2 ... doPost e sendText
TypeError: Impossibile leggere la proprietà "postData" da undefined. (riga 48, file "Codice")Ignora
e
La richiesta non riuscita per
https://api.telegram.or ha restituito il codice 400. Risposta del server troncata: {"ok":false,"error_code":400,"description":"Bad Request: message text is empty"} (usa l'opzione muteHttpExceptions per esaminare la risposta completa) (riga 86, file "Codice")DettagliIgnora
Come risolvo ?
Grazie dell'aiuto.
ligiem