Partage
  • Partager sur Facebook
  • Partager sur Twitter

ENOENT: no such file or directory, open '...'

    30 mars 2020 à 21:41:33

    Bonjour tout le monde,

    Voila pour passer le temps je m'amuse à développer un bot Discord, pour mon serveur sauf que je rencontre un problème. En effet je suis en train de créer une commande warn, et je veux que dès que je lance mon bot, il regarde dans un fichier 'warns.json' avant de faire quoi que ce sois. Le problème c'est qu'il m'affiche toujours la même erreur et je ne comprends pas pourquoi, vous pouvez m'aider ?

    const Discord = require('discord.js');
    const bot = new Discord.Client();
    const config = require('./config.json');
    const fs = require('fs');
    
    var prefix = '!';
    
    const warns = JSON.parse(fs.readFileSync('./warns.json'))
    
    bot.login(config.token);
    bot.on('ready', function(){
        console.log(bot.user.username + ' est connecté !');
        bot.user.setActivity('une classe virtuelle', {type: "WATCHING"});
    
    })
    
    bot.on("message", function (message) {
        if (!message.guild) return
        let args = message.content.trim().split(/ +/g)
     
        if (args[0].toLowerCase() === prefix + "warn") {
            if (!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send("Vous n'avez pas la permission d'utiliser cette commande")
            let member = message.mentions.members.first()
            if (!member) return message.channel.send("Veuillez mentionner un membre")
            if (member.highestRole >= message.member.highestRole && message.author.id !== message.guild.ownerID) return message.channel.send("Vous ne pouvez pas warn ce membre")
            let reason = args.slice(2).join(' ')
            if (!reason) return message.channel.send("Veuillez indiquer une raison")
            if (!warns[member.id]) {
                warns[member.id] = []
            }
            warns[member.id].unshift({
                reason: reason,
                date: Date.now(),
                mod: message.author.id
            })
            fs.writeFileSync('./warns.json', JSON.stringify(warns))
            message.channel.send(member + " a été warn pour " + reason + " :white_check_mark:")
        }
     
        if (args[0].toLowerCase() === prefix + "infractions") {
            if (!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send("Vous n'avez pas la permission d'utiliser cette commande")
            let member = message.mentions.members.first()
            if (!member) return message.channel.send("Veuillez mentionner un membre")
            let embed = new Discord.MessageEmbed()
                .setAuthor(member.user.username, member.user.displayAvatarURL)
                .addField('10 derniers warns', ((warns[member.id] && warns[member.id].length) ? warns[member.id].slice(0, 10).map(e => e.reason) : "Ce membre n'a aucun warns"))
                .setTimestamp()
            message.channel.send(embed)
        }
    })

    Et voici le message d'erreur :

    Waiting for the debugger to disError: ENOENT: no such file or directory, open './warns.json'
        at Object.openSync (fs.js:457:3)
        at Object.readFileSync (fs.js:359:35)
        at Object.<anonymous> (c:\Users\Ugo\Bot-Discord\Amae\index.js:8:29)
        at Module._compile (internal/modules/cjs/loader.js:1155:14)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
        at Module.load (internal/modules/cjs/loader.js:1002:32)
        at Function.Module._load (internal/modules/cjs/loader.js:901:14)
        at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
        at internal/main/run_main_module.js:18:47




    -
    Edité par Swynn 31 mars 2020 à 10:13:53

    • Partager sur Facebook
    • Partager sur Twitter
      31 mars 2020 à 10:10:21

      J'ai l'impression que sa vient d'une librairie (fs) mais j'en suis pas sur et je n'arrive pas à corriger le problème :(

      -
      Edité par Swynn 31 mars 2020 à 10:15:31

      • Partager sur Facebook
      • Partager sur Twitter

      ENOENT: no such file or directory, open '...'

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown