NodeJS‱15 dicembre 2025‱ 160 visualizzazioni

Come ospitare un bot Discord (discord.js) su OuiPanel

Come ospitare un bot Discord (discord.js) su OuiPanel

Tempo stimato : 15 minuti
Difficoltà : Intermedia ⭐⭐
Tipo di server : Node.js


📋 Introduzione

Questa guida ti spiega come ospitare un bot Discord sviluppato con discord.js (JavaScript/Node.js) su OuiPanel. Il tuo bot sarĂ  online 24 ore su 24, 7 giorni su 7.

Di cosa hai bisogno

Prerequisiti Descrizione
đŸ€– Un bot Discord Creato sul Portale Sviluppatori Discord
🔑 Il token del bot Chiave segreta per connettere il tuo bot
📁 I file del bot Il tuo codice sorgente (index.js, package.json, ecc.)
đŸ’» Un server Node.js Ordinato su OuiHeberg

đŸ€– Passo 1 : Creare il Bot su Discord (se non giĂ  fatto)

Se hai giĂ  il tuo bot e il suo token, passa al passo 2.

Creare l'applicazione

  1. Vai al Portale Sviluppatori Discord
  2. Accedi con il tuo account Discord
  3. Clicca su Nuova Applicazione
  4. Dai un nome alla tua applicazione (es: "Il Mio Bot")
  5. Clicca su Crea

Immagine


Creare il bot

  1. Nel menu a sinistra, clicca su Bot
  2. Clicca su Aggiungi Bot poi SĂŹ, fallo!
  3. Il tuo bot Ăš stato creato!

[Screenshot: Sezione Bot con il pulsante Aggiungi Bot]


Recuperare il Token

  1. Nella sezione Bot, clicca su Reimposta Token
  2. Conferma e copia il token visualizzato
  3. Conserva questo token segreto! Non condividerlo mai.

Immagine

⚠ Importante : Il token Ăš come una password. Se qualcuno lo ottiene, puĂČ controllare il tuo bot. Non metterlo mai in codice pubblico (GitHub, ecc.).


Attivare gli Intents

  1. Ancora nella sezione Bot, scorri fino a Privileged Gateway Intents
  2. Attiva gli intents necessari :
    • ✅ PRESENCE INTENT (opzionale)
    • ✅ SERVER MEMBERS INTENT (opzionale)
    • ✅ MESSAGE CONTENT INTENT (richiesto per leggere i messaggi)

Immagine

⚠ Importante : Senza MESSAGE CONTENT INTENT, il tuo bot non potrĂ  leggere il contenuto dei messaggi.


Invitare il bot sul tuo server

  1. Nel menu a sinistra, clicca su OAuth2 → Generatore URL
  2. In Scopes, seleziona bot e applications.commands
  3. In Permessi Bot, seleziona i permessi necessari (o Administrator per tutto)
  4. Copia l'URL generato in basso
  5. Apri questo URL e invita il bot sul tuo server Discord

Immagine


📁 Passo 2 : Preparare i File del Bot

Struttura dei file

Il tuo bot deve avere questa struttura :

📁 MonBot/
├── 📄 index.js         ← File principale (o bot.js, main.js...)
├── 📄 package.json     ← Dipendenze npm
├── 📄 .env             ← Token del bot (creato sul server)
├── 📁 commands/        ← (Opzionale) Cartella dei comandi
└── 📁 events/          ← (Opzionale) Cartella degli eventi

File package.json

Crea un file package.json con le dipendenze discord.js e dotenv :

{
  "name": "il-mio-bot-discord",
  "version": "1.0.0",
  "description": "Il mio bot Discord",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "discord.js": "^14.14.1",
    "dotenv": "^16.3.1"
  }
}

💡 Adatta "main": "index.js" in base al nome del tuo file principale (bot.js, main.js, ecc.).


File principale (index.js)

Crea il tuo file principale con dotenv per caricare il token :

// Carica le variabili d'ambiente da .env
require('dotenv').config();

const { Client, GatewayIntentBits } = require('discord.js');

// Creazione del client Discord
const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.MessageContent
    ]
});

// Evento : Bot pronto
client.once('ready', () => {
    console.log(`✅ Bot connesso come ${client.user.tag}`);
});

// Evento : Messaggio ricevuto
client.on('messageCreate', message => {
    if (message.author.bot) return;
    
    // Usa il prefisso da .env (opzionale)
    const prefix = process.env.PREFIX || '!';
    
    if (message.content === `${prefix}ping`) {
        message.reply('🏓 Pong !');
    }
});

// Gestione degli errori
process.on('unhandledRejection', error => {
    console.error('Errore non gestito:', error);
});

client.on('error', error => {
    console.error('Errore Discord:', error);
});

// Connessione con il token da .env
client.login(process.env.DISCORD_TOKEN);

⚠ Importante : require('dotenv').config(); deve essere la prima riga del tuo file.


đŸ“€ Passo 3 : Caricare i File su OuiPanel

Via il Gestore di File

  1. Accedi a OuiPanel
  2. Seleziona il tuo server Node.js
  3. Nel menu laterale, clicca su Gestore di file

  1. Elimina i file di default (se ce ne sono)
  2. Clicca su Invia (Carica)
  3. Carica i tuoi file :
    • index.js (o bot.js, main.js...)
    • package.json
    • Le tue cartelle (commands/, events/...) se necessario

Immagine

⚠ Non caricare : Il file .env sarĂ  creato direttamente sul server nel passo successivo.


Via SFTP (Consigliato per piĂč file)

  1. Accedi in SFTP con FileZilla
  2. Trascina e rilascia tutto il contenuto della tua cartella bot
  3. Verifica che tutti i file siano stati caricati correttamente

