Página principal » cómo » Cómo hacer tu propio bot de discordia

    Cómo hacer tu propio bot de discordia

    Discord tiene una API excelente para escribir bots personalizados y una comunidad de bot muy activa. Hoy vamos a echar un vistazo a cómo empezar a hacer tu propio.

    Necesitarás un poco de conocimiento de programación para codificar un bot, así que no es para todos, pero afortunadamente hay algunos módulos para lenguajes populares que lo hacen muy fácil de hacer. Estaremos usando el más popular, discord.js.

    Empezando

    Dirígete al portal bot de Discord y crea una nueva aplicación.

    Deberá anotar la identificación del cliente y su secreto (que debe guardar un secreto, por supuesto). Sin embargo, este no es el bot, solo la "Aplicación". Deberá agregar el bot en la pestaña "Bot".

    Tome nota de esta ficha también y manténgala en secreto. No, bajo ninguna circunstancia, envíe esta clave a Github. Tu bot será hackeado casi inmediatamente..

    Instale Node.js y obtenga la codificación

    Para ejecutar código Javascript fuera de una página web, necesita Node. Descárguelo, instálelo y asegúrese de que funcione en un terminal (o símbolo del sistema, ya que todo esto debería funcionar en sistemas Windows). El comando predeterminado es "nodo".

    También recomendamos instalar la herramienta nodemon. Es una aplicación de línea de comandos que controla el código de su bot y se reinicia automáticamente con los cambios. Puedes instalarlo ejecutando el siguiente comando:

    npm i -g nodemon

    Necesitarás un editor de texto. Puedes usar el bloc de notas, pero te recomendamos Atom o VSC.

    Aquí está nuestro "Hola Mundo":

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

    Este código se toma del ejemplo de discord.js. Vamos a descomponerlo.

    • Las dos primeras líneas son para configurar el cliente. La línea uno importa el módulo en un objeto llamado "Discord", y la línea dos inicializa el objeto cliente.
    • los cliente.on ('listo') El bloque se activará cuando se inicie el bot. Aquí, está configurado para registrar su nombre en el terminal..
    • los cliente.on ('mensaje') el bloque se activará cada vez que se publique un nuevo mensaje en cualquier canal. Por supuesto, deberá verificar el contenido del mensaje, y eso es lo que Si bloque hace. Si el mensaje simplemente dice "ping", entonces responderá con "Pong!"
    • La última línea inicia sesión con el token del portal del bot. Obviamente, el token en la captura de pantalla aquí es falso. Nunca publiques tu token en internet.

    Copie este código, pegue su token en la parte inferior y guárdelo como index.js en una carpeta dedicada.

    Cómo ejecutar el bot

    Dirígete a tu terminal y ejecuta el siguiente comando:

    nodemon --inspect index.js

    Esto inicia la secuencia de comandos y también activa el depurador de Chrome, al que puede acceder escribiendo cromo: // inspeccionar /  en el Omnibar de Chrome y luego abriendo "devtools dedicados para Nodo".

    Ahora, solo debe decir "Conectado como", pero aquí he agregado una línea que registrará todos los objetos de mensaje recibidos en la consola:

    Entonces, ¿qué constituye este objeto de mensaje? Muchas cosas, en realidad:

    En particular, tiene la información del autor y la información del canal, a la que puede acceder con msg.author y msg.channel. Recomiendo este método de registro de objetos a los controles de nodos de Chrome, y solo mirar alrededor para ver qué hace que funcione. Usted puede encontrar algo interesante. Aquí, por ejemplo, el bot registra sus respuestas en la consola, por lo que las respuestas del bot se activan. cliente.on ('mensaje'). Entonces, hice un spambot:

    Nota: Tenga cuidado con esto, ya que realmente no quiere lidiar con la recursión.

    Cómo agregar el bot a su servidor

    Esta parte es más dura de lo que debería ser. Tienes que llevar esta URL:

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

    Y reemplace CLIENTID con el ID de cliente de su bot, que se encuentra en la pestaña de información general de la página de la aplicación. Sin embargo, una vez hecho esto, puedes dar el enlace a tus amigos para que también agreguen el bot a sus servidores..

    Muy bien, ¿qué más puedo hacer??

    Más allá de la configuración básica, cualquier otra cosa depende completamente de usted. Pero, esto no sería un gran tutorial si nos detuviéramos en hola mundo, así que repasemos un poco de la documentación, para que tengas una mejor idea de lo que es posible. Le sugiero que lea todo lo que pueda, ya que está muy bien documentado..

    Recomendaría agregar console.log (cliente) al inicio de su código, y echar un vistazo al objeto cliente en la consola:

    A partir de aquí, puedes aprender mucho. Ya que puede agregar un bot a varios servidores a la vez, los servidores son parte de la Gremios objeto de mapa En ese objeto están los Gremios individuales (que es el nombre de la API para "servidor") y esos objetos del gremio tienen listas de canales que contienen toda la información y las listas de mensajes. La API es muy profunda y puede tomar un tiempo aprenderla, pero al menos es fácil de configurar y comenzar a aprender.