Partage
  • Partager sur Facebook
  • Partager sur Twitter

Petit soucis avec Discord.js

BOT Discord

Anonyme
6 juin 2020 à 18:02:43

Bonjour. je vient vers vous car je fait un bot Discord mais là j'ai un petit soucis

Je cherche a savoir ou est l'erreur dans le code suivant

merci

Voici l'erreur

/Users/nathan/Documents/SilvenyaBOT/main.js:14
      client.commands.set(getFileName.help.name, getFileName);
                                           ^

TypeError: Cannot read property 'name' of undefined
    at /Users/nathan/Documents/SilvenyaBOT/main.js:14:44
    at Array.forEach (<anonymous>)
    at loadCommands (/Users/nathan/Documents/SilvenyaBOT/main.js:9:20)
    at Object.<anonymous> (/Users/nathan/Documents/SilvenyaBOT/main.js:20:1)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47


Et voici le code qui provoque l'erreur 

const { Client, Collection } = require('discord.js');
const { readdirSync } = require("fs"); // modif ici (destructuration)
const { TOKEN, PREFIX } = require('./config');

const client = new Client();
client.commands = new Collection();

const loadCommands = (dir = "./commands/") => {
  readdirSync(dir).forEach(dirs => {
    const commands = readdirSync(`${dir}/${dirs}/`).filter(files => files.endsWith(".js"));

    for (const file of commands) {
      const getFileName = require(`${dir}/${dirs}/${file}`);
      client.commands.set(getFileName.help.name, getFileName);
      console.log(`Commande chargée: ${getFileName.help.name}`);
    };
  });
};

loadCommands();

client.on('message', message => {
  if (!message.content.startsWith(PREFIX) || message.author.bot) return;
  const args = message.content.slice(PREFIX.length).split(/ +/);
  const command = args.shift().toLowerCase();
  
  if (!client.commands.has(command)) return;
  client.commands.get(command).run(client, message, args);
});

client.on('ready', () => console.log(`Logged in as ${client.user.tag}!`));
client.login(TOKEN);

Merci

  • Partager sur Facebook
  • Partager sur Twitter
6 juin 2020 à 21:13:00

Bonjour,

Apparement getFileName.help vaut undefined.

Fais un console.log de getFileName et montre nous le résultat.

  • Partager sur Facebook
  • Partager sur Twitter
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
14 octobre 2020 à 14:08:32

Bonjour, moi je vient d'avoir le même problème, je pense juste que l'écriture n'est plus la même dus a une mise a jour, car ça mais arrivée du jour au landemain

  • Partager sur Facebook
  • Partager sur Twitter