首页 > 解决方案 > 如何将数组存储在javascript文件中

问题描述

所以我正在使用 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!`)
}

阻塞的.json:

{
"blockedUsers": []
}

这工作正常,但重新启动机器人后,阻止列表清除。如何将其存储在文件中,以便在重新启动后保留?

标签: javascriptdiscorddiscord.js

解决方案


通过对 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!");
}); 

推荐阅读