javascript - 如何将数组存储在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": []
}
这工作正常,但重新启动机器人后,阻止列表清除。如何将其存储在文件中,以便在重新启动后保留?
解决方案
通过对 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!");
});
推荐阅读
- python - Web 请求:json.decoder.JSONDecodeError:预期值:第 1 行第 1 列(字符 0)
- excel - 无法将 Excel 连接到 ALM
- mysql - 在第 1345 行导入带有错误的 MySql 备份:未知命令 '\"'
- swift - 修改 NSImage 的像素颜色
- java - 在Java中将多个文件的子部分合并到一个文件中
- python - 列表python的内存大小
- web - 如何在网络上流式传输 RTSP?
- python - 我无法从 Web 表中获取数据值
- php - 我将哪些参数传递给 doExpressCheckouPaymentt()?
- sql - SQLite将分钟字段添加到日期字段