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.
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
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
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
Ciao Lino,
quello che chiedi è fattibile. Solo che non è banale da spiegare.
E’ necessario avere un po’ di dimestichezza con la programmazione.
A presto,
Salvatore
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