Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

128
Vistas
Cómo hacer un bucle del mismo comando con un valor diferente en discord.js

Estoy codificando un bot de discord con discord.js, y una de las características es que cuando alguien envía un mensaje con el prefijo ( .exe ) con una palabra justo después (por ejemplo .exebot o .exeserverinv ), el bot devuelve un mensaje específico mensaje. El código funciona bien, pero sé que simplemente copiar y pegar el mismo código más de 30 veces y simplemente cambiar los valores no es una buena optimización.

¿Hay alguna manera simple de hacerlo para que pueda usar un bucle o algo así para que el comando se repita, pero con diferentes valores?

Aquí está el código no optimizado:

 command(client, 'command name', message => { message.channel.send('bot message') }) command(client, 'random', message =>{ message.channel.send('some text') }) command(client, 'bot', message =>{ message.channel.send('random text') }) command(client, 'testing', message =>{ message.channel.send('text') }) command(client, 'test', message =>{ message.channel.send('example text') }) command(client, 'second to last test', message =>{ message.channel.send('is almost there') }) command(client, 'last test', message =>{ message.channel.send('is the very last one') })

El controlador de comandos desde el que se ejecuta este comando es:

 const { prefix } = require('./config.json') module.exports = (client, aliases, callback) => { if (typeof aliases === 'string') { aliases = [aliases] } client.on('message', message => { const { content } = message; aliases.forEach(alias => { const command = `${prefix}${alias}` if (content.startsWith(`${command} `) || content === command) { console.log(`Running the command ${command}`) callback(message) } }) }) }

Por favor avise.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede usar la notación de objetos de JavaScript y asignar los nombres de los comandos a las respuestas.

 const commandToReply = { "command name": "bot message", "random": "some text", "bot": "random text", "testing": "text", "test": "example text", "second to last test": "is almost there", "last test": "is the very last one" }; for (const [name, reply] of Object.entries(commandToReply)) { command(client, name, (message) => { message.channel.send(reply); }); }

Para iterar a través del objeto, observe cómo funciona Object.entries() .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda