Come ospitare un bot Discord: crea e implementa il tuo bot su VPS nel 2024

Aggiungere bot al tuo server Discord ti permette di automatizzare compiti e aggiungere nuove funzionalità. Sebbene ci siano molti bot di Discord popolari pronti all’uso, potrebbe essere necessario crearne uno per le tue esigenze specifiche.

In questo articolo, spiegheremo come ospitare un bot Discord con il piano di hosting del server privato virtuale di Hostinger. Prima, esploreremo i passaggi per sviluppare il tuo bot Discord da zero.

Quindi, spiegheremo come acquistare un piano di hosting VPS da Hostinger e configurare l’ambiente del server per il tuo bot Discord. Inoltre, imparerai come ottimizzare e monitorare le prestazioni del bot Discord.

Come creare un bot su Discord

Ospitare il tuo bot Discord personalizzato secondo le tue preferenze richiede che venga sviluppato manualmente. I passaggi possono variare a seconda della funzionalità del tuo bot e del linguaggio di programmazione, ma la procedura generale è simile.

1. Crea un account bot su Discord

Per iniziare a creare un bot Discord, crea un account Developer Portal. In questa piattaforma, creerai i bot, gestirai le loro impostazioni e genererai il link di autenticazione per invitarli al tuo server Discord.

Per creare un account Discord, vai alla pagina di registrazione. Ti collegherai automaticamente al nuovo account Discord se apri il Developer Portal. Quindi, segui questi passaggi:

  1. Nella barra laterale, fai clic su Applicazioni.
  2. Seleziona Nuova applicazione nell’angolo in alto a destra.
  3. Inserisci il tuo nome del bot e controlla la casella della politica sulla privacy. Clicca Crea.
  4. Cambia l’icona dell’app. Inserisci la Descrizione e i Tag. Fai clic su Salva modifiche per confermare.
  5. Copia l’ID dell’applicazione e salvalo sul tuo computer. Ne abbiamo bisogno più tardi per abilitare la modalità sviluppatore.
Pagina di gestione delle applicazioni del portale per sviluppatori Discord

Quindi, configura il tuo token bot: una chiave di autenticazione che consente alla tua applicazione di comunicare con l’API bot di Discord. Ecco come farlo:

  1. Naviga alla barra laterale → Bot.
  2. Cambia il nome utente del tuo bot.
  3. Clicca su Reimposta Token. Clicca Sì, fallo! per confermare.
  4. Copia il token del bot e salvalo sul tuo computer.

Inseriremo questo token nel codice sorgente del bot. Inoltre, tieni il codice al sicuro poiché la sua divulgazione potrebbe esporre il tuo bot e il server Discord a rischi di sicurezza.

Ora, abilita la modalità sviluppatore per bypassare il pagamento relativo agli SKU del tuo bot Discord. Ecco come farlo:

  1. Accedi alla tua applicazione Discord → Impostazioni utente Avanzate
  2. Attiva la modalità sviluppatore.
  3. Abilita l’interruttore Modalità test applicazione
  4. Inserisci il tuo Application ID. Imposta URL Origin Type come Localhost e Port Number come 8080.
  5. Clicca Attiva.
Interruttore della modalità sviluppatore nell'applicazione Discord

2. Imposta le autorizzazioni del bot

Dopo aver configurato l’applicazione, configura le autorizzazioni del tuo account bot Discord e il metodo di autenticazione. Ecco come farlo:

  1. Nella pagina Applicazioni, seleziona OAuth2 → Generale dalla barra laterale.
  2. Sotto il Link di autorizzazione predefinito, seleziona Autorizzazione in-app come metodo.
  3. Seleziona la casella bot .
  4. Seleziona le Autorizzazioni bot in base alle tue esigenze.
  5. Clicca Salva modifiche.
  6. Naviga alla barra laterale → OAuth2 → Generatore di URL.
  7. Controlla bot come l’ambito della tua applicazione.
  8. Ricontrolla le stesse caselle per i Permessi bot.
  9. Copia l’URL generato e salvalo sul tuo computer. Dovrebbe contenere l’ID cliente del tuo bot.

Importante! Evita di dare a un bot i permessi di amministratore, poiché può modificare le impostazioni del tuo server.

Inoltre, vai alla sezione Bot dalla barra laterale e concedi al bot Privileged Gateway Intents. Abilita tutti gli intent se non sei sicuro di quale utilizzerà il tuo bot. Tuttavia, tieni presente che concederà al bot l’accesso a vari dati di Discord.

Ora, apri il link di autenticazione utilizzando un browser web per invitare il bot al tuo server Discord e concedere le necessarie autorizzazioni.

La pagina di invito al bot Discord

Dal menu a discesa, seleziona il server in cui desideri aggiungere il bot e fai clic su Continua. Rivedi le autorizzazioni che concederai al bot. Se desideri revocare uno di essi, deseleziona le caselle. Quindi, fai clic su Autorizza per confermare.

3. Scegli un linguaggio di programmazione

JavaScript e Python sono linguaggi di programmazione popolari per creare un bot Discord. Sebbene puoi utilizzare C++, i wrapper dell’API di Discord disponibili supportano solo queste lingue.

I wrapper dell’API di Discord semplificano l’interazione tra il software e il tuo codice, rendendo lo sviluppo più facile. Poiché la lingua e l’involucro non influenzano la funzionalità del tuo bot, scegli uno in base alla tua familiarità e preferenze.

Per un principiante, consigliamo di utilizzare Python, uno dei migliori linguaggi di programmazione da imparare più semplici. È più facile da leggere e mantenere rispetto a JavaScript, semplificando il processo di debug. Useremo anche Python per questo tutorial.

Prima di procedere, scarica Python e un editor di codice. Quando scegli un editor di codice, opta per uno con funzionalità che aiutano a semplificare il tuo processo di programmazione, come l’evidenziazione della sintassi, il completamento automatico, il rilevamento degli errori e l’integrazione dei moduli.

Raccomandiamo Microsoft Visual Studio Code poiché è gratuito e offre varie funzionalità.

4. Programma il bot

Una volta che il software e gli strumenti sono pronti, crea una cartella per i file del tuo bot Discord. Quindi, apri VSCode per accedere alla cartella e creare file di lavoro:

  1. Clicca File → Apri cartella
  2. Naviga nella directory della tua nuova cartella. Seleziona la cartella e fai clic su Seleziona cartella.
  3. Vai alla barra laterale Esplora e fai clic sull’icona per aggiungere un nuovo file.
  4. Crea un file main.py per memorizzare tutti i codici del tuo bot. Per un bot avanzato, potrebbe essere necessario avere più file collegati a main.py.
  5. Crea un file .env per memorizzare il tuo token bot. Il tuo codice Python richiamerà questo file per autenticare la connessione all’API di Discord.

Importante! Lascia il nome del file .env vuoto. Altrimenti, il codice del bot non lo troverà e non leggerà la variabile di ambiente.

Interfaccia utente di Visual Studio Code

A seconda della funzionalità del tuo bot Discord, il codice varia. Per questo tutorial, ti mostreremo come creare un bot di Discord che risponde a un semplice comando:

# Import the required modules
import discord
import os
from discord.ext import commands
from dotenv import load_dotenv

# Create a Discord client instance and set the command prefix
intents = discord.Intents.all()
client = discord.Client(intents=intents)
bot = commands.Bot(command_prefix='!', intents=intents)

# Set the confirmation message when the bot is ready
@bot.event
async def on_ready():
print(f'Logged in as {bot.user.name}')
# Set the commands for your bot
@bot.command()
async def greet(ctx):
response = 'Hello, I am your discord bot'
await ctx.send(response)

@bot.command()
async def list_command(ctx):
response = 'You can use the following commands: \n !greet \n !list_command \n !functions'
await ctx.send(response)

@bot.command()
async def functions(ctx):
response = 'I am a simple Discord chatbot! I will reply to your command!'
await ctx.send(response)

# Retrieve token from the .env file
load_dotenv()
bot.run(os.getenv('TOKEN'))

Ecco la spiegazione di come funziona il frammento di codice:

  • Le parole chiave import recuperano il codice da un modulo e lo aggiungono al file del tuo bot, permettendoti di utilizzare una funzione senza scriverla manualmente. Ad esempio, importiamo la libreria Discord.py per abilitare il decoratore bot.command.
  • Definiamo le variabili che il codice utilizzerà. Nel nostro caso, sono le intents del bot Discord, il client e il bot.
  • Il decoratore @bot.event definisce gli eventi che attivano la funzione coroutine. Nel frammento, diamo istruzioni al bot per stampare un messaggio di conferma una volta che funziona correttamente.
  • Il decoratore @bot.command imposta il comando che attiva il bot. Determiniamo anche come e quando il bot risponde.
  • La funzione load_dotenv legge la variabile di ambiente dal file .env . In questo caso, recupera il token.
  • Utilizzando il metodo os.getenv , il codice estrae il valore del token e lo utilizza per eseguire il bot con il decoratore bot.run .

Oltre a rispondere ai comandi, puoi aggiungere funzionalità avanzate come il controllo vocale o il campo di input.

Nel file .env , incolla il seguente snippet. Sostituisci yourtoken con la chiave di autenticazione:

TOKEN=yourtoken

Per verificare se il tuo codice funziona correttamente, fai clic sul pulsante Esegui file Python in alto a destra su VSCode. Tuttavia, devi installare le dipendenze per far funzionare il bot.

Suggerimento professionale

Se ti trovi in un ambiente di squadra e stai continuamente aggiornando il bot Discord, ti consigliamo di creare un repository Git per semplificare il processo di sviluppo.

Come ospitare un bot su Discord

Ospita il tuo bot Discord per renderlo accessibile 24/7. Per questo tutorial, utilizzeremo un piano di hosting VPS di Hostinger in esecuzione su Ubuntu 22.04. Per altri fornitori di servizi di hosting e sistemi operativi, i passaggi potrebbero differire.

1. Ottieni l’hosting VPS

Sebbene tu possa creare un server di hosting per bot Discord sul tuo computer locale, il sistema deve funzionare 24/7. Può causare danni all’hardware nel lungo periodo e richiede molto sforzo per gestirlo.

Un servizio di hosting per bot Discord come un VPS è più comodo ed efficiente in termini di tempo. Il fornitore gestisce il server, permettendoti di concentrarti sullo sviluppo e l’ottimizzazione del tuo bot.

Tuttavia, scegliere può essere difficile poiché vari fornitori offrono server di hosting per bot Discord. Per scegliere il miglior hosting VPS per i bot di Discord, considera le loro caratteristiche, sicurezza, uptime e prezzo.

Dai un’occhiata al nostro tutorial sugli 11 miglior fornitori di hosting VPS per saperne di più sulle opzioni. Ad esempio, Hostinger offre piani di hosting VPS a partire da 5,49€/mese con varie funzionalità:

  • Snapshot. Gli utenti possono catturare lo stato attuale del loro server per un facile ripristino.
  • Hardware affidabile. Il VPS di Hostinger utilizza l’archiviazione SSD e una CPU ad alte prestazioni per garantire prestazioni ottimali e uptime.
  • Diversi data center. Gli utenti di Hostinger possono scegliere tra varie località dei data center per minimizzare la latenza.
  • Protezione DDoS. Il nostro VPS utilizza un firewall e un filtraggio del traffico integrato per la protezione DDoS.
  • Supporto SSH. Gli utenti possono connettersi al loro VPS utilizzando il protocollo secure shell (SSH) per gestire in modo efficiente il loro server remoto.
  • Accesso FTP. Tutti i piani VPS di Hostinger supportano FTP, permettendo agli utenti di trasferire facilmente i file tra i sistemi.
  • IP dedicato. Gli utenti ottengono un indirizzo IP dedicato per eliminare il limite di frequenza del server Cloudflare e Discord.

Man mano che diversi server invitano il tuo bot, hai bisogno di più risorse per gestire le richieste. Su Hostinger, i nostri piani VPS sono facilmente aggiornabili per garantire lo sviluppo del tuo bot Discord.

Dopo aver acquistato un piano di hosting da Hostinger, seleziona il tuo nuovo server dal menu VPS sulla barra superiore. Quindi, completa il processo di configurazione VPS di Hostinger tramite hPanel, il nostro pannello di controllo intuitivo creato su misura.

2. Configura l’ambiente VPS

La distribuzione del bot Discord su VPS richiede l’installazione dell’ambiente di hosting per garantire che il software necessario sia installato. Il software varia a seconda della lingua e della funzionalità del tuo bot.

