Todos mis archivos de Commands se leen correctamente, pero recibo un error de 'interactionCreate.js located in Eventos'
node:internal/fs/utils:343 throw err; ^ Error: ENOTDIR: not a directory, scandir './Events/interactionCreate.js' Mi archivo Event.js es el siguiente:
const { readdirSync } = require('fs'); const ascii = require('ascii-table'); let table = new ascii("Events"); table.setHeading('EVENTS', ' LOAD STATUS'); module.exports = (client) => { readdirSync('./Events/').forEach(dir => { const events = readdirSync(`./Events/${dir}`).filter(file => file.endsWith('.js')); for(let file of events) { let pull = require(`../Events/${dir}/${file}`); if(pull.name) { client.events.set(pull.name, pull); } else { table.addRow(file, 'EVENT REGISTERED') continue; } if(pull.aliases && Array.isArray(pull.aliases)) pull.aliases.forEach(alias => client.aliases.set(alias, pull.name)) } }); console.log(table.toString()); }Tu problema está aquí:
readdirSync('./Events/').forEach(dir => { const events = readdirSync(`./Events/${dir}`) readdirSync devolverá todas las entradas en el directorio de Events , que incluye archivos y directorios. Ha nombrado dir de su variable, pero no todos son directorios. Esto se evidencia en el mensaje de error que indica específicamente que ./Events/interactionCreate.js no es un directorio.
O elimine los no directorios de su directorio de Events (es decir, mueva ese archivo), o mejor, verifique si dir es de hecho un directorio antes de llamar a readdirSync en él.
La forma más fácil de hacerlo es agregar la {withFileTypes: true} , y luego puede llamar a dir.isDirectory()
Ver documentos https://nodejs.org/api/fs.html#fsreaddirsyncpath-options