NUOVO 📢 Offerta di lancio limitata: fino al 70% di sconto sul tuo primo mese, per tutti i giochi!Vedi i piani

Come ospitare un bot Telegram

Hosting di bot DiscordUpdated Oct 29, 20269 min read

Per ospitare un bot Telegram 24/7, eseguilo su un server sempre acceso invece che sul tuo PC: crea il bot con @BotFather, ordina un piano bot per Telegram, incolla il token nella pagina Bot e avvia il tuo codice. Su un piano bot PlayNHost (da 1,99 US$ al mese) il pannello controlla il token con Telegram, lo passa al tuo codice con i nomi usati dalla maggior parte delle librerie e, se non hai ancora codice, offre un bot di partenza già pronto in Python o Node.js. I passaggi:

  1. Su Telegram apri @BotFather, invia /newbot, scegli un nome e un username che finisca con bot, e copia il token che ti dà.
  2. Nella pagina Hosting per bot Telegram clicca Crea server su un piano. Nella finestra d’ordine rispondi a Per quale piattaforma è il tuo bot? con Telegram e scegli il linguaggio in cui è scritto il tuo bot.
  3. Apri il tuo server nel pannello. Nel riquadro Configura il tuo bot della Panoramica, controlla Cosa viene eseguito e clicca Continua.
  4. A Connetti a Telegram, incolla il token e clicca Collega. Controlla il nome del bot mostrato e clicca Sì, continua.
  5. A Il tuo codice, clicca Crea un bot di partenza, oppure carica i tuoi file o collega Git.
  6. Clicca Avvia il bot e aspetta Il tuo bot è online su Telegram. Invia /start per provarlo.
  7. Nella pagina Bot, sezione Telegram, clicca Apri in Telegram e invia al tuo bot /start.

Ogni passaggio è spiegato qui sotto.

1. Crea il bot con @BotFather

  1. Su Telegram cerca @BotFather e apri la chat.
  2. Invia /newbot. @BotFather ti chiede un nome, che la gente vede nelle chat, poi uno username. Lo username deve finire con bot, per esempio tetris_bot o TetrisBot.
  3. @BotFather risponde con il token, una riga come 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw. Copialo. Chi ce l’ha controlla il tuo bot, quindi non condividerlo e non scriverlo nel codice.

Hai perso il token? Su @BotFather invia /mybots, scegli il tuo bot, poi API Token.

2. Ordina un piano per Telegram

Ogni piano esegue un bot Telegram, da STARTER (0,5 GB) in su. Clicca Crea server sul piano che vuoi. La finestra d’ordine chiede Per quale piattaforma è il tuo bot?: scegli Telegram. Poi scegli il linguaggio del tuo bot: Node.js, Python, Java, C# (.NET), Bun, Deno, Go o Rust. Non sai quale piano scegliere? python-telegram-bot vs aiogram su PlayNHost riporta la memoria che abbiamo misurato per ogni libreria.

La finestra d’ordine del piano STARTER, passo 1 di 2: Per quale piattaforma è il tuo bot? con Telegram selezionato e gli otto riquadri dei linguaggi Node.js, Python, Java, C# (.NET), Bun, Deno, Go e Rust.

Hai già un piano bot configurato per Discord? Non ne serve uno nuovo. Nella pagina Bot, sezione Discord, trova il riquadro A cosa serve questo bot?, scegli Telegram e conferma con Cambia. Non viene eliminato nulla: un token Discord resta salvato e torna se riattivi Discord. Se avevi già salvato il token in Ambiente come TELEGRAM_BOT_TOKEN, diventa il token Telegram, senza incollare nulla di nuovo.

3. Incolla il token

Apri il tuo server nel pannello. Il riquadro Configura il tuo bot nella Panoramica ti guida in tre passaggi: Cosa viene eseguito, Connetti a Telegram e Il tuo codice.

  1. Cosa viene eseguito indica il linguaggio del tuo server, per esempio Questo bot esegue Python Bot. Clicca Continua, oppure Cambia cosa viene eseguito se non è quello giusto.
  2. Connetti a Telegram: incolla il token sotto Incolla il token del bot e clicca Collega. Il pannello mostra Verifica con Telegram in corso..., poi il nome e lo @username del tuo bot con È il tuo bot?. Clicca Sì, continua.

Puoi incollarlo anche nella pagina Bot, sezione Telegram, sotto Token. Un token che Telegram rifiuta non viene salvato: vedi Telegram non ha accettato quel token. Copialo di nuovo da @BotFather.

Il token viene conservato cifrato e il pannello non lo mostra più. Il tuo codice lo riceve come variabile d’ambiente con cinque nomi, così la maggior parte degli esempi funziona senza modifiche:

NomeUsato da
TELEGRAM_BOT_TOKENI nostri bot di partenza
BOT_TOKENGli esempi di aiogram, Telegraf e node-telegram-bot-api
TOKENIl segnaposto negli esempi di python-telegram-bot e pyTelegramBotAPI
TELEGRAM_TOKENComune nei tutorial
TELOXIDE_TOKENteloxide (Rust), letto da Bot::from_env()

In Python leggilo con os.environ["TELEGRAM_BOT_TOKEN"], in Node.js con process.env.TELEGRAM_BOT_TOKEN.

