Mi bot de discordia se ejecuta en mi computadora cuando uso el nodo index.js, pero cuando hago lo mismo en la terminal de heroku, aparece el siguiente error, que es extraño porque ./commands es una carpeta en el github conectado y funciona bien en mi computadora.
node:internal/fs/utils:344 throw err; ^ Error: ENOENT: no such file or directory, scandir './commands' at Object.readdirSync (node:fs:1390:3) at Object.<anonymous> (/app/index.js:19:25) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:17:47 { errno: -2, syscall: 'scandir', code: 'ENOENT', path: './commands'Es porque probablemente esté llamando a la secuencia de comandos de Heroku desde una carpeta inferior: el sistema de archivos fs se ejecuta en relación con el directorio de trabajo actual y no en relación con la secuencia de comandos que llamó. La solución es hacer que la ruta sea absoluta:
fs.readdirSync(path.resolve(__dirname, './commands'))