Discord.JS에 대한 기본 정보: Argumentos
6960 단어 nodediscordnpmjavascript
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 .
행복한 코딩!
Reference
이 문제에 관하여(Discord.JS에 대한 기본 정보: Argumentos), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/somosdevs/argumentos-para-tu-bot-en-discord-45n2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)