Discord.JS에 대한 기본 정보: Argumentos

En este corto pero potente post hablaremos de cómo usar argumentos con tu bot de Discord, y para concluir tendrás el código final.

Si necesitas ayuda sobre cómo crear el bot en primer lugar, revisa

¿Qué son los Argumentos?



Son parametros adicionales usados ​​para variar las funciones del comando. Esto nos sirve para que el bot tenga mejor capacidad de respuesta con algunos comandos.

Por ejemplo, supongamos que tenemos un comando para buscar páginas en google (este ejemplo lo haremos en un futuro post):


Separándolo como un arreglo tenemos 4 parametros: ['search', 'documentación', 'de', 'discordjs'] . El primero es el nombre del comando, el cual haremos que el bot omita, y el resto son los argumentos.

Para que el bot reconozca los parametros, tendremos que poner estas líneas de código explicadas con comentarios:

// Separamos el prefix y el nombre del comando de los argumentos
const commandName = message.content.slice(prefix.length);
// Quitamos los espacios en blanco de los extremos de cada argumento
const textArgs = commandName.trim();
// Y los separamos cada uno con expresiones regulares
const args = textArgs.split(/ +/g);

// Creamos una variable que retornará el nombre 
// del comando, en minúsculas y quitando el prefix
const command = args.shift().toLowerCase();


Con esto, podemos reducer el código a la hora de crear un comando:

if(command === 'ping') {
    message.channel.send('PONG');
}


버클 인피니토



El bot puede detectar mensajes de otros bots, incluyéndose a sí mismo. Por lo que generaría un bucle infinito de respuestas.

Para evitar esto tenemos que usar las siguientes líneas de código:

// Si el mensaje no empieza por el prefix, no retornará nada
if (!message.content.startsWith(prefix)) return; 
// Si el autor del mensaje es un bot, no retornará nada
if (message.author.bot) return;


코디고 결승전



간단한 방법은 다음과 같습니다.

const message.content.slice(prefix.length).trim().split(/ +/g);
const command = args.shift().toLowerCase();


예엠플로스



Ya con esta base podemos crear el típico comando say :

// usamos el método .join() de JavaScript para Arrays
const texto = args.join(' ');

message.channel.send(texto);


Si quieres validar que el texto no esté vacío, agrega esta condicional justo después de la constante texto:

if(!texto) return message.channel.send('Por favor, escribe un texto');


Espero que este post te haya ayudado a mejorar tu bot de discord y tus habilidades en JavaScript. No olvides seguirnos en Instagram como .

행복한 코딩!

좋은 웹페이지 즐겨찾기