Discord ha un'API eccellente per scrivere 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 linguaggi popolari che lo rendono molto facile da fare. Useremo il più popolare, discord.js.
RELAZIONATO: Come creare, configurare e gestire il tuo server Discord
Iniziare
Vai al portale bot di Discord e crea una nuova applicazione.
Ti consigliamo di prendere nota dell'ID cliente e del segreto (che dovresti tenere segreto, ovviamente). Tuttavia, questo non è il bot, solo l '”Applicazione”. Dovrai aggiungere il bot nella scheda “Bot”.
Prendi nota anche di questo token e tienilo segreto. Non affidare in nessun caso questa chiave a Github. Il tuo bot verrà hackerato quasi immediatamente.
Installa Node.js e ottieni codifica
Per eseguire il codice Javascript all'esterno di una pagina Web, è necessario Nodo. Scaricalo, installalo e assicurati che funzioni in un terminale (o Prompt dei comandi, poiché tutto ciò dovrebbe funzionare su sistemi Windows). Il comando predefinito è “nodo”.
Raccomandiamo inoltre di installare lo strumento nodemon. È un'app da riga di comando che monitora il codice del tuo bot e si riavvia automaticamente alle modifiche. È possibile installarlo eseguendo il comando seguente:
npm i -g nodemon
Avrai bisogno di un editor di testo. Puoi semplicemente usare il blocco note, ma ti consigliamo Atom o VSC.
Ecco il nostro “Hello World”:
const Discord = require('discord.js'); const client = new Discord.Client(); client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`); }); client.on('message', msg => { if (msg.content === 'ping') { msg.reply('pong'); } }); client.login('token');
Questo codice è preso dall'esempio discord.js. Smettiamolo.
- Le prime due righe servono per configurare il client. La riga uno importa il modulo in un oggetto chiamato “Discord” e la riga due inizializza l'oggetto client.
- Il
client.on('ready')
il blocco si attiverà all'avvio del bot. Qui, è appena configurato per registrare il suo nome sul terminale. - Il
client.on('message')
il blocco verrà attivato ogni volta che un nuovo messaggio viene pubblicato su qualsiasi canale. Ovviamente, dovrai controllare il contenuto del messaggio, ed è quello cheif
il blocco lo fa. Se il messaggio dice solo “ping”, allora risponderà con “Pong!” - L'ultima riga 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 tuo token in fondo e salvalo come index.js
in una cartella dedicata.
Come eseguire il Bot
Vai al tuo terminale ed esegui il seguente comando:
nodemon --inspect index.js
Questo avvia lo script e attiva anche il debugger di Chrome, a cui puoi accedere digitando chrome://inspect/
in Chrome Omnibar e quindi aprendo “devtools dedicati per Node”.
Ora, dovrebbe solo dire “Accesso eseguito come
Quindi, cosa compone questo oggetto messaggio? Molte cose, in realtà:
In particolare, hai le informazioni sull'autore e sul canale, a cui puoi accedere con msg.author e msg.channel. Consiglio questo metodo di registrazione degli oggetti nei devtools di Chrome Node e mi guardo intorno per vedere cosa lo fa funzionare. Potresti trovare qualcosa di interessante. Qui, ad esempio, il bot registra le sue risposte sulla console, quindi si innescano le risposte del bot client.on('message')
. Quindi, ho fatto uno spambot:
Nota: Fai attenzione, poiché non vuoi davvero affrontare la ricorsione.
Come aggiungere il Bot al tuo server
Questa parte è più dura di quanto dovrebbe essere. Devi prendere questo URL:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Sostituisci CLIENTID con l'ID client del tuo bot, che si trova nella scheda Informazioni generali della pagina dell'applicazione. Una volta fatto questo, puoi dare il link ai tuoi amici per far sì che anche loro aggiungano il bot ai loro server.
Bene, quindi che altro posso fare?
Oltre alla configurazione di base, tutto il resto dipende interamente da te. Ma questo non sarebbe un gran tutorial se ci fermassimo al ciao mondo, quindi andiamo oltre un po 'della documentazione, in modo da avere un'idea migliore di ciò che è possibile. Ti suggerisco di leggere il più possibile, in quanto è ben documentato.
Consiglierei di aggiungere console.log(client)
all'inizio del 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 di Guilds
oggetto mappa. In quell'oggetto si trovano le singole Gilde (che è il nome dell'API per “server”) e quegli oggetti di gilda hanno elenchi di canali che contengono tutte le informazioni e gli elenchi di messaggi. L'API è molto approfondita e potrebbe richiedere del tempo per l'apprendimento, ma almeno è facile da configurare e iniziare a studiare.