PROGRAMAR UN BOT DESDE 0 EN NODEJS - 3
Este es el tutorial 3 de programación en nodejs.
¿Que veremos en este tutorial?
Crearemos nuestro primer comando que sera el comando de ayuda.
- Para empezar debemos declara un prefijo para poder diferenciar los mensajes normales de los usuarios con los comandos que si debe de reconocer nuestro bot.
Para declarar nuestro prefijo es muy sencillo, iremos a nuestro código y podremos esta linea:JavaScript:let prefijo = "!";
Pero.. Tenemos un problema y es que cuando nosotros llamamos al bot usando el prefijo nos recogera todo el mensaje por lo que tendremos que diferenciar entre el comando y los argumentos, estas dos lineas debes ponerla dentro de cliente.on("message", (message) ...
Para poder hacerlo debes poner esto:
JavaScript:const args = message.content.slice(prefijo.length).trim().split(/ +/g);const comando = args.shift().toLowerCase();
Con esta linea indicamos que quite los espacios y que divida el contenido en el comando y los argumentos, despues lo pondremos en minuscula para no tener problemas (explicación rapida).
- Ahora empezaremos a crear nuestro comando HELP
Para ello crearemos un if donde le indicaremos que si la variable comando es igual a help entre en el if y quedaría así
JavaScript:if (comando === "help") { //Codigo }
Nosotros usaremos los embed que son este tipo de mensajes
Para crear un embed debemos crear una varible constante que se les llama y quedaría así
JavaScript:if (comando === "help") { const embed = new Discord.RichEmbed() }
Ahora le asignaremos propiedas al embed, podeis verlas en la documentación
Nosotros añadiremos al autor, un comando, el footer y el color del embed
Para ello pondremos lo siguiente
JavaScript:if (comando === "help") { const embed = new Discord.RichEmbed() .setAuthor(message.author.username, message.author.avatarURL) .addField('Ping', 'Compueba la latencia del BOT con la API de discord', true) .setFooter("Tutorial Nodo313", cliente.user.avatarURL) .setColor(0x66b3ff) }
.setAuthor --> Obtenemos el nombre de usuario y la URL del avatar.
.addField --> Podremos poner texto y con el true le indicamos que ponga una especia de tabulación.
.setFooter --> Podremos poner texto en el final del mensaje, en mi caso pongo "Tutorial Nodo313" y pongo la URL del bot.
.setColor --> Pondremos el color que tiene la barra lateral del mensaje.
Pero...¿Como mandamos el mensaje cuando llamemos al comando?
Pondremos esta linea
JavaScript:message.channel.send(embed)
Con esto le diremos que mande un mensaje por el canal y que mande la variabvle embed.
Este sería el if final:
JavaScript:if (comando === "help") { const embed = new Discord.RichEmbed() .setAuthor(message.author.username, message.author.avatarURL) .addField('Ping', 'Compueba la latencia del BOT con la API de discord', true) .setFooter("Tutorial Nodo313", cliente.user.avatarURL) .setColor(0x66b3ff) message.channel.send(embed) }
Quedaría así:
¿Donde puede descargar el código?
Puedes descargarlo desde AQUÍ o puedes verlo ONLINE
Adjuntos
Última edición: