Salva i messaggi degli utenti in un Foglio di Google
[VIDEO - ITA] Un Bot di Telegram che Scrive su Google Sheets
Nel mio tutorial precedente sui Bot di Telegram ho mostrato come crearne uno in meno di 5 minuti con 2 soli passaggi.
Integrando solo 3 righe di codice in più, potrai ora salvare in un Foglio di Google i messaggi che gli utenti scrivono su Telegram, te lo mostro in questo video:
Il codice con la parte modificata (dettagli descritti nel video):
function doPost(e) {
var contents = JSON.parse(e.postData.contents);
var chat_id = contents.message.from.id;
var user = contents.message.chat.first_name + " " + contents.message.chat.last_name;
var answer = "Ciao " + user + ". Benvenuto e grazie del tuo messaggio!";
sendMessage(chat_id, answer);
var text = contents.message.text;
SpreadsheetApp.openById("SPREADSHEET_ID").getSheetByName("Foglio1").appendRow([new Date(), chat_id, user, text]);
}
Nel prossimo video sui bot di Telegram vedremo come fornire risposte automatiche pertinenti ai messaggi degli utenti!
Ti invito pertanto a iscriverti al mio canale se ancora non l'hai fatto per rimanere aggiornato sulle prossime pubblicazioni e a lasciarmi un commento se qualcosa di quanto ti ho appena raccontato non ti è chiaro o se hai suggerimenti e argomenti che vorresti fossero approfonditi e trattati in un tutorial.
Video fantastico, ho provato e funziona tutto.
Vorrei che registrasse sul foglio google solo i messagi inviati / digitati dall'utente.
lo script invece aggiunge un messaggio anche sullo /Start
Grazie
Grazie del feedback Natale! :)
Per evitare che venga registrato anche il messaggio sullo start puoi mettere una condizione, ad esempio, su quello specifico contenuto del messaggio.
sono riuscito a replicare la tua guida, ma come posso fare per salvare su google sheet i post creati su un canale telegram che gestisco? quando viene generato il post lo script va in errore.
Grazie in anticipo!
Ciao Lorenzo,
conoscere l'errore potrebbe aiutare a capire il problema, se riesci a riportarlo qui nella sua forma integrale proviamo a capire dove intervenire.
Ciao,
Prima di tutto complimenti per i video.
Ho una domanda: è possibile salvare su GOOGLE SHEETS (o Google Drive) le immagini che vengono inviate (anche solo sotto forma di URL)?
Ciao,
Prima di tutto complimenti per i video.
Ho una domanda: è possibile salvare su GOOGLE SHEETS (o Google Drive) le immagini che vengono inviate (anche solo sotto forma di URL)?
Ciao,
Prima di tutto complimenti per i video.
Ho una domanda: è possibile salvare su GOOGLE SHEETS (o Google Drive) le immagini che vengono inviate (anche solo sotto forma di URL)?
Ciao,
Prima di tutto complimenti per i video.
Ho una domanda: è possibile salvare su GOOGLE SHEETS (o Google Drive) le immagini che vengono inviate (anche solo sotto forma di URL)?
Ciao, ho seguito il tuo video...
Ma continuo ad avere un errore nell'esecuzione del metodo doPost (questo l'ho visto nella sezione Esecuzioni)...
Ho inserito anche solo dei semplici Logger.log, ma continua a darmi errore...
Cosa posso fare?
Grazie per l'attenzione...
Capire quale è esattamente l'errore, altrimenti se quello non è chiaro non si può capire cosa risolvere. Riporta l'errore nella sua forma completa.
Per cominciare grazie per la risposta...
Purtroppo come ben tu sai, nella sezione Esecuzioni rilascia solo Errore e nient'altro... Ho provato a eseguirlo sia in Debug che Esegui non da errori... Non saprei come risalirci...
PS. in privato potrei darti accesso se vuoi...
La funzione doPost(e) non deve essere eseguita manualmente, è il bot di Telegram che richiamando la pagina la esegue. Per cui se la stai eseguendo dall'editor è normale che dia errore.
L'errore era in relazione a Telegram (App web) e se è stato eseguito manualmente era solo per fare un test, di cui non dava errore...
L'errore è rimasto insaputo, ma ho risolto, non aggiornando l'App web, bensì facendo una nuova versione...
Resta il problema che se è stato attivato in qualche modo (nel tuo esempio non ho trovato il metodo doGet) manualmente o automaticamente, la nuova versione non funziona, si deve in qualche modo (l'ho scoperto facendo qualche ulteriore ricerca) disattivare l'App web e riattivarla e in questo caso il tuo metodo setWebhook è ad DOC...
Comunque grazie per la consulenza e gli esempi forniti, sono stati davvero un eccezionale punto di partenza...
Grazie del feedback Emanuele! Mi fa piacere che tu sia riuscito a risolvere, apprezzo la perseveranza che non è da tutti quando ci si trova di fronte ad errori poco chiari.
Nei bot che ho creato non ho mai effettuato l'operazione che hai descritto, ad ogni modo dal momento che per te è stata risolutiva è un grande valore il fatto che tu l'abbia condivisa. Grazie a te e buon code!