Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

126
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda