MyBot Guía

Inicio/Bienvenida

Instalación y uso de un editor de código

Creación de su cuenta App y de Bot

Instalación de Discord.js y Node.js

En marcha su primer Bot

Usando un prefix

Usando mensajes Embeds

Usando Argumentos

Ejemplos

Usando Eventos ◄

Usando Colecciones

Usando Roles

Introducción a un Bot de musica/audio


Comprensión de eventos

Ya hemos explorado algunos eventos en el capítulo de en marcha tu primer bot, el message manejador de mensajes y argumentos, tambien ready de iniciación.

Echemos un vistazo a algunos de los eventos manejadores más importantes que va a utilizar, junto con unos ejemplo.


NOTA: Los eventos deben estar en el nivel "raíz" de su código, y no dentro de otro evento ("no poner uno dentro de otro").



El evento ready y su importancia

La realidad de discord.js y muchas otras bibliotecas que encontrarás, es que el código no se ejecuta una línea a la vez.

Ready es el evento inicializador de discord.js, cuanto mas servidores este tu bot, toma mas tiempo en cargar e iniciar.

Cualquier código que desee ejecutar en el arranque que requiera acceso al objeto client, tendrá que estar en este evento.


Este es un ejemplo de cómo usar el evento ready :

client.on("ready", () => {
   console.log(`Estoy listo!, conectado en ${client.guilds.size} servidores y  ${client.users.size} usuarios.`);
   client.user.setPresence( {
       status: "online",
       game: {
           name: `-help | Estoy en ${client.guilds.size} servidores.`,
           type: "PLAYING"
       }
    });
});


Detectando nuevos miembros

Otro evento útil es el guildMemberAdd que se activa cada vez que alguien se une al servidor en donde se encuentra el bot. Verás esto en servidores más pequeños: un bot da la bienvenida a cada nuevo miembro en un canal.


Para este ejemplo nesecitamos el ID del canal donde se mostrara el mensaje de bienvenida, puedes visitar MyBOT - Server guía para consultar el ID de tu canal.

client.on("guildMemberAdd", (member) => {
   console.log(`Nuevo usuario:  ${member.user.username} se ha unido a ${member.guild.name}.`);
   var canal = client.channels.get('123456789112455845'); 
   canal.send(`${member.user}, bienvenido al servidor pasala bien.`);
   
});

NOTA: La función client.channels.get('-IDDELCANAL-'); obtiene los datos del canal a través de la clase Client().



Errores, alertar y depurar mensajes

Sí, los bots fallan a veces. Y sí, la libreria discord.js también puede! para prevenir errores completos usamos el evento error.

El siguiente código es un pequeño bit (que puede estar en cualquier parte del archivo del bot) capturará todo el mensaje de salida de discord.js, Esto incluye todos los errores, avisos y mensajes de depuración.

client.on("error", (e) => console.error(e));
client.on("warn", (e) => console.warn(e));
client.on("debug", (e) => console.info(e));

NOTA: Estos eventos son opcionales usted decide si agregarlos.



¿Qué hay de los otros eventos?

Veamos: el evento guildBanAdd toma dos parametros para registrar que el miembro fue baneado, roleCreate toma un parametro para obtener los argumentos del rol creado y asi tenemos mas de 10 eventos utiles que pueden ser de gran ayuda para su bot.


Siguiente.



Si tiene alguna pregunta y/o duda después de leer esta guía, ingrese al servidor oficial de Discord: MyBOT - Server guía.

Sitio web github/Crater