我是一个初学者,我正在尝试创建一个不和谐的bot警告系统,有一个文件存储用户ID和警告计数。我正在使用的节点版本是10.16.3,而我以前使用的是12.10.0,我尝试了两个节点版本,但是没有用。这是命令和错误:

 const Disord = require ("discord.js")
const fs = require ("fs")
const ms = require ("ms")
let warns = JSON.parse(fs.readlinkSync("./uyarilar.json", "utf8"));

module.exports.run = async (bot, message, args) => {

 if (!message.member.hasPermission("MANAGE_MEMBERS")) return message.reply("Uyarmak istediğin kişi yetkili.");
let wUser = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0])
if(!wUser) return message.reply("Uyarmak istediğin kişiyi bulamadım.");
if(wUser.hasPermission("MANAGE_MESSAGES")) return message.reply("Uyarmak istediğin kişi yetkili.");
let reason  = args.join(" ").slice(22);

if(!warns[wUser.id]) warns[wUser.id] = id
warns: 0

warns[wUser.id].warns++;

fs.writeFile("./uyarilar.json", JSON.stringify(warns), (err) => {
  if (err) console.log(err);
});

let warnEmbed = new DiscordRichEmbed()
.setDescription("Uyarı")
.setAuthor(message.author.wUsername)
.setColor(RANDOM)
.addField("Uyarılan kişi", wUser.tag)
.addField("Uyarıldığı kanal", message.channel)
.addField("Toplam uyarılar", warns[wUser.id]
.addField("Sebep", reason));

let warnchannel = message.guilds.channels.find("name", "uyarılar");
if(!warnchannel) return message.reply("Uyarılar kanalını bulamadım.");

warnchannel.send(warnEmbed);

if(warns[wUser.id].warns == 2){
 let muterole = message.guild.roles.find("name", "TimeMuted");
 if(!muterole) return message.reply("TimeMuted Rolünü bulamadım.");

 let mutetime = "10h";
 await(wUser.addRole(muterole.id));
 message.channel.send("{$wUser.tag} 10 saatliğine susturuldu")

 setTimeout(function(){
   wUser.removeRole(muterole.id)
   message.channel.reply("{$wUser.tag} adlı kişinin susturulması bitti!")
}, ms(mutetime))
}
   if(warns[wUser.id].warns == 4){
     message.guild.member(wUser).kick(reason);
     message.send.channel("$wUser.tag} adlı kişi sunucudan atıldı.")
    }


}

module.exports.conf = {
  enabled: true,
  guildOnly: true,
  aliases: ["warn", "uyarı-ver"],
  permLevel: 2,
    kategori: "moderasyon"
}

module.exports.help = {
  name: 'uyar',
  category: 'moderasyon',
  description: 'İstediğiniz kişiyi uyarır.',
  usage: 'uyar [@kullanıcı] [<sebep>]'
}


错误:

fs.js:114
    throw err;
    ^

Error: UNKNOWN: unknown error, readlink './uyarilar.json'
    at Object.readlinkSync (fs.js:876:3)
    at Object.<anonymous> (C:\Users\dbk20\OneDrive\Masaüstü\GZBOT\komutlar\uyari.js:4:27)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at files.forEach.f (C:\Users\dbk20\OneDrive\Masaüstü\GZBOT\bot.js:64:17)


谢谢你的帮助。

最佳答案

在您的代码中,您调用readlinkSync,而不是readFileSync

readlinkSync正在调用readlink


  readlink,readlinkat-读取符号链接的值


我很确定您想改为调用readFileSync。

07-24 20:22