Homepage » come » Come creare il tuo Discord Bot

    Come creare il tuo Discord Bot

    Discord ha un'eccellente API per la scrittura di bot personalizzati e una comunità di bot molto attiva. Oggi daremo un'occhiata a come iniziare a crearne uno tuo.

    Avrai bisogno di un po 'di conoscenza della programmazione per codificare un bot, quindi non è per tutti, ma per fortuna ci sono alcuni moduli per le lingue popolari che lo rendono molto facile da fare. Useremo il più popolare, discord.js.

    Iniziare

    Vai al portale bot di Discord e crea una nuova applicazione.

    Dovrai prendere nota dell'ID cliente e del segreto (che ovviamente dovresti mantenere un segreto, ovviamente). Tuttavia, questo non è il bot, ma solo l'applicazione. Dovrai aggiungere il bot nella scheda "Bot".

    Prendi nota di questo token e tienilo segreto. In nessuna circostanza, non impegnare questa chiave per Github. Il tuo bot verrà hackerato quasi immediatamente.

    Installa Node.js e ottieni la codifica

    Per eseguire il codice JavaScript al di fuori di una pagina Web, è necessario Nodo. Scaricalo, installalo e assicurati che funzioni in un terminale (o Prompt dei comandi, poiché tutto ciò dovrebbe funzionare sui sistemi Windows). Il comando predefinito è "nodo".

    Si consiglia inoltre di installare lo strumento nodemon. È una app a linea di comando che controlla il codice del tuo bot e si riavvia automaticamente alle modifiche. Puoi installarlo eseguendo il seguente comando:

    npm i -g nodemon

    Avrai bisogno di un editor di testo. Potresti semplicemente usare il blocco note, ma raccomandiamo Atom o VSC.

    Ecco il nostro "Hello World":

    const Discord = require ('discord.js'); const client = new Discord.Client (); client.on ('ready', () => console.log ('Collegato come $ client.user.tag!');); client.on ('message', msg => if (msg.content === 'ping') msg.reply ('pong');); client.login ( 'token');

    Questo codice è preso dall'esempio discord.js. Scopriamolo.

    • Le prime due righe sono per configurare il client. La prima linea importa il modulo in un oggetto chiamato "Discord" e la riga due inizializza l'oggetto client.
    • Il client.on ( 'pronto') il blocco si attiverà all'avvio del bot. Qui, è appena configurato per registrare il suo nome sul terminale.
    • Il client.on ( 'messaggio') il blocco si attiva ogni volta che un nuovo messaggio viene pubblicato su qualsiasi canale. Naturalmente, dovrai controllare il contenuto del messaggio, e questo è ciò che Se il blocco fa. Se il messaggio dice solo "ping", allora risponderà con "Pong!"
    • L'ultima linea accede con il token dal portale bot. Ovviamente, il token nello screenshot qui è falso. Non pubblicare mai il tuo token su Internet.

    Copia questo codice, incolla il token in basso e salvalo come index.js in una cartella dedicata.

    Come eseguire il Bot

    Dirigiti al tuo terminale ed esegui il seguente comando:

    nodemon --inspect index.js

    Questo avvia lo script e avvia anche il debugger di Chrome, a cui puoi accedere digitando chrome: // ispezionare /  in Omnibar di Chrome e poi aprendo "devtools dedicati per Nodo".

    Ora, dovrebbe solo dire "Connesso come", ma qui ho aggiunto una riga che registrerà tutti gli oggetti messaggio ricevuti nella console:

    Quindi, cosa costituisce questo oggetto messaggio? Un sacco di cose, in realtà:

    In particolare, hai le informazioni sull'autore e le informazioni sul canale, a cui puoi accedere con msg.author e msg.channel. Raccomando questo metodo di registrazione degli oggetti ai devtools del Nodo Chrome, e guardandoci attorno per vedere cosa lo fa funzionare. Potresti trovare qualcosa di interessante. Qui, ad esempio, il bot registra le sue risposte alla console, così le risposte del bot si innescano client.on ( 'messaggio'). Quindi, ho creato uno spambot:

    Nota: Stai attento con questo, perché non vuoi davvero affrontare la ricorsione.

    Come aggiungere il Bot al tuo server

    Questa parte è più difficile di quanto dovrebbe essere. Devi prendere questo URL:

    https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot

    E sostituire CLIENTID con l'ID client del proprio bot, che si trova nella scheda delle informazioni generali della pagina dell'applicazione. Una volta fatto questo, puoi dare il link ai tuoi amici per fare in modo che aggiungano il bot ai loro server.

    Bene, quindi che altro posso fare?

    Oltre la configurazione di base, qualsiasi altra cosa dipende interamente da te. Ma questo non sarebbe più un tutorial se ci fermassimo al ciao mondo, quindi esaminiamo parte della documentazione, in modo da avere un'idea migliore di ciò che è possibile. Ti suggerisco di leggere il più possibile, in quanto è molto ben documentato.

    Consiglierei di aggiungere console.log (client) all'inizio del tuo codice e dando un'occhiata all'oggetto client nella console:

    Da qui, puoi imparare molto. Poiché è possibile aggiungere un bot a più server contemporaneamente, i server fanno parte del Gilde oggetto della mappa. In quell'oggetto ci sono le singole Gilde (che è il nome dell'API per "server") e quegli oggetti gilda hanno liste di canali che contengono tutte le informazioni e gli elenchi di messaggi. L'API è molto profonda e potrebbe richiedere del tempo per apprendere, ma almeno è facile da configurare e iniziare a imparare.