Debug dei messaggi di update di un bot Telegram

Negli ultimi mesi mi è capitato più volte di dover fare debug del messaggio di update JSON-serialized che Telegram invia al webhook del bot o che viene restituito invocando il metodo getUpdates. La documentazione di Telegram è ineccepibile ma – come in molti casi – l’esperienza di utilizzo di un’API ti porta a saltare alcuni step per la voglia di prototipare.

Per semplificarmi la vita ho così creato un bot speciale, che consente di fare un var_dump dei messaggi ricevuti. In pratica il bot restituisce in output come messaggio di testo l’update JSON ricevuto. Ecco un esempio:

Nell’immagine sopra il bot mostra un update relativo al messaggio testuale “Ciao!”.

Per interagire con il bot cerca sulla chat Telegram @vardumpbot ed inizia la conversazione.

Il bot consente, inoltre, di fare debug dei messaggi ricevuti su canali e gruppi ed è in funzione sul canale @vardump e sul gruppo https://t.me/joinchat/AAAAAER1KNaf6HzUjF0ZNg.

Il bot è estremamente semplice da realizzare ed il codice completo è disponibile qui.

Questions?

Have a question about this post or anything else? Ask away on Twitter or in my AMA repo.

5 thoughts on “Debug dei messaggi di update di un bot Telegram”

  1. Interessante Salvatore!
    Vorrei anch’io iniziare l’avventura con i bot di telegram, però prima di cimentarmi con il rischio di non combinar nulla, vorrei sapere se è fattibile il progetto che ho in mente.
    In sostanza ho un sito internet (in realtà è fatto con wordpress) dove siamo in 5 amministratori, vorremmo la possibilità di poter sfruttare un bot telegram che permetta ai visitatori di scriverci da telegram in un gruppo dove siamo tutti e 5 presenti più il visitatore del momento.
    A primo avviso si potrebbe pensare che basti un gruppo, ma in realtà non è possibile in quanto se i visitatori fossero più di uno, ognuno vedrebbe quello che scrive l’altro creando enorme confusione.
    Il bot in sostanza dovrebbe poter esser sviluppato in due modi:
    1- in modo che inoltri tutti i messaggi che il visitatore invia, ad un gruppo dove ci sono i 5 amministratori che rispondendo dal gruppo a sua volta i messaggi vengono inoltrati al visitatore in questione;
    2- oppure in modo che crei ogni volta un nuovo gruppo telegram con i 5 amministratori più il visitatore in questione. Poi all’uscita del visitatore però il gruppo dovrebbe eliminarsi (anche se potremmo farlo manualmente ogni volta)
    Vorrei sapere se in primis è fattibile e poi quale via più semplice mi consigli di percorrere (ed il grado di difficoltà che ha).
    Grazie infinite,
    Enrico

    1. Ciao Enrico,
      ti consiglio due possibili strade. Andrebbero entrambe approfondite.

      Soluzione 1:
      L’utente scrive su un form (modulo) del sito e un bot Telegram scrive agli admin attraverso un messaggio diretto oppure su un gruppo utilizzato solo dagli admin.
      La comunicazione sarebbe unidirezionale dall’utente a voi, non è possibile il viceversa.

      Soluzione 2:
      L’utente scrive al bot. Il bot consente agli admin di gestire la comunicazione verso l’utente.

      A presto,
      Salvatore

  2. Buonasera Salvatore,
    innanzitutto complimenti per la tua guida che mi è stata utilissima. Sono ancora un pò a digiuno di Telegram e volevo chiederti un suggerimento.
    In pratica, ho creato un Bot e grazie alle tue istruzioni funziona perfettamente. Ora però avrei bisogno di implementare una funzione. In pratica vorrei che in un gruppo (del quale il mio bot è anche amministratore), ogni volta che un utente digita il comando /cerca ufficio seguito dal Cap, il bot restituisca i dati completi contenuti nel database sql che li contiene, filtrati in base al Cap (univoco)
    Esempio:
    Input:
    /cerca ufficio 80123
    Response:
    Codice: 123
    Località: Roma
    Indirizzo: Via Augusto Magni, 123
    Tel: +39 06 8650699999
    Contatto: Nome Cognome
    Tipologia: 123
    GeoMap: LAT LON
    Grazie infinite
    Lino

  3. Ciao, vorrei chiederti se è possibile fare questo.
    Io ho una canale telegram della scuola di mio figlio dove tutti i genitori ricevono info e dove non si può rispondere.
    Vorrei che tutti i messaggi ricevuti in quel canale, venissero automaticamente direzionati su un altro numero.
    E’ possibile?
    Grazie mille.
    Cordiali saluti

Leave a Reply

Your email address will not be published. Required fields are marked *