Per un bot Discord.js, installa Node.js e Node Package Manager. Nel frattempo, ecco quello di cui hai bisogno per uno in Python:

  • Python interpreter. Un ambiente che converte il tuo codice Python in un formato leggibile dalla macchina, permettendo al tuo bot Discord di funzionare.
  • Pip package manager. Un sistema di gestione dei pacchetti utilizzato per installare moduli e dipendenze per la tua applicazione Python.
  • Virtualenv. Uno strumento per creare un ambiente privato virtuale isolato per la tua applicazione Python. Ti permette di evitare l’installazione dei pacchetti Python a livello globale, che potrebbero compromettere altri progetti.

Per installare i componenti, connettiti al tuo server utilizzando applicazioni SSH come PuTTY o Terminal. Gli utenti di Hostinger possono trovare le credenziali di accesso nella scheda Accesso SSH nel loro menu di panoramica VPS.

La sezione di accesso VPS su hPanel

Una volta connesso, esegui i seguenti comandi per aggiornare il tuo gestore di pacchetti e installare il software necessario per ospitare il tuo bot Discord:

sudo apt update
sudo apt upgrade
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt install python3 python3-dev python3-venv python3-pip -y

Quindi, segui questi passaggi per creare un ambiente virtuale per il tuo progetto Python:

  1. Esegui questo comando per creare una nuova cartella in cui archiviare i file:
sudo mkdir DiscordBot
  1. Cambia la directory corrente nella nuova cartella utilizzando questo comando:
cd DiscordBot
  1. Imposta il nuovo ambiente virtuale con l’argomento venv:
sudo python3 -m venv ./venv
  1. Attiva l’ambiente virtuale utilizzando il comando source :
source ./venv/bin/activate

La tua riga di comando dovrebbe ora iniziare con (venv). Se il comando source non viene trovato, naviga fino al percorso della directory ~/DiscordBot/venv/bin utilizzando il comando cd ed esegui quanto segue:

source activate
PuTTY che mostra la riga di comando venv

3. Carica il bot Discord

Dopo aver impostato l’ambiente virtuale, sposta i file del token e del bot nella nuova directory. Puoi farlo utilizzando il comando rsync, il protocollo scp , o un client SFTP.

Raccomandiamo l’uso di Secure File Transfer Protocol (SFTP) in quanto offre un’interfaccia grafica utente ed è più sicuro del FTP standard. L’interfaccia visiva rende il processo più semplice e accessibile ai principianti.

La dashboard principale del client FileZilla SFTP

Per questo tutorial, utilizzeremo FileZilla per trasferire i file tramite SFTP. Ecco i passaggi:

  1. Scarica e installa FileZilla.
  2. Apri FileZilla. Inserisci il tuo indirizzo IP del server, nome utente, password e numero di porta. Per impostazione predefinita, il numero di porta è 22.
  3. Clicca Quickconnect.
  4. Una volta connesso, localizza la nuova directory ./venv sotto la scheda Sito remoto.
  5. Drag e drop i file del bot dal tuo computer locale alla directory remota.

Aspetta fino a quando il processo è completo. Lo stato del trasferimento del file si trova nella casella sotto la scheda di connessione.

Quindi, torna al tuo client SSH o Terminal. Spostati nella directory del bot e installa tutte le dipendenze. In questa guida, installeremo il wrapper discord.py e dotenv utilizzando questo comando:

sudo pip install discord.py python-dotenv

Suggerimento professionale

Hai difficoltà a scrivere comandi bash o a gestire il tuo VPS Linux? Inserisci prompt AI per la gestione del VPS nell’assistant VPS di Hostinger per generare facilmente comandi o codice.

4. Avvia il bot

Per eseguire il bot, imposta la directory corrente sulla posizione del file main.py ed esegui il seguente comando. Se utilizzi un altro nome file, cambialo di conseguenza:

python3 main.py

Il terminale dovrebbe restituire il messaggio di conferma scritto nel file del bot, simile al seguente:

PuTTY che mostra che il bot Discord è in esecuzione correttamente

Se apri il server Discord dove si trova il bot, apparirà online. Per verificare se il tuo bot funziona correttamente, inserisci un comando e dovrebbe rispondere di conseguenza.

