Come creare un chatbot di intelligenza artificiale su Telegram con n8n (senza codice)

Argomento: n8n

Chatbot di intelligenza artificiale su Telegram con n8n: tutorial senza codice

Hai provato a fare un chatbot su Telegram ma non è venuto come pensavi? In questo articolo vediamo come creare un chatbot Telegram con intelligenza artificiale che risponda ai messaggi, capisca i comandi e magari generi anche immagini.

E come lo facciamo? Beh, con n8n, come al solito.

E no, non ti serve alcuna competenza di programmazione.

Cominciamo?

Esempio di bot Telegram basato su intelligenza artificiale
Esempio di bot Telegram basato su intelligenza artificiale

È facile creare un bot Telegram?

Oggi creare un bot Telegram con strumenti senza codice o a basso codice è molto più semplice di quanto sembri.

Se hai già un minimo di confidenza con questi ambienti, sei già a buon punto.

Certo, ogni piattaforma ha il suo modo di funzionare.

Quindi conviene capire al volo quali differenze ci sono tra i vari approcci, così scegli quello più adatto a quello che vuoi fare.

Per esempio, i builder specializzati per bot spesso sono comodi all'inizio, ma possono essere limitati nelle funzioni.

In più, tendono a trattenere i dati che passano dentro al bot. Strumenti come Zapier, invece, possono andare benissimo per partire, ma quando i messaggi aumentano i costi possono salire in fretta.

n8n si distingue perché mette insieme i vantaggi di entrambi gli approcci:

  • La creazione di bot Telegram è semplificata grazie al nodo dedicato agli eventi in entrata (attivatore) e al nodo di invio dei messaggi, entrambi già integrati in n8n
  • La gestione del bot non richiede configurazioni di hosting complesse (cioè non devi preoccuparti di server o infrastrutture): n8n se ne occupa direttamente
  • Per logiche avanzate, è possibile estendere il bot con codice JavaScript personalizzato e chiamate dirette all'API di Telegram (l'interfaccia ufficiale per comunicare con i server di Telegram)
  • È possibile realizzare bot multilingua con una ridondanza minima nel flusso di lavoro
  • I dati che transitano attraverso il bot rimangono sotto il tuo controllo, senza vincoli di piattaforma

Nei prossimi passaggi vedremo come configurare il bot su Telegram tramite BotFather, collegarlo a n8n con il nodo Telegram Trigger e definire le azioni automatiche da eseguire.

Compresa l'integrazione con un modello di intelligenza artificiale, ogni volta che il bot riceve un messaggio.

Come costruire un bot Telegram con n8n?

In questo tutorial vedremo come costruire un semplice assistente conversazionale usando i modelli linguistici di OpenAI.

Imposteremo il bot in modo che risponda in maniera più naturale grazie all'uso delle faccine, cioè le emoticon.

Gestiremo anche i comandi non supportati e i messaggi di errore. E alla fine il sistema sarà anche in grado di generare e inviare immagini create dall'intelligenza artificiale tramite il generatore di immagini di OpenAI.

C'è solo una cosa da sapere prima di partire: l'assistente che realizzeremo non ricorderà i messaggi precedenti.

Per gestire la cronologia delle conversazioni servirebbe una base di dati dedicata.

Passo 0. Aggiungere un nuovo bot su Telegram

Aggiungere un nuovo bot su Telegram richiede davvero un minuto.

Il metodo ufficiale passa da BotFather, cioè il bot di Telegram pensato proprio per creare e gestire nuovi bot.

Ti basta avviarlo e seguire 2 passaggi semplici:

  • Prima, esegui il comando /newbot e assegna al tuo bot un nome leggibile
  • Poi, fornisci un nome utente univoco. Telegram richiede che il nome contenga "bot" o "_bot" alla fine.

Alla fine riceverai una conferma con un token segreto, cioè una stringa di caratteri che identifica il tuo bot e gli permette di comunicare con Telegram.

Da BotFather puoi anche personalizzare il bot in un secondo momento: aggiungere una descrizione, un'immagine di profilo o un menu con i comandi disponibili.

Per questo tutorial, però, non è necessario.

Registra un nuovo bot Telegram in un solo minuto
Registra un nuovo bot Telegram in un solo minuto

Una volta che hai in mano il codice segreto del bot, il passaggio successivo è collegarlo a n8n per decidere come deve rispondere ai messaggi.

E sì, sempre senza scrivere una riga di codice.

Passo 1. Prepara la tua istanza n8n e ottieni la chiave API di OpenAI

  • Scegli una versione in cloud di n8n e inizia la configurazione in pochi minuti.
  • Registrati sulla piattaforma OpenAI e ottieni una nuova chiave API.

Passo 2. Elabora i messaggi in arrivo al bot Telegram

Questa parte riceve il messaggio in arrivo da Telegram ed esegue alcuni passaggi preparatori
Questa parte riceve il messaggio in arrivo da Telegram ed esegue alcuni passaggi preparatori