📖 Consulta la guida "Accesso SFTP con FileZilla" per istruzioni dettagliate.


🔑 Passo 4 : Creare il File .env (Token)

Non mettere mai il tuo token direttamente nel codice! Crea un file .env sul server.

Creare il file .env

  1. Nel Gestore di file, clicca su Nuovo file
  2. Nominalo .env (con il punto davanti)
  3. Aggiungi il seguente contenuto :
# Token del bot Discord
DISCORD_TOKEN=il_tuo_token_qui

# Prefisso dei comandi (opzionale)
PREFIX=!

Immagine

  1. Clicca su Crea o Salva

Esempio con il tuo vero token :

DISCORD_TOKEN=MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.ABcdEF.abcdefghijklmnopqrstuvwxyz123456
PREFIX=!

⚠ Importante :

  • Nessuno spazio attorno al =
  • Nessuna virgolette attorno ai valori
  • Non condividere mai questo file

Struttura finale sul server

📁 Radice del server/
├── 📄 .env              ← Contiene DISCORD_TOKEN
├── 📄 index.js          ← Il tuo codice
├── 📄 package.json      ← Dipendenze
└── 📁 node_modules/     ← (creato automaticamente)

⚙ Passo 5 : Configurare il File di Avvio

OuiPanel deve sapere quale file eseguire all'avvio.

Accedere alle impostazioni

  1. Nel menu laterale, clicca su Configurazione
  2. Clicca su Impostazioni del server

Immagine


Configurare il file da eseguire

Trova il campo File da eseguire (o Main File / Startup File) :

Immagine

Il tuo file principale Valore da inserire
index.js index.js
bot.js bot.js
main.js main.js
src/index.js src/index.js
app.js app.js

⚠ Importante : Il nome deve corrispondere esattamente al tuo file (sensibile al maiuscolo/minuscolo).


🚀 Passo 6 : Avviare il Bot

Avviare il server

  1. Nel menu laterale, clicca su Console
  2. Clicca su Avvia

Installazione automatica delle dipendenze

Al primo avvio, il server esegue automaticamente npm install :

> npm install
added 45 packages in 3s

> node index.js
✅ Bot connesso come MonBot#1234

Immagine

✅ Passo 7 : Verificare che il Bot Funzioni

Nella Console OuiPanel

Dovresti vedere :

✅ Bot connesso come MonBot#1234

Su Discord

  1. Apri Discord
  2. Il tuo bot dovrebbe apparire online (punto verde)
  3. Prova un comando : !ping
  4. Il bot risponde : 🏓 Pong !

Immagine


🔧 Risoluzione dei problemi

Il bot non si avvia

❌ Errore ✅ Soluzione
Cannot find module 'discord.js' Controlla package.json e riavvia
Cannot find module 'dotenv' Aggiungi dotenv in package.json
Error: Cannot find module './index.js' File di avvio configurato in modo errato
ENOENT: no such file or directory Il file specificato non esiste

Errore di Token

❌ Errore ✅ Soluzione
An invalid token was provided Controlla il token in .env
TOKEN_INVALID Rigenera il token sul portale Discord
Used disallowed intents Attiva gli intents sul portale Discord

Il bot non legge i messaggi

❌ Causa ✅ Soluzione
MESSAGE CONTENT INTENT disattivato Attivalo sul portale Discord
Intents errati nel codice Aggiungi GatewayIntentBits.MessageContent

Il file .env non viene letto

❌ Causa ✅ Soluzione
dotenv non installato Controlla che sia in package.json
require mal posizionato require('dotenv').config(); deve essere la prima riga
File mal nominato Il file deve chiamarsi esattamente .env

npm install fallisce

❌ Errore ✅ Soluzione
package.json not found Controlla che il file sia nella radice
ERESOLVE unable to resolve Aggiorna le versioni in package.json

🔒 Sicurezza del file .env

✅ Da fare ❌ Da non fare
Tenere il .env solo sul server Condividere il .env
Creare il .env direttamente su OuiPanel Caricare il .env dal tuo PC
Aggiungere .env al .gitignore Commettere il .env su GitHub

File .gitignore consigliato :

# Variabili d'ambiente
.env

# Moduli Node
node_modules/

💡 Buone Pratiche

Sicurezza

  • ✅ Non condividere mai il tuo token
  • ✅ Crea il .env direttamente sul server
  • ✅ Rigenera il token se compromesso

Performance

  • ✅ Attiva solo gli intents necessari
  • ✅ Gestisci gli errori con try/catch
  • ✅ Aggiungi dei log per il debugging

📂 Struttura Avanzata (Consigliata)

Per un bot piĂč organizzato :

📁 MonBot/
├── 📄 index.js              ← Punto d'ingresso
├── 📄 package.json
├── 📄 .env                  ← Creato sul server
├── 📁 commands/
│   ├── 📄 ping.js
│   ├── 📄 help.js
│   └── 📄 info.js
├── 📁 events/
│   ├── 📄 ready.js
│   └── 📄 messageCreate.js
└── 📄 config.json           ← Configurazione non sensibile

📝 Riepilogo

1. Creare il bot sul Portale Sviluppatori Discord
2. Recuperare il Token e attivare gli Intents
3. Preparare i file (index.js + package.json con dotenv)
4. Caricare i file su OuiPanel (senza il .env)
5. Creare il file .env sul server con il token
6. Configurare il file di avvio (index.js, bot.js...)
7. Avviare il server
8. Verificare che il bot sia online su Discord

Hai bisogno di un hosting Node.js?

Distribuisci le tue applicazioni Node.js con il nostro hosting ottimizzato e supporto dedicato.

Vedi le offerte