所以我正在使用 discord.js 并试图获取一个块命令以将其值存储在一个数组中。换句话说,当我执行 /block 时,它会忽略那个人,但我希望它将它存储在一个文件中,以便在重新启动后保持不变。我当前的代码如下:
//at the top
var { blockedUsers } = require('./blocked.json')
//in the command listener
if (command == 'block') {
let user = message.mentions.users.first();
if (user && !blockedUsers.includes(user.id)) blockedUsers.push(user.id);
message.channel.send(`blocked!`)
}
blocked.json:
{
"blockedUsers": []
}
这工作正常,但在重新启动机器人后,阻止列表被清除。我怎样才能让它存储在文件中,以便它在重新启动后保持不变?
答案 0 :(得分:1)
通过对 JSON 文件使用 require,您将文件内容作为 JavaScript 对象进行评估,该对象独立于 JSON 源文件。
为了在文件中持久化修改,使用这个:
const fs = require('fs');
fs.writeFile("./blocked.json", JSON.stringify({ blockedUsers }), function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});