Ospitare un bot Discord 24/7 senza interruzioni
·
Gestore di processi, variabili d’ambiente, log e monitoraggio: l’architettura minima per un bot che non dorme mai.
Un bot che si spegne quando chiudi il PC non è un bot, è una demo. Ecco come ospitarlo nel modo giusto per una disponibilità reale, 24 ore su 24.
- Conserva il token in una variabile d'ambiente, mai nel codice.
- Affida il riavvio a un gestore di processi con ritardo crescente.
- Monitora la latenza del gateway e il tasso di errore dei comandi.
- Conserva i dati su un volume persistente e fai il backup del database ogni giorno.
Un runtime bloccato e i segreti fuori dal codice
Il classico primo incidente: il token del bot committato su GitHub, revocato da Discord in piena notte. Memorizzalo in una variabile d’ambiente, blocca la versione di Node.js o Python e versiona un file di esempio (.env.example) senza i valori.
- Non committare mai il token: solo variabili d’ambiente.
- Bloccare la versione del runtime (es. Node 22 LTS) per distribuzioni riproducibili.
- Documentare ogni variabile richiesta in un README.
- Per scegliere l’hosting, confrontare le offerte di hosting gratuito per bot Discord.
Un gestore di processi che riavvia in modo intelligente
PM2, systemd o Docker con una politica di riavvio: lo strumento conta meno della politica. Riavvia automaticamente in caso di crash, ma con un ritardo crescente (backoff) per non andare in loop su un errore di configurazione, e conserva i log persistenti per capire cosa è successo.
- Configurare un riavvio automatico con backoff esponenziale.
- Conservare i log fuori dal contenitore per diagnosticare i crash.
- Aggiungere un controllo di integrità: il bot risponde ancora ai comandi?
Monitorare ciò che conta davvero
Essere online non basta: un bot connesso ma che non risponde più alle interazioni è un bot guasto. Monitora la latenza del gateway Discord, il tasso di errori dei comandi e la memoria. Un semplice avviso (webhook, email) vale più di una dashboard che nessuno guarda.
- Monitorare la latenza del gateway Discord e il tasso di errore dei comandi.
- Avvisare in caso di disconnessioni ripetute e perdite di memoria.
- Conservare 7 giorni di log per l’analisi post-incidente.
Separare dati e codice
Non appena il bot memorizza qualcosa (livelli, economia, moderazione), questi dati devono sopravvivere a un nuovo deployment. Un database SQLite su volume persistente basta per iniziare, PostgreSQL subentra quando il bot cresce, con backup regolari in entrambi i casi. Per un bot sempre online senza tenere acceso il PC, scoprite l’hosting per bot Discord.
- Salvare i dati su un volume persistente, mai nell’immagine.
- Eseguire il backup del database ogni giorno su un’archiviazione esterna.
- Testare il ripristino prima di averne bisogno.
- Applicare la regola 3-2-1 ai backup del database.
Domande frequenti
Devo lasciare acceso il mio computer?
No. Il bot viene eseguito sull'infrastruttura ACLClouds e resta online indipendentemente dal tuo computer o dalla tua connessione.
Quali linguaggi sono supportati?
Sono disponibili Node.js, Bun, Python, C#, Go, Java, Rust e Lua, con MariaDB per i progetti che richiedono un database.
Dove conservare il token del mio bot?
Nelle variabili di avvio del pannello. Modifichi la configurazione senza pubblicare il token nel tuo codice sorgente.
Il mio bot si riavvia da solo dopo un crash?
Sì. Il processo si riavvia automaticamente in caso di arresto imprevisto e i log restano consultabili in tempo reale dal pannello.