JavaScript, HTML, CSS e... !
14 commenti

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.

Tags

scrivi un commento

14 Commenti

  1. Wednesday, November 24, 2021 alle ore 12:41 NATALE SCOPELLITI

    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

    Rispondi a questo commento
    • Wednesday, November 24, 2021 alle ore 13:20 Michele Pisani

      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.

      Rispondi a questo commento
  2. Friday, November 4, 2022 alle ore 22:24 lorenzo

    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!

    Rispondi a questo commento
    • Friday, November 4, 2022 alle ore 22:55 Michele Pisani

      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.

      Rispondi a questo commento
  3. Monday, January 16, 2023 alle ore 01:26 Sam

    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)?

    Rispondi a questo commento
  4. Monday, January 16, 2023 alle ore 01:26 Sam

    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)?

    Rispondi a questo commento
  5. Monday, January 16, 2023 alle ore 01:27 Samu

    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)?

    Rispondi a questo commento
  6. Monday, January 16, 2023 alle ore 01:29 Sam

    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)?

    Rispondi a questo commento
  7. Wednesday, November 29, 2023 alle ore 19:15 Emanuele

    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...

    Rispondi a questo commento
    • Wednesday, November 29, 2023 alle ore 19:20 Michele Pisani

      Capire quale è esattamente l'errore, altrimenti se quello non è chiaro non si può capire cosa risolvere. Riporta l'errore nella sua forma completa.

      Rispondi a questo commento
      • Wednesday, November 29, 2023 alle ore 19:35 Emanuele

        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...

    • Thursday, November 30, 2023 alle ore 09:48 Michele Pisani

      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.

      Rispondi a questo commento
  8. Friday, December 1, 2023 alle ore 13:27 Emanuele

    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...

    Rispondi a questo commento
    • Friday, December 1, 2023 alle ore 18:30 Michele Pisani

      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!

      Rispondi a questo commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]https://www.appsscript.it[/url] se devi riferirti ad un indirizzo web