Tuttavia, questo bot è attivo solo nella tua sessione attuale. Se chiudi il client SSH o il Terminal, la sessione terminerà e spegnerà il bot. Puoi utilizzare diversi strumenti per mantenere il tuo bot in funzione:

  • Linux Screen. Uno strumento che permette agli utenti di creare più Terminal virtuali all’interno di una sessione. I processi dei Terminal virtuali continuano a funzionare in background dopo che hai chiuso la sessione e ti sei disconnesso dal server.
  • tmux. Il Multiplexer di Terminal funziona in modo simile a Screen, permettendo agli utenti di creare sessioni virtuali ed eseguire processi in background. È più facile da usare rispetto a Screen, ma manca di alcune funzionalità ed è meno stabile.
  • PM2. Un gestore di processi di applicazioni Node.js che mantiene costantemente in esecuzione la tua applicazione. È nativo di JavaScript ma funziona con altri linguaggi di programmazione, incluso Python.
  • Docker. Uno strumento di containerizzazione che trasforma il tuo bot Discord in un daemon. Permette al tuo bot di funzionare in background e di riavviarsi automaticamente dopo un guasto del sistema.

In questa guida, utilizzeremo Linux Screen, che è il più semplice e compatibile con diversi ambienti. Ecco i passaggi per installare e utilizzare Screen per eseguire il tuo bot Discord su VPS Ubuntu:

  1. Su Terminal o applicazione SSH, esegui questo comando per installare Screen:
sudo apt-get install screen
  1. Esegui questo comando per creare una nuova sessione:
screen
  1. Usa questo comando nel Terminal virtuale per cambiare la directory di lavoro:
cd /DiscordBot/venv
  1. Avvia il tuo bot Discord utilizzando quanto segue:
python3 main.py
  1. Una volta che il bot è in funzione, premi Ctrl + A + D per scollegare la sessione Screen.

Importante! Per i derivati di Red Hat Enterprise Linux (RHEL) come AlmaLinux e CentOS, usa yum invece di apt per installare Screen.

Ora, la sessione rimarrà attiva in background dopo essersi disconnessi dal server. Per riconnettersi a Screen, apri il tuo Terminal o l’applicazione SSH e inserisci:

screen -r

Screen ti permette di creare molteplici sessioni per far funzionare altri bot di Discord utilizzando questo comando:

screen -S session1

Sostituisci session1 con il nome della tua sessione. Usa un nome descrittivo per aiutarti a identificarli e al loro processo facilmente. Per elencare le sessioni dell’utente corrente, utilizza quanto segue:

screen -ls

5. Monitora e mantieni le prestazioni del bot

Dopo aver implementato il bot di Discord, monitoralo regolarmente per garantire prestazioni ottimali. Inoltre, ti aiuta a individuare rapidamente potenziali problemi prima che influiscano sull’usabilità del tuo bot.

Il primo compito di monitoraggio consiste nell’abilitare il modulo logging di Python per tracciare gli eventi e gli errori del tuo bot Discord. Fornisce intuizioni sulla funzionalità del tuo bot per una più facile risoluzione dei problemi e debugging.

Ad esempio, aggiungi il seguente frammento di codice al tuo file bot per registrare gli errori di esecuzione dei comandi in un file bot.log e nel server Discord:

# Import the Python logging module
import logging
# Set the logging settings
logging.basicConfig(level=logging.INFO,
format='[%(asctime)s] [%(levelname)s]: %(message)s',
handlers=[
logging.FileHandler('bot.log'), # Save logs to a file
logging.StreamHandler() # Display logs in the console
])

Quindi, aggiungi il seguente decoratore bot.event per stampare il messaggio di errore sul tuo server Discord:

# Set what the bot does when encountering an error
@bot.event
async def on_command_error(ctx, error):
error_message = f’Error occurred while processing command: {error}’
logging.error(error_message)
await ctx.send(error_message)

Inoltre, utilizza strumenti come UptimeRobot per il monitoraggio dell’uptime del bot Discord. Per monitorare il suo utilizzo e l’attività, utilizza uno strumento di monitoraggio delle prestazioni dell’applicazione (APM) come Grafana. Poiché il processo di configurazione di ogni strumento differisce, controlla il loro manuale per le istruzioni.

Inoltre, monitora l’utilizzo dell’hardware del tuo VPS per assicurarti che il bot abbia abbastanza risorse per funzionare in modo ottimale. Diverse metriche importanti da monitorare includono l’utilizzo della CPU, il consumo di RAM, il carico di archiviazione e le condizioni della rete.

Se il tuo server non ha un pannello di controllo, usa il psutil di Python o comandi Linux come vmstat. Questi metodi non offrono un’interfaccia grafica utente (GUI), rendendo il processo complicato e non adatto ai principianti.

Funzionalità di monitoraggio dell'utilizzo del server VPS di hPanel

I fornitori di servizi di hosting web solitamente forniscono un pannello di controllo per monitorare l’utilizzo del loro server. Ad esempio, Hostinger offre una funzionalità di monitoraggio dell’utilizzo delle risorse VPS su hPanel.

Consigliamo di inviare la tua applicazione a un sito di elenchi di bot come top.gg per renderla accessibile ad altri utenti Discord.

Conclusioni

Invitare bot al tuo server Discord ti permette di aggiungere nuove funzionalità e semplificare i compiti di moderazione. Sebbene siano disponibili molti bot Discord pre-programmati, potrebbe essere necessario crearne uno personalizzato per il tuo caso d’uso particolare.

In questo articolo, abbiamo spiegato i passaggi per creare e ospitare un bot Discord su Linux VPS. Ecco il recap:

  1. Crea un account Discord e un’applicazione nel portale degli sviluppatori.
  2. Imposta le autorizzazioni del bot e invitalo sul tuo server Discord.
  3. Scegli un linguaggio di programmazione e un IDE.
  4. Scrivi il tuo codice per il bot Discord.
  5. Acquista un servizio di hosting per bot Discord, come il VPS di Hostinger.
  6. Installa le dipendenze per configurare l’ambiente del server di hosting.
  7. Carica i file del bot e del token tramite SFTP.
  8. Avvia il tuo bot Discord e usa Screen per mantenerlo in funzione 24/7.
  9. Monitora e mantieni le prestazioni del bot.

Speriamo che questo articolo ti abbia aiutato a sviluppare e ospitare il tuo bot Discord. Se hai qualche domanda, lascia un commento qui sotto. Buona fortuna!

FAQ su come ospitare un bot Discord

In questa sezione, risponderemo a diverse domande comuni riguardo allo sviluppo personalizzato e all’hosting di bot Discord.

Cos’è un bot di Discord?

I bot di Discord sono applicazioni che puoi invitare sul tuo server per eseguire specifiche operazioni. Esempi popolari includono bot per la programmazione, la moderazione e la musica. Siti bot come top.gg hanno quelli pre-costruiti pronti all’uso. Tuttavia, potresti voler creare e ospitare il tuo bot Discord da zero.

Come scegliere il giusto VPS hosting per il mio bot Discord?

Per scegliere il giusto servizio di hosting per bot Discord, considera le risorse del server, la sicurezza, il servizio clienti e le funzionalità integrate. Ad esempio, il VPS di Hostinger offre funzionalità come assistenza 24/7, supporto SSH e protezione DDoS. Ha una garanzia di uptime del 99,9% per assicurare che il tuo bot Discord sia costantemente in funzione.

Quale linguaggio di programmazione dovrei usare per costruire il mio bot Discord?

Puoi programmare un bot di Discord utilizzando JavaScript o Python. Dato che la lingua non influisce sulla funzionalità del bot, scegline una in base alla tue competenze e preferenze. Per i principianti, raccomandiamo Python poiché è più facile da imparare, leggere e mantenere rispetto a JavaScript, semplificando il processo di sviluppo del bot.

Posso eseguire più bot di Discord sullo stesso server?

Sì, puoi ospitare più bot sullo stesso server purché abbia sufficiente spazio di archiviazione e potenza di elaborazione. In caso contrario, i tuoi bot rallenteranno o andranno offline. Inoltre, potrebbe essere necessario utilizzare un container o un ambiente virtuale per evitare problemi di incompatibilità tra i bot.

Author
L'autore

Michela Z.

Michela si focalizza sul condividere le sue conoscenze di hosting e marketing digitale e sull'aiutare le aziende ad avere successo online, con un particolare interesse per la creazione di siti web e di e-commerce. Nel suo tempo libero le piace sedersi davanti un buon libro e ascoltare musica.