Com fer que el vostre propi bot Discord

Discord té una excel·lent API per escriure bots personalitzats i una comunitat de robots molt activa. Avui veurem com començar a fer el vostre.

Necessitareu una mica de coneixement de programació per codificar un bot, de manera que no és per a tothom, però per sort hi ha alguns mòduls per a llenguatges populars que ho fan molt fàcil. Farem servir la versió més popular, discord.js.

RELACIONATS:Com es crea, es configura i es gestiona el servidor Discord

Començant

Aneu al portal de bot de Discord i creeu una aplicació nova.

Voldreu fer una nota de l’identificador i el secret del client (que, per descomptat, hauríeu de mantenir en secret). Tanmateix, aquest no és el bot, només l '"aplicació". Haureu d'afegir el bot a la pestanya "Bot".

Anoteu també aquest testimoni i mantingueu-lo en secret. En cap cas, confieu aquesta clau a Github. El bot es piratejarà gairebé immediatament.

Instal·leu Node.js i obteniu codificació

Per executar el codi Javascript fora d’una pàgina web, necessiteu Node. Baixeu-lo, instal·leu-lo i assegureu-vos que funcioni en un terminal (o símbol del sistema, ja que tot això hauria de funcionar en sistemes Windows). L'ordre per defecte és "node".

També us recomanem que instal·leu l'eina nodemon. És una aplicació de línia d’ordres que controla el codi del bot i es reinicia automàticament en fer canvis. Podeu instal·lar-lo executant l'ordre següent:

npm i -g nodemon

Necessitareu un editor de text. Podeu utilitzar el bloc de notes, però us recomanem Atom o VSC.

Aquí teniu el nostre "Hello World":

const Discord = require ('discord.js'); client client = nova Discord.Client (); client.on ('ready', () => {console.log (`Iniciat la sessió com a $ {client.user.tag}!`);}); client.on ('message', msg => {if (msg.content === 'ping') {msg.reply ('pong');}}); client.login ('testimoni');

Aquest codi està extret de l'exemple discord.js. Desglossem-ho.

  • Les dues primeres línies són per configurar el client. La primera línia importa el mòdul a un objecte anomenat "Discord" i la segona línia inicialitza l'objecte client.
  • El client.on ('llest') El bloc s'executarà quan s'iniciï el bot. Aquí només està configurat per registrar el seu nom al terminal.
  • El client.on ('missatge') El bloc s'executarà cada vegada que es publiqui un missatge nou a qualsevol canal. Per descomptat, haureu de comprovar el contingut del missatge, i això és el que si bloc fa. Si el missatge només diu "ping", respondrà amb "Pong!"
  • La darrera línia inicia la sessió amb el testimoni del portal bot. Obbviament, el testimoni de la captura de pantalla aquí és fals. No publiqueu mai el vostre testimoni a Internet.

Copieu aquest codi, enganxeu-lo a la part inferior i deseu-lo com a index.js en una carpeta dedicada.

Com executar el bot

Aneu al vostre terminal i executeu l'ordre següent:

nodemon --inspect index.js

Això engega l'script i també activa el depurador de Chrome, al qual podeu accedir escrivint crom: // inspeccionar / a Omnibar de Chrome i després obrir "eines devto dedicades per a Node".

Ara només hauria de dir "Iniciat la sessió com a", però aquí he afegit una línia que registrarà tots els objectes de missatge rebuts a la consola:

Llavors, què compon aquest objecte de missatge? De fet, hi ha moltes coses:

El més destacat és que teniu la informació de l'autor i la informació del canal, a les quals podeu accedir amb msg.author i msg.channel. Recomano aquest mètode per registrar objectes als devtools Chrome Node i simplement mirar al seu voltant per veure què fa que funcioni. És possible que trobeu alguna cosa interessant. Aquí, per exemple, el bot registra les seves respostes a la consola, de manera que les respostes del bot es desencadenen client.on ('missatge'). Per tant, vaig fer un spam:

Nota: Aneu amb compte amb això, ja que realment no voleu tractar la recursivitat.

Com afegir el bot al servidor

Aquesta part és més dura del que hauria de ser. Heu de prendre aquest URL:

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

I substituïu CLIENTID per l'identificador de client del vostre bot, que es troba a la pestanya d'informació general de la pàgina de l'aplicació. Un cop fet això, però, podeu donar l'enllaç als vostres amics perquè també afegeixin el bot als seus servidors.

Molt bé, doncs, què més puc fer?

Més enllà de la configuració bàsica, qualsevol altra cosa depèn completament de vosaltres. Però, això no seria un tutorial si ens aturéssim a hola world, així que repassem part de la documentació perquè tingueu una millor idea del que és possible. Us proposo que llegiu tot el que pugueu, ja que està molt ben documentat.

Recomanaria afegir console.log (client) fins a l'inici del codi i fent una ullada a l'objecte client de la consola:

A partir d’aquí es pot aprendre molt. Com que podeu afegir un bot a diversos servidors alhora, els servidors formen part del fitxer Gremis objecte de mapa. En aquest objecte hi ha els gremis individuals (que és el nom de l'API per a "servidor") i aquests objectes del gremi tenen llistes de canals que contenen tota la informació i llistes de missatges. L’API és molt profunda i pot trigar una estona a aprendre, però almenys és fàcil de configurar i començar a aprendre.


$config[zx-auto] not found$config[zx-overlay] not found