Salta al contenuto

Come creare un bot telegram in 10 minuti

I bot di Telegram sono contatti automatici in grado di eseguire per noi numerose azioni dall’interno della conversazione. Sono a tutti gli effetti un mercato in fase di rapido sviluppo, attraverso essi si può sia semplicemente utlizzare al meglio Telegram, sia creare una piattaforma di pagamento del proprio business. Ad esempio, uno dei bot ufficiali di Telegram è StickersBot e permette, grazie al comando /newstickerpack, di creare una raccolta di sticker utilizzabili nelle conversazioni a partire da immagini a scelta dell’utente. I bot possono essere di tutti i tipi come anche il nostrano SpacoBot.

In questa guida spiego come crearne uno utilizzando Nodejs tramite una libreria di nome “telebot”. Un’alternativa per i più esperti protrebbe essere quella di lasciar perdere la libreria ed andare a crearsi tutto da soli dato che telegram di base fornisce delle API HTTP che permettono di avere il controllo totale sulla struttura. Per gli usi comuni dei bot però è più indicato usare librerie.

Ingredienti:

  • Un account Telegram
  • Conoscenza minima di Nodejs ed ovviamente nodejs e npm già installati sul vostro computer
  • Quando attiverete il bot dovrete essere connessi a internet (ma và?)

Tempo medio:

Se siete esperti 5 minuti, altrimenti 10.

Procedimento:

1) Contattare la mafia dei bot e creare un nuovo picciotto

Ti farà un offerta che non potrai rifiutare

Come primo passo bisogna andare sul vostro client Telegram e scrivere @BotFather, lui è il patrino (pronuncia del sud required) che gestisce tutti i bot di Telegram e che vi fornirà il token per interagire con il vostro bot.

Il procedimento da seguire, cioè le cose che vanno scritte in ordine al BotFather sono:

  1. /newbot
  2. Il nome del nuovo bot che volete creare
  3. L’username del vostro nuovo bot (considerate che deve essere unico)
  4. (OPZIONALE) Potete continuare ad inviare comendi per modificare immagine del profilo e descrizione del vostro bot
La parte sottolineata in blu è il token segreto

Il vostro token deve rimanere assolutamente un segreto, pertanto da questo momento in poi per indicare dove va messo il token utilizzerò tale segnatura nel testo: [TOKEN_API] . A questo punto potete verificare che tutto il bot è stato creato correttamente scrivendo sul vostro browser:

https://api.telegram.org/bot[TOKEN_API]/getMe

Se tutto è andato per il verso giusto dovreste avere come risposta:

2) Lo nuovo picciotto adda parlà

Da questo momento Telegram sa che c’è un nuovo bot in città, ma non sa come questo bot deve comportarsi. Per programmare il nostro bot utilizzeremo la libreria telebot, quindi aprite un terminale e digitate nella cartella dove volete lavorare:

npm install telebot --save

Se siete da Linux potete tranquillamente creare un file con:

touch hellobot.js

All’interno del file inserite queste due righe:

const TeleBot = require('telebot');
const bot = new TeleBot('[TOKEN_API]');
// setup del bot
bot.start();

La prima riga “importa” la libreria che abbiamo appena scaricato e installato con npm, la seconda invece crea la magia vera e propria e collega il vostro codice al bot ed infine la terza dà vita al vostro bot. Tra la riga 2 e la riga 3 va scritta tutta la logica applicativa del vostro bot.

In questo esempio creiamo un echo bot che semplicemente ripete tutto ciò che voi gli scrivete:

const TeleBot = require('telebot');
const bot = new TeleBot('[TOKEN_API]');
/* 
   il bot quando riceve un dato di tipo 'text' testo (quindi qualsiasi stringa riceve),
   risponde (msg.reply) con un messaggio di testo (.text) avente come contenuto il testo originale del mesaggio (msg.text)
*/
bot.on('text', (msg) => msg.reply.text(msg.text)); 
bot.start();

Per lanciare il programma basta semplicemente usare il comando:

node hellobot.js

Da questo momento è tutto nelle vostre mani, potete decidere voi cosa far fare al bot consultando la documentazione della libreria e il sito di telegram per le API messe a disposizione. Ricordatevi sempre cheappena bloccherete l’esecuzione del programma i messaggi che arriveranno al bot su Telegram non verrano reindirizzati a voi finchè non vi riconnetterete e quindi di conseguenza il vostro bot non funzionerà.

Al seguente link è possibile trovare un repository di esempio scritto da me. Clonate il repo, inserite il vostro [TOKEN_API] and let the magic happens.

Commenti

commenti

Published initaTech articles

Sii il primo a commentare

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.