Questa prima parte del flusso riceve i messaggi in arrivo da Telegram ed esegue alcuni passaggi preparatori.

Ricezione e pre-elaborazione dei messaggi

  • Il nodo di ricezione dei messaggi riceve per impostazione predefinita tutti i tipi di messaggio inviati al bot. In questo modo il bot rimane sempre attivo e non ignora nessun messaggio, anche se certe funzioni non sono ancora configurate.
  • Pre-elaborazione: questo passaggio controlla che il campo json.message.text (cioè il testo del messaggio ricevuto) esista sempre prima di procedere. Se il campo mancasse — ad esempio perché l'utente ha inviato una foto invece di un testo — i passaggi successivi del flusso di lavoro andrebbero in errore. Verificarlo in anticipo evita interruzioni inattese.
Questo passaggio garantisce che una chiave JSON esista sempre
Questo passaggio garantisce che una chiave JSON esista sempre
  • Analizziamo ora le Impostazioni di questo nodo.
Le impostazioni memorizzano importanti parametri di configurazione di GPT3/4
Le impostazioni memorizzano importanti parametri di configurazione di GPT3/4

Parametri di configurazione del bot

La variabile system_command è il messaggio iniziale che inviamo al modello GPT per dirgli come deve comportarsi il chatbot.

In questo caso gli stiamo dicendo di essere cordiale, di rispondere nella lingua dell'utente e di usare emoji per rendere le risposte più naturali. Includiamo anche il nome dell'utente e la lingua impostata su Telegram, così il bot può salutare per nome e rispettare la lingua preferita.

La variabile bot_typing serve invece a mostrare l'animazione di scrittura mentre il bot sta elaborando la risposta.

Il tipo di notifica cambia a seconda che il messaggio dell'utente inizi oppure no con il comando /image.

Un esempio di notifica di digitazione del bot
Un esempio di notifica di digitazione del bot

model_temperature (temperatura del modello) controlla quanto le risposte del modello siano creative o prevedibili.

Un valore basso produce risposte precise e coerenti; un valore alto le rende più varie e originali.

Per esempio: con una temperatura bassa il bot potrebbe rispondere sempre "Certo, posso aiutarti!", mentre con una temperatura alta potrebbe riformulare la stessa risposta in modi diversi ogni volta.

token_length limita la lunghezza massima della risposta generata dal modello.

Un token corrisponde più o meno a una parola, o a una parte di parola: quindi, se imposti un valore basso, otterrai risposte più brevi e direte.

Invio dell'azione di digitazione e controllo del flusso

  • Invia azione di digitazione (l'azione che mostra l'indicatore «sta scrivendo…» nella chat) utilizza semplicemente il valore del parametro bot_typing contenuto nei dati JSON.
  • Il nodo Merge è configurato in modalità Choose Branch, che lascia passare i dati originali provenienti da Settings. Il suo scopo è garantire un ordine preciso di esecuzione: pensa a lui come a un semaforo. Finché Invia azione di digitazione non termina, il semaforo rimane rosso e nessun passaggio successivo può partire. Solo quando l'azione è completata il semaforo diventa verde e il flusso continua.

Passo 3. Effettuare chiamate API ai servizi OpenAI

Qui il bot prende i dati dell'utente e li instrada verso uno dei tre modelli di intelligenza artificiale.

Questa parte del bot decide quale modello deve essere eseguito in base all'input dell'utente
Questa parte del bot decide quale modello deve essere eseguito in base all'input dell'utente">
  • CheckCommand è un nodo di tipo Switch, cioè un elemento del flusso di lavoro che smista le richieste verso percorsi diversi in base al comando ricevuto:
Il nodo Switch instrada le richieste verso i corrispondenti modelli di intelligenza artificiale
Il nodo Switch instrada le richieste verso i corrispondenti modelli di intelligenza artificiale

Le prime tre regole di instradamento gestiscono le richieste valide, indirizzandole verso il modello di generazione del testo (GPT) oppure verso quello di generazione delle immagini (DALL-E 2).

L'ultima regola, invece, è la via di uscita predefinita per i comandi non riconosciuti.

  • Il testo semplice e il comando /start (corrispondenti alle uscite 0 e 1 dello smistamento) vengono inviati al nodo OpenAI, che usa GPT per generare una risposta testuale. In pratica, GPT riceve il messaggio dell'utente e restituisce una risposta in linguaggio naturale, come farebbe un assistente virtuale.
Nodo OpenAI configurato in modalità completamento della chat tramite modello GPT
Nodo OpenAI configurato in modalità completamento della chat tramite modello GPT
  • L'output 2 è collegato a un modello di OpenAI diverso: DALL-E 2, una rete neurale da testo a immagine in grado di generare immagini a partire da input testuali.
Esempio di nodo OpenAI configurato per la generazione di immagini
Esempio di nodo OpenAI configurato per la generazione di immagini

Passo 4. Invia la risposta all'utente

Dopo che il modello restituisce una risposta, che sia un messaggio di testo oppure un'immagine, bisogna inviarla all'utente su Telegram.

