全自动静音命令不一致

时间:2019-11-15 07:47:01

标签: javascript node.js discord discord.js fs

我试图发出一个静音命令,该命令除了发布角色本身外,还会将其删除,因此它不担心机器人的短期重启。 (如果您通过settimeout删除了角色,就像我发现的所有版本的Mutute命令一样,它都会被重置)。我决定通过一个json文件列出Mat的用户列表,该bot会在其中自动写入这些用户,这没有问题。但是要编辑此文件,就减少静音剩余时间的值而言,这就是问题所在。不好意思的英语道歉,也许是一个愚蠢的问题(我是新手)。

if(message.content.startsWith(prefix + 'mute')) {
  let muteduser = message.mentions.members.first();

  let mutedtime = args[1];
  muteduser.addRole(muterole);
  message.reply(`${muteduser} has been muted for ${mutedtime} min`);
  fs = require('fs');
  fs.appendFileSync("mute.json", `\n${muteduser}`,'utf8');
  fs.appendFileSync("mute.json", `\n${mutedtime}`);
}
const interval = 60000;
(function tick(){
  fs.readFile("mute.json", function(text){
     var data = JSON.parse(fs.readFileSync("mute.json"));
     console.log(data);
     var i;

     for(i=0;i<data.length;++i)
        {
     if(parseInt(data[i+1], 10) != 0){
           data[i+1] = parseInt(data[i+1]) - 1; 
         }
         if((data[i])==0){
        (data[i]).removeRole(muterole);
         }
        }
        console.log("success");

        });
  setTimeout(tick, interval);
  }); 

0 个答案:

没有答案