4. Aggiungi il tuo codice

A Il tuo codice il riquadro propone ciò che si adatta al tuo server:

  • Crea un bot di partenza (server Node.js e Python senza codice): un piccolo bot funzionante che risponde a /start. Su Python scrive bot.py e requirements.txt con python-telegram-bot 22; su Node.js scrive index.js e package.json con grammY. Imposta da solo il file di avvio. Modificalo come vuoi, poi riavvia.
  • Carica i file: il tuo bot, con requirements.txt o package.json. Lascia fuori venv, .venv, __pycache__ e node_modules. Vedi Come caricare il codice del tuo bot.
  • Collega Git: il tuo codice da un repository Git. Vedi Come distribuire e aggiornare il tuo bot da GitHub.

Il tuo codice deve usare il long polling: run_polling() in python-telegram-bot, start_polling() in aiogram, bot.start() in grammY o launch() in Telegraf. I webhook richiedono un indirizzo HTTPS pubblico, che questi piani per ora non includono. Se sposti un bot che usava un webhook: Come spostare un bot Telegram su PlayNHost.

5. Avvialo

Clicca Avvia il bot nel riquadro, oppure premi Avvia, e apri Console. Su Python, Node.js e Bun il server installa prima i tuoi pacchetti: il primo avvio è più lungo mentre vengono scaricati. Dopo, si reinstallano solo quando li modifichi (l’elenco dei pacchetti, il file dei pacchetti o la versione del runtime), quando manca node_modules, o una volta al giorno. Altrimenti vedi:

[PlayNHost] Packages are up to date. They install again when you change them, or after a day.
[PlayNHost] Starting your bot

Il bot di partenza stampa poi Logged in as @your_bot. Il pannello legge quella riga: il badge nella Panoramica passa a Online su Telegram. Nel tuo codice stampa una riga simile quando il bot è pronto.

6. Aprilo su Telegram

Nella pagina Bot, sezione Telegram, clicca Apri in Telegram. Si apre il link t.me del tuo bot. Invia /start: il bot di partenza risponde Hello con il tuo nome e Your bot is running on PlayNHost.

La stessa sezione mostra lo @username e l’ID del tuo bot, e un riquadro Nei gruppi con ciò che Telegram gli permette di fare nelle chat di gruppo.

La sezione Telegram della pagina Bot: token verificato e Valido, il nome del bot e @playnhost_demo_bot, un link Apri in Telegram e il riquadro Nei gruppi con Privacy attivata.

Se non risponde

Il pannello legge la console e mostra sopra un banner con la causa e un pulsante per risolverla:

  • Telegram non ha accettato il token del bot: il token è stato revocato in @BotFather o copiato male. Clicca Sostituisci il token.
  • Il tuo bot è in esecuzione anche altrove: un’altra copia usa lo stesso token, spesso sul tuo PC o sul vecchio host.
  • Sul tuo bot è impostato un webhook: clicca Rimuovi il webhook.

In questi casi alcune librerie continuano a riprovare, quindi il bot sembra in esecuzione mentre nulla risponde: il banner è il modo per accorgersene. Dettagli: Come risolvere l’errore 409 Conflict di un bot Telegram.

Domande frequenti

Il mio bot resta online quando spengo il PC?

Sì. Gira sul server, non sul tuo PC né nel tuo browser. Se va in crash viene riavviato entro circa un minuto; se va in crash di nuovo entro un minuto da quel riavvio, resta fermo e Console ne spiega il motivo.

Posso usare un webhook invece del polling?

Per ora no. Un webhook richiede un indirizzo HTTPS pubblico, che questi piani non includono ancora. Il polling non richiede nessun indirizzo: il tuo bot chiede a Telegram i nuovi messaggi. Se sul tuo bot è impostato un webhook, la sezione Telegram lo mostra con Rimuovi il webhook, che conserva i messaggi in attesa.

Posso eseguire lo stesso bot sul mio PC mentre faccio i test?

Non con lo stesso token nello stesso momento. Telegram permette a una sola copia di un bot di chiedere i messaggi, quindi l’altra riceve 409 Conflict. Ferma la copia sul tuo PC, oppure crea su @BotFather un secondo bot per i test.

Perché il mio bot non vede i messaggi in un gruppo?

La modalità privacy di Telegram è attiva per impostazione predefinita: nei gruppi il tuo bot vede i comandi a lui rivolti e le risposte ai suoi messaggi, non tutti i messaggi, a meno che non sia amministratore del gruppo. Il riquadro Nei gruppi mostra Privacy attivata o Privacy disattivata. Per leggere tutti i messaggi, invia /setprivacy a @BotFather, disattivala, poi rimuovi il bot dal gruppo e aggiungilo di nuovo.

Quale piano mi serve?

STARTER (0,5 GB) esegue un bot python-telegram-bot, aiogram, grammY o Telegraf con spazio per il tuo codice. Scegli 1 GB o più quando il bot tiene dati in memoria, gestisce file o immagini, oppure esegue più bot nello stesso processo. Vedi i piani su Hosting per bot Telegram.

Il tuo bot è già ospitato altrove? Spostalo da noi

ULTIMI ARTICOLI