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

272
Visualizações
Error: ENOTDIR: no es un directorio, scandir './commands/setWelcome.js'

Estoy tratando de crear un bot de moderación y encuentro un error que muestra que no tengo comandos y establezco el archivo de bienvenida en mi proyecto, incluso cuando los tengo. Aquí está el error completo:

 node:internal/fs/utils:344 throw err; ^ Error: ENOTDIR: not a directory, scandir './commands/setWelcome.js' at Object.readdirSync (node:fs:1390:3) at Object.<anonymous> (/home/runner/Him/index.js:12:26) at Module._compile (node:internal/modules/cjs/loader:1095:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1147:10) at Module.load (node:internal/modules/cjs/loader:975: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: -20, syscall: 'scandir', code: 'ENOTDIR', path: './commands/setWelcome.js' }

Aquí está mi código en index.js -

 const fs = require('fs'); const Discord = require('discord.js'); const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES"] }); client.commands = new Discord.Collection(); const commandFolders = fs.readdirSync('./commands'); for (const folder of commandFolders) { const commandFiles = fs.readdirSync(`./commands/${folder}`).filter(file => file.endsWith('.js')); for (const file of commandFiles) { const command = require(`./commands/${folder}/${file}`); client.commands.set(command.name, command); } } client.once('ready', (c) => { console.log(`Logged in as ${c.user.tag}`); }); client.on('messageCreate', message => { //My command handler code here }); client.login(process.env.TOKEN);

y mi archivo setWelcome.js está completamente vacío

Aquí está mi directorio de proyectos:

 index.js//file commands//folder and then inside commands setWelcome.js //file

y sí, tengo archivos package.json y package-lock.json. Estaría muy agradecido a cualquiera que me ayude, ¡Gracias! por cierto... estoy usando repl.it para este proyecto

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Parece que está tratando de recorrer su carpeta de dos maneras contradictorias (está usando dos bucles for anidados). Esto tendría sentido si la carpeta de commands contuviera subcarpetas que contuvieran los archivos a los que desea dirigirse. Sin embargo, dado que sus archivos de comandos están directamente dentro de su carpeta de commands , un bucle será suficiente.

La función readdirSync espera una ruta a un directorio y devuelve una lista de su contenido como se describe en la documentación de fs , pero ./commands/${folder} ya es una ruta a un archivo dentro de la carpeta de commands . Lo siguiente debería ayudar:

 \\create a list of files in command directory that end with .js const commandFiles = fs.readdirSync(`./commands/`).filter(file => file.endsWith('.js')); \\loop over items in the list for (const file of commandFiles) { const command = require(`./commands/${file}`); client.commands.set(command.name, command); }

Nota: Tal vez se deba omitir la barra invertida final en ./commands/ . Por favor comente si es así.

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