In questa fase viene gestita anche la risposta generica per i comandi non supportati.

Questa parte mostra come i nodi di risposta sono collegati alle parti precedenti
Questa parte mostra come i nodi di risposta sono collegati alle parti precedenti
  • Il nodo Risposta testuale (invio della risposta testuale) è collegato a entrambi i nodi OpenAI, per evitare di duplicare la stessa azione nel flusso di lavoro.
  • Il nodo Invia immagine (invio dell'immagine) trasmette all'utente l'URL dell'immagine generata dal nodo Create an Image.
  • Il nodo Invia messaggio di errore (invio del messaggio di errore) risponde con un messaggio generico quando il comando non è supportato, senza coinvolgere alcun modello OpenAI.

Ecco fatto.

Abbiamo creato un chatbot di intelligenza artificiale funzionante su Telegram.

Quanto costa creare un bot Telegram?

Creare un bot Telegram passa da tre fasi distinte, e ognuna può incidere in modo diverso sui costi complessivi del progetto:

  1. Registrazione del bot sulla piattaforma Telegram
  2. Creazione della logica del bot
  3. Hosting del bot

Registrare un nuovo bot su Telegram è gratuito e richiede solo pochi minuti.

Una volta registrato il bot, puoi costruire la sua logica funzionale.

Se lo sviluppi da solo, i costi sono praticamente nulli e l'investimento principale è il tuo tempo. Se invece coinvolgi uno sviluppatore, che lavori con codice tradizionale, con strumenti visivi senza codice o con piattaforme a basso codice, il prezzo dipende da molti fattori e può salire parecchio se il progetto ha funzionalità complesse.

Infine, il bot deve essere disponibile 24 ore su 24, 7 giorni su 7.

Questo significa che hai bisogno di un ambiente online in cui pubblicarlo, cioè di un hosting. Se scegli strumenti come Python o una versione installata in autonomia di n8n, i costi di hosting restano abbastanza contenuti per un bot semplice: circa 5$/mese per un server virtuale privato (VPS) di fascia bassa, sufficiente a gestire più bot contemporaneamente. Le piattaforme commerciali per la creazione di bot, invece, hanno tariffe più alte. E se il bot dovesse diventare molto popolare, potrebbe essere necessario acquistare più capacità di calcolo o passare a piani più costosi.

Conclusioni

Creare un chatbot , come hai visto, è piuttosto semplice, anche se parti completamente da zero.

In questo tutorial abbiamo costruito un assistente capace di rispondere ai messaggi in base a un ruolo definito e di gestire anche immagini generate dall'intelligenza artificiale.

La struttura del flusso di lavoro è modulare: ogni nodo ha un compito preciso e può essere sostituito o ampliato senza dover rifare tutto dall'inizio.

Da qui puoi aggiungere funzionalità davvero utili: memoria della conversazione tra sessioni, regole di moderazione dei messaggi in entrata, registrazione delle richieste su un foglio di calcolo o in un archivio dati, e limiti di utilizzo per singolo utente.

Tutti miglioramenti che non richiedono codice aggiuntivo, ma solo nuovi nodi nel flusso (poi dipende cosa vuoi fare eh, io spesso ho un sacco di nodi codice nei miei workflow, ma non sempre sono necessari; diciamo che dipende dal livello di follia a cui aspiri).

Quindi, ricapitolando: con questa struttura puoi creare un chatbot Telegram con intelligenza artificiale che risponde ai messaggi, gestisce comandi, invia immagini generate dall'AI e si presta bene a essere esteso nel tempo.

Se vuoi adattarlo a un caso reale o hai qualche dubbio su un passaggio, puoi scriverlo nei commenti oppure usare il link qui sotto per valutare la soluzione più adatta al tuo progetto.

Crea i tuoi flussi di lavoro su Telegram

Prossimi passi

Se hai seguito il tutorial fino a qui, hai già un chatbot Telegram funzionante collegato a un modello di intelligenza artificiale tramite n8n.

Da qui in poi puoi espandere il progetto in diverse direzioni:

  • Scarica il flusso di lavoro: puoi importare direttamente il file di configurazione base e adattarlo al tuo caso d'uso.
  • Approfondisci i modelli avanzati: esplora le integrazioni n8n + Telegram più strutturate, come la gestione della memoria conversazionale, la moderazione dei messaggi e i comandi admin per bot multi-utente.
  • Risoluzione dei problemi: se il bot non risponde come previsto, verifica i registri di esecuzione in n8n, controlla la chiave di accesso del bot e assicurati che il punto di ricezione dei messaggi sia attivo e raggiungibile.
  • Personalizzazione o consulenza: se hai bisogno di adattare questo progetto a un caso specifico — integrazione con un gestionale, gestione di ordini, supporto clienti automatizzato — scrivimi per valutare insieme la soluzione più adatta.

Questo articolo è stato tradotto e riscritto partendo da questo articolo su n8n come base, dove puoi trovare anche i workflow scaricabili.

0 Commenti

Invia Un Commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *