如何在javascript文件中存储数组

时间:2021-02-18 19:53:21

标签: javascript discord discord.js

所以我正在使用 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": []
}

这工作正常,但在重新启动机器人后,阻止列表被清除。我怎样才能让它存储在文件中,以便它在重新启动后保持不变?

1 个答案:

答案 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!");
});