Bots de Discord: cómo crearlos y configurarlos

Si hablamos de cliente de VOIP para gaming nos viene a la cabeza Discord, aunque existen otros, aquí os dejamos una comparativa de los clientes más usados, Discord es sin duda el más usado y difundido para ambientes de juego entre amigos y juegos no profesionales. Puedes crear tu propio servidor de Discord para personalizarlo a tu gusto, pero aún se puede personalizar más, puedes crear tu propio bot para Discord y os vamos a contar como crearlo y configurarlo.

Todos sabemos lo bien que funcionan los bots en Telegram, en esta guía os contamos todo sobre Telegram y os hablamos de los bots más famosos, ahora también existe la posibilidad de añadir bots a tu servidor de Discord que pueden realizar diferentes funciones, hay bots que te ayudan a moderar las diferentes saldas de Discord, dando la bienvenida, mostrando las reglas, etc. O incluso hay bots que te buscan canciones y las reproducen por ti. Pero en esta guía os vamos a enseñar, con muy pocos conocimientos de programación, como crear tu propio bot para Discord y personalizar sus acciones a tu gusto.

 

Crear un bot para Discord requiere de algunos conocimientos de programación, pero a partir de una plantilla que os vamos a dejar, podrás ir mejorando poco a poco las funciones que puede realizar el bot, no hace falta ser un experto, solamente deberás tener unas pequeñas nociones. El bot se programa con JavaScript, nosotros vamos a usar Node.js que lo tendremos que instalar, además para poder alojar el bot en tu servidor tendrás que crear una aplicación de Discord en el servidor donde quieras alojarlo.

No os preocupéis, son varios pasos para seguir, pero os los vamos a contar muy detalladamente en esta guía.

Para crear el bot y subirlo a Discord, tendremos que preparar nuestro equipo, obviamente necesitaremos una cuenta de Discord, si la tienes inicia sesión y si no la tienes puedes crear una aquí. Además, vamos a necesitar un servidor propio en Discord para poder incluir al bot, un poco más arriba os hemos dejamos como crear tu propio servidor de Discord paso a paso. Además de esto necesitaremos crear un programa en el servidor para dar funcionalidad al bot.

Para escribir el código del bot necesitaremos un editor de texto, puedes utilizar cualquiera, incluso el Bloc de Notas de Windows, pero lo ideal es usar alguno más específico para programación como Atom, Notepad++ o Visual Studio Code, nosotros usaremos Atom.

El bot se programa en JavaScript y para esto necesitaremos además del editor de texto un compilador de JavaScript, Node.js es un compilador gratuito y que además posee una API específica para crear bots de Discord  y añadir funcionalidades, se llama discord.js y también vamos a instalarlo, vayamos por pasos.

  1. En primer lugar vamos a instalar, si no lo tenemos ya, Node.js, para ello vamos a su página web y descargamos Node.js para Windows. Simplemente hacemos clic en Instalador Windows y se descargará automáticamente.
  2. Hacemos clic en el archivo descargado para que se ejecute. Seguimos las instrucciones de instalación haciendo clic en Next. Asegúrate que marcas la casilla para instalar el software necesario de manera automática.

  3. Una vez finalizada, nos pedirá instalar las herramientas adicionales necesarias para Node.js, se abrirá una nueva ventana de terminal y pulsamos una tecla un par de veces y se abrirá Windows PowerShell para terminar de instalar los complementos.

  4. Esto nos llevará un rato, así que paciencia. Al terminar es probable que nos pida reiniciar nuestro PC para que los cambios surjan efecto. Pulsamos la tecla intro y la Windows PowerShell desaparecerá. Reiniciamos nuestro PC y ya tendremos este apartado listo.

Ahora tendremos que crear el programa para añadir el bot a nuestro servidor de Discord, para ello seguimos estos pasos.

  1. Vamos al panel para crear la aplicación, esta acción no se puede realizar desde el cliente de Windows. Una vez realizado el login en la web de discord tendremos que acceder aquí y nos llevará a la página para crear una nueva aplicación.
  2. Hacemos clic en New Application, añadimos un nombre al bot y pulsamos en Create para añadir esta nueva aplicación.
  3. Hacemos clic en Bot en el menú de la izquierda y luego hacemos clic en Add Bot.

  4. Hacemos clic en Yes, do it!
  5. Ahora necesitaremos un Token que servirá para poder enviar el código a través del bot. Este token debe ser secreto ya que permite controlar el bot, para conocer tu Token haz clic en Reveal Token y guárdalo mientras tanto.
  6. Ahora tendremos que crear un enlace para añadir el bot al servidor de Discord, para esto vamos a la pestaña OAuth2, en Scopes seleccionamos bot y además añadimos permiso de Administrador para que pueda realizar cualquiera de las acciones. Ahora copiamos el enlace de invitación haciendo clic en Copy.
  7. Seguidamente pegamos la dirección que hemos creado en el navegador y nos permitirá añadir el bot a uno de nuestros servidores. Una vez seleccionado el servidor al que queremos añadir el bot, hacemos clic en Autorizar.
  8. Una vez realizado el captcha correctamente se añadirá a este servidor.

Con esto hemos conseguido añadir como un usuario más el bot que vamos a crear a nuestro servidor, antes de añadir usuarios podemos realizar pruebas en este servidor, también podemos crear un servidor nuevo para realizar las pruebas y no molestar (o que te molesten) los demás usuarios. Podrás añadir el bot a cualquier servidor en el que tengas permisos de administrador.

Ya que está el bot añadido al servidor, tendremos que programarlo en JavaScript para que realice las acciones que nosotros necesitemos, como hemos comentado aquí se requiere algo de práctica con programación, no es muy complicado si tenemos algunas nociones.

  1. En primer lugar y para tener todo organizado, lo mejor es crear una carpeta para guardar todos los archivos del bot ahí. Nosotros hemos creado la carpeta GeekneticBot en el escritorio.
  2. Entramos en esta carpeta y dentro creamos el archivo config.json y en su interior debemos escribir el token que hemos generado anteriormente de la siguiente forma y debemos copiar el token entre las comillas que hay después  de los dos puntos.
  3. Ejecutamos en una ventana de Windows PowerShell el comando npm init, nos preguntará acerca del nombre, versión y algunos elementos más, podemos cambiar el nombre, la descripción y el autor, el resto es irrelevante. Al pulsar intro y aceptar nos creara el archivo package.json en la ruta que nos especifica, tendremos que moverlo a la carpeta que hemos creado.
  4. Ahora instalaremos el paquete discord.js para poder interactuar con la API de Discord. Abrimos Windows PowerShell y escribimos npm install discord.js y se instalará automáticamente.
  5. Ahora tendremos que crear el archivo que contiene el código del bot, empezaremos creando un archivo llamado index.js (como hemos indicado en packaje.json) para que contenta el inicio del bot que luego podemos ir mejorando. Abrimos el editor que hayamos elegido y escribimos las dependencias como se ve en la imagen.
  6. Ahora añadimos las primeras líneas de código para hacer funcionar el bot. La línea número 5 hará login mediante el token que hemos guardado en config.json, guardamos el archivo.
  7. Ahora abrimos una terminal y vamos a la carpeta donde tenemos los archivos del bot, simplemente escribimos cd y arrastramos la carpeta hasta la ventana de la terminal para añadir la ruta y pulsamos intro.
  8. Escribimos node index.js para ejecutarlo, ahora el bot estará online en nuestro servidor y ya tendremos nuestro bot preparado para ampliarlo con más funciones.

Inicialmente hemos puesto nuestro bot como conectado, ahora podremos añadir las funciones adicionales.

Ahora haremos que nuestro bot salude a todo el mundo cuando se conecte y responda a ciertos mensajes, algo sencillo para que luego se pueda ir ampliando con más opciones y personalizarlo a nuestro gusto. Partimos del código que hemos generado hasta ahora, algo muy sencillo.

  1. Necesitaremos el ID del canal donde está el bot para poder enviar el mensaje, para ello habilitamos las opciones de desarrollador de Discord si no las teníamos. Vamos a la configuración, Apariencia y abajo tendremos Modo desarrollador que tendremos que habilitar.
  2. Para seleccionar el ID del canal que necesitamos, simplemente hacemos clic con el botón derecho del ratón en ese canal y seleccionamos Copiar ID.
  3. Añadimos estas líneas de código y donde indica ID del canal lo sustituimos por la numeración del ID que hemos copiado.
  4. Ahora vamos a escuchar todos los mensajes de los usuarios para poder replicar a los que nos interesen. Escribimos estas nuevas líneas de código seguidas a las anteriores. Con esto tendremos registro de todo lo que se habla para poder analizar la palabra o palabras que queramos responder.
  5. Sustituimos la línea console.log(message.content) por las siguientes líneas condicionales if podemos añadir tantas como queramos, para que según que frase, contestar una u otra.

Ahora tendremos un bot online que es capaz de saludar a todos cuando entra y contestar a ciertas palabras que nosotros podemos configurar, este es un bot sencillo pero que se puede mejorar conociendo la API discord.js y que dispone de una completa documentación que podemos consultar aquí

Recuerda dejarlo ejecutando en la consola con node index.js mientras quieras que esté funcionando el bot.

Discord está creciendo considerablemente como aplicación de mensajería a pesar de ser un cliente de VoIP, esto es por su manera de integrar los dos servicios dentro de la misma aplicación e incluso dentro del mismo servidor al que nos conectamos puedes elegir canal de texto o voz sin salir del servidor al que estás conectado, además los canales de texto ya disponen de emojis, sticker y gif. Siendo esto así, tarde o temprano llegarían los bot que facilitan mucho las tareas de administración de los canales.

Aunque el bot que hemos realizado es una pequeña introducción, se pueden realizar muchas tareas como eliminar mensajes, hacer kick o ban a usuarios, añadir reglas para consultar, responder con imágenes, reaccionar a emojis, poner música, etc. También puedes consultar los 10 mejors bot para Discord en lugar de crear el tuyo propio.