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
Introducción a un Bot de musica/audio
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").
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"
}
});
});
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().
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.
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.
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