Cómo hacer tu propio bot de Discord

Discordia tiene una excelente API para escribir bots personalizados, y una muy activa comunidad de bots. Hoy vamos a echar un vistazo a cómo empezar a hacer el tuyo propio.

Necesitarás un poco de conocimientos de programación para codificar un bot, por lo que no es para todos, pero afortunadamente hay algunos módulos para lenguajes populares que lo hacen muy fácil de hacer. Usaremos el más popular, discordia.js.

Empezar

Dirígete a Discord’s portal de botsy cree una nueva aplicación.

Querrá anotar el ID de cliente y el secreto (que debe mantener en secreto, por supuesto). Sin embargo, este no es el bot, solo la “Aplicación”. Tendrás que agregar el bot en la pestaña “Bot”.

Tome nota de este token también, y manténgalo en secreto. No confirmes, bajo ninguna circunstancia, esta clave en Github. Su bot será hackeado casi de inmediato.

Instalar Node.js y obtener codificación

Para ejecutar código Javascript fuera de una página web, necesita Nodo. Descárguelo, instálelo y asegúrese de que funcione en un terminal (o en el 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 monitorea el código de su bot y se reinicia automáticamente en los cambios. Puede instalarlo ejecutando el siguiente comando:

npm i -g nodemon

Necesitarás un editor de texto. Puede usar el bloc de notas, pero le recomendamos que lo haga. Átomo o VSC.

Aquí está nuestro “Hola Mundo”:

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');

Este código se toma del discordia.js ejemplo. Vamos a desglosarlo.

  • Las dos primeras líneas son para configurar el cliente. La línea uno importa el módulo en un objeto denominado “Discord” y la línea dos inicializa el objeto cliente.
  • El client.on('ready') block se disparará cuando se inicie el bot. Aquí, solo está configurado para registrar su nombre en el terminal.
  • El client.on('message') Block se disparará cada vez que se publique un nuevo mensaje en cualquier canal. Por supuesto, deberá verificar el contenido del mensaje, y eso es lo que el if bloquear hace. Si el mensaje solo dice “ping”, entonces responderá con “¡Pong!”
  • La última línea inicia sesión con el token desde el portal de bots. 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.

Te puede ser útil:  Cómo conectarse a una VPN en Android

Cómo ejecutar el bot

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

nodemon --inspect index.js

Esto inicia el script y también enciende el depurador de Chrome, al que puede acceder escribiendo chrome://inspect/ en Omnibar de Chrome y luego abriendo “herramientas de desarrollo dedicadas para Node”.

Ahora, solo debería decir “Iniciado sesión como < nombre del robot>”, pero aquí he agregado una línea que registrará todos los objetos de mensaje recibidos en la consola:

Entonces, ¿qué compone 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 en las herramientas de desarrollo de Chrome Node, y solo mirar a su alrededor para ver qué lo hace funcionar. Puede que encuentres algo interesante. Aquí, por ejemplo, el bot registra sus respuestas a la consola, por lo que las respuestas del bot se activan client.on('message'). Entonces, hice un robot de spam:

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

Cómo agregar el bot a su servidor

Esta parte es más difícil de lo que debería ser. Tienes que tomar 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 del página de aplicación. Sin embargo, una vez hecho esto, puede dar el enlace a sus amigos para que también agreguen el bot a sus servidores.

Muy bien, entonces, ¿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 detuvimos en hello world, así que repasamos algunos de los documentación, para que tengas una mejor idea de lo que es posible. Te sugiero que leas todo lo que puedas, ya que está muy bien documentado.

Recomendaría agregar console.log(client) al inicio del código y echando un vistazo al objeto cliente de la consola:

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

¿Qué tan útil te resultó el artículo?

¡Haz click en una estrella para valorar!

Valoración media / 5. Votos totales:

¡No hay votos hasta ahora! Sé el primero en valorar este artículo.

Utilizamos cookies para personalizar el contenido y los anuncios, para ofrecer funciones de redes sociales y para analizar nuestro tráfico. También compartimos información sobre su uso de nuestro sitio con nuestros socios de redes sociales, publicidad y análisis. View more
Cookies settings
Aceptar
Política de privacidad y cookies
Privacy & Cookies policy
Cookie name Active
El presente Política de Privacidad establece los términos en que Alternativa.click usa y protege la información que es proporcionada por sus usuarios al momento de utilizar su sitio web. Esta compañía está comprometida con la seguridad de los datos de sus usuarios. Cuando le pedimos llenar los campos de información personal con la cual usted pueda ser identificado, lo hacemos asegurando que sólo se empleará de acuerdo con los términos de este documento. Sin embargo esta Política de Privacidad puede cambiar con el tiempo o ser actualizada por lo que le recomendamos y enfatizamos revisar continuamente esta página para asegurarse que está de acuerdo con dichos cambios.

Información que es recogida

Nuestro sitio web podrá recoger información personal por ejemplo: Nombre,  información de contacto como  su dirección de correo electrónica e información demográfica. Así mismo cuando sea necesario podrá ser requerida información específica para procesar algún pedido o realizar una entrega o facturación.

Uso de la información recogida

Nuestro sitio web emplea la información con el fin de proporcionar el mejor servicio posible, particularmente para mantener un registro de usuarios, de pedidos en caso que aplique, y mejorar nuestros productos y servicios.  Es posible que sean enviados correos electrónicos periódicamente a través de nuestro sitio con ofertas especiales, nuevos productos y otra información publicitaria que consideremos relevante para usted o que pueda brindarle algún beneficio, estos correos electrónicos serán enviados a la dirección que usted proporcione y podrán ser cancelados en cualquier momento. Alternativa.click está altamente comprometido para cumplir con el compromiso de mantener su información segura. Usamos los sistemas más avanzados y los actualizamos constantemente para asegurarnos que no exista ningún acceso no autorizado.

Cookies

Una cookie se refiere a un fichero que es enviado con la finalidad de solicitar permiso para almacenarse en su ordenador, al aceptar dicho fichero se crea y la cookie sirve entonces para tener información respecto al tráfico web, y también facilita las futuras visitas a una web recurrente. Otra función que tienen las cookies es que con ellas las web pueden reconocerte individualmente y por tanto brindarte el mejor servicio personalizado de su web. Nuestro sitio web emplea las cookies para poder identificar las páginas que son visitadas y su frecuencia. Esta información es empleada únicamente para análisis estadístico y después la información se elimina de forma permanente. Usted puede eliminar las cookies en cualquier momento desde su ordenador. Sin embargo las cookies ayudan a proporcionar un mejor servicio de los sitios web, estás no dan acceso a información de su ordenador ni de usted, a menos de que usted así lo quiera y la proporcione directamente. Usted puede aceptar o negar el uso de cookies, sin embargo la mayoría de navegadores aceptan cookies automáticamente pues sirve para tener un mejor servicio web. También usted puede cambiar la configuración de su ordenador para declinar las cookies. Si se declinan es posible que no pueda utilizar algunos de nuestros servicios.

Enlaces a Terceros

Este sitio web pudiera contener en laces a otros sitios que pudieran ser de su interés. Una vez que usted de clic en estos enlaces y abandone nuestra página, ya no tenemos control sobre al sitio al que es redirigido y por lo tanto no somos responsables de los términos o privacidad ni de la protección de sus datos en esos otros sitios terceros. Dichos sitios están sujetos a sus propias políticas de privacidad por lo cual es recomendable que los consulte para confirmar que usted está de acuerdo con estas. Control de su información personal En cualquier momento usted puede restringir la recopilación o el uso de la información personal que es proporcionada a nuestro sitio web.  Cada vez que se le solicite rellenar un formulario, como el de alta de usuario, puede marcar o desmarcar la opción de recibir información por correo electrónico.  En caso de que haya marcado la opción de recibir nuestro boletín o publicidad usted puede cancelarla en cualquier momento. Esta compañía no venderá, cederá ni distribuirá la información personal que es recopilada sin su consentimiento, salvo que sea requerido por un juez con un orden judicial. Alternativa.click Se reserva el derecho de cambiar los términos de la presente Política de Privacidad en cualquier momento.
Save settings
Cookies settings