Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

135
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!