Introduzione
Per sviluppare e ospitare un bot Telegram su Square Cloud, è essenziale seguire una sequenza strutturata di configurazioni e prerequisiti. Questa guida tecnica coprirà l’intero processo, dalla configurazione iniziale al deploy in produzione.Prerequisiti
- Account Square Cloud: Registrati tramite la pagina di registrazione usando la tua email.
- Piano attivo: Garantisce risorse dedicate e prestazioni ottimizzate per la tua applicazione. Consulta i nostri piani disponibili e scegli quello più adatto alle tue esigenze.
Creare il progetto
Un account Telegram è essenziale per testare e interagire con il tuo bot. Se non ne hai uno, visita il sito ufficiale di Telegram per creare il tuo account.Applicazione bot su Telegram
Trova BotFather
Accedi a Telegram Web e cerca il bot ufficiale BotFather, responsabile della creazione e gestione dei bot sulla piattaforma.

Ottieni il token
Avvia una conversazione con BotFather e digita 
/start. Poi, seleziona l’opzione /newbot per creare un nuovo bot. Il sistema ti chiederà un nome per il tuo bot e, dopo la conferma, genererà automaticamente il token di autenticazione necessario.
Sviluppare il bot
Scrivi il bot con grammY (Node.js) o pyTelegramBotAPI (Python). Entrambi gli esempi ripetono ogni messaggio di testo:- Node.js - grammY
- Python - telebot
- Verifica che Node.js sia installato sul tuo sistema. In caso contrario, scaricalo dal sito ufficiale di Node.js.
- Inizializza un nuovo progetto Node.js:
Terminal
- Installa la libreria grammY:
Terminal
- Crea il file principale (
index.js) con la seguente struttura:
index.js
Configurare Square Cloud
Crea un filesquarecloud.app nella radice del tuo progetto, accanto al file principale. Indica a Square Cloud come eseguire il tuo bot:
MAINè il file che Square Cloud esegue, eMEMORYè la RAM del bot in MB. I bot richiedono almeno 256 MB; 512 MB lasciano spazio per crescere.AUTORESTART=trueriavvia il bot se va in crash. Consulta come funziona il riavvio automatico.- Non c’è
SUBDOMAIN: con il long polling, il bot non ha bisogno di un URL pubblico.
Impostare il token del bot
Il tuo codice legge il token dalla variabile d’ambienteTELEGRAM_BOT_TOKEN, quindi il token non finisce mai nei tuoi file. Impostalo in uno di questi modi:
- Dashboard: nella pagina di upload, apri Configurazione avanzata e aggiungi una variabile chiamata
TELEGRAM_BOT_TOKENcon il tuo token come valore. Per un bot già pubblicato, aggiungila nella pagina Variabili d’ambiente dell’applicazione e riavvia il bot. - CLI: subito dopo aver caricato il bot (vedi Deploy e verifica), impostala con
squarecloud app env sete riavvia il bot:
Cosa mettere nello ZIP
- Il file principale (
index.jsomain.py) e gli altri file sorgente. package.jsonorequirements.txt.squarecloud.app.
node_modules, .venv e __pycache__: Square Cloud installa le dipendenze all’avvio del bot.
Deploy e verifica
Crea lo ZIP descritto sopra, poi caricalo:Tramite dashboard
1
Accedi alla pagina di upload
Accedi alla pagina di upload e carica il file zip del tuo progetto.
2
Configura il tuo ambiente
Dopo aver caricato il tuo zip, dovrai configurare il nome, il file principale o il runtime environment e altre impostazioni per il tuo progetto.
Se stai caricando un progetto web, assicurati di selezionare “Web Publication” e di impostare un sottodominio per il tuo progetto.
Se stai caricando un progetto web, assicurati di selezionare “Web Publication” e di impostare un sottodominio per il tuo progetto.
3
Esegui il deploy del tuo progetto
Infine, clicca sul pulsante “Deploy” per ospitare il tuo progetto su Square Cloud.
Dopo il deploy, puoi monitorare lo stato e i log del tuo progetto dalla dashboard.
Dopo il deploy, puoi monitorare lo stato e i log del tuo progetto dalla dashboard.

4
Conferma che la tua app sia online
Il primo deploy richiede di solito meno di un minuto. Nella dashboard, attendi che lo stato della tua applicazione mostri “in esecuzione” e controlla i log per eventuali errori di avvio.
Se hai fatto il deploy di un sito web o di un’API, apri
Se hai fatto il deploy di un sito web o di un’API, apri
https://<tuo-sottodominio>.squareweb.app nel tuo browser: dovresti vedere la tua applicazione rispondere. Se hai fatto il deploy di un bot, invia un comando per confermare che sia online.
Tramite CLI
Per utilizzare questo metodo, il tuo progetto deve avere un file di configurazione chiamatosquarecloud.app nella sua radice. Indica a Square Cloud come eseguire la tua applicazione.
Guida al file di configurazione
Scopri come creare il file di configurazione
squarecloud.app che definisce l’ambiente della tua applicazione.1
Installa la CLI
Installa la CLI di Square Cloud. Se ce l’hai già, esegui lo stesso comando per aggiornarla:
2
Accedi
Esegui il comando qui sotto. Apre il tuo browser: approva l’accesso lì e la CLI è pronta. Non c’è nessuna chiave API da copiare. Per script e CI, consulta Autenticazione della CLI.
3
Carica il tuo progetto
Dalla cartella del tuo progetto, esegui il comando qui sotto. La CLI comprime la cartella corrente, escludendo ciò che elenca Per caricare uno zip che hai creato tu, passalo con
squarecloud.ignore, e la carica:--file:4
Conferma che la tua app sia online
Il primo deploy richiede di solito meno di un minuto. Controlla lo stato e i log della tua applicazione direttamente dal terminale:Se hai fatto il deploy di un sito web o di un’API, apri
https://<tuo-sottodominio>.squareweb.app nel tuo browser: dovresti vedere la tua applicazione rispondere. Se hai fatto il deploy di un bot, invia un comando per confermare che sia online.
Testare il bot
Dopo il deploy, cerca il tuo bot su Telegram e inviagli un messaggio. Il bot risponde con lo stesso testo, a conferma che è in esecuzione.
Errori comuni
Error 409: Conflict: terminated by other getUpdates request
Un’altra copia del bot sta leggendo gli aggiornamenti con lo stesso token, ad esempio quella che hai avviato sul tuo computer. Telegram consegna gli aggiornamenti a una sola connessione di long polling per bot. Ferma l’altra copia, oppure revoca il token in BotFather se non sai dove è in esecuzione, poi imposta il nuovo token e riavvia il bot.Error 401: Unauthorized
Il token è sbagliato o è stato revocato. Copia il token attuale da BotFather, impostalo di nuovo e riavvia il bot.Token vuoto o KeyError: 'TELEGRAM_BOT_TOKEN'
La variabile TELEGRAM_BOT_TOKEN non è impostata: grammY si ferma con Empty token! e l’esempio Python si ferma con un KeyError. Imposta la variabile, come in Impostare il token del bot, e riavvia il bot.
Prossimi passi
L'app non si avvia
Risolvi moduli mancanti, errori di memoria e altri errori di avvio.
Variabili d'ambiente
Gestisci il token del tuo bot e gli altri segreti.
python-telegram-bot con aiohttp
Usi python-telegram-bot? Risolvi le frequenti eccezioni NetworkError.

