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

257
Views
No puedo enviar los comandos de barra diagonal de mi bot a una matriz. ¿Por qué?

Cuando trato de empujar los comandos de barra diagonal de mi bot a una matriz que quiero usar para registrar mis comandos, no parece que se empuje, ya que cuando console.log la matriz, devuelve una matriz vacía. Pero cuando registro cada comando individualmente, se registra correctamente. ¿Por qué?

Aquí está el código que uso para enviar los comandos de mi bot a la matriz:

 const commands = [] fs.readdirSync("./commands").forEach(dir => { fs.readdir(`./commands/${dir}`, (err, files) => { if (err) throw err; const jsFiles = files.filter(file => file.endsWith(".js")); if (jsFiles.length <= 0) return console.log("[COMMAND HANDLER] - Cannot find any commands!"); jsFiles.forEach(file => { const command = require(`./commands/${dir}/${file}`); commands.push(command) }); console.log(commands) module.exports = commands
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

La función readdir es asíncrona. Si desea utilizar este código con cambios mínimos, reemplácelo con readdirSync .

Aquí están los documentos con más información: https://nodejs.org/api/fs.html#fsreaddirsyncpath-options

about 4 years ago · Juan Pablo Isaza Report

0

Reemplace esto:

 fs.readdirSync("./commands").forEach(dir => { fs.readdir(`./commands/${dir}`, (err, files) => { if (err) throw err; const jsFiles = files.filter(file => file.endsWith(".js")); if (jsFiles.length <= 0) return console.log("[COMMAND HANDLER] - Cannot find any commands!"); jsFiles.forEach(file => { const command = require(`./commands/${dir}/${file}`); commands.push(command) });

con este:

 const cmdDirectories = fs.readdirSync(`./commands`) for (const dir of cmdDirectories) { const cmdFiles = fs.readdirSync(`./commands/${dir}`).filter(file => file.endsWith(".js")); if (cmdFiles.length <= 0) return console.log("[COMMAND HANDLER] - Cannot find any commands!"); for (const file of cmdFiles) { const command = require(`./commands/${dir}/${file}`); commands.push(command) } }

Esta solución se encontró puramente por experimentación, no sé cómo/por qué funcionó. Si alguien sabe cómo/por qué funcionó esto, por favor deje un comentario.

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!