gpt4 book ai didi

javascript - 保存 JSON 文件以便稍后从中获取其他数据

转载 作者:行者123 更新时间:2023-11-29 23:25:45 24 4
gpt4 key购买 nike

我希望能够用新数据保存我的 json 文件,然后调用该数据以便我可以再次保存新数据。现在它所做的就是,当我调用 JSON 文件数据的任何部分时,保持上次我手动保存它时的状态。 (我确实编辑了一些代码并更好地描述了我的问题)提前谢谢你!这是我的代码,没有错误日志:

const Discord = require('discord.js');
const botconfig = require("./botconfig.json");
const fs = require("fs");
const bot = new Discord.Client();
bot.on("message", async message => {
let prefix = botconfig.prefix;
let messageArray = message.content.split(" ");
let cmd = messageArray[0];
let args = messageArray.slice(1);
console.log(message.member.id)
var playerFile = require(`./playerData/${message.member.id}.json`);
if (message.author.bot) return;
if (message.channel.type === "dm") return;
if (cmd.charAt(0) === prefix) {
if(cmd === `${prefix}fc`){
fs.exists(`./playerData/${message.member.id}.json`, function(exists) {
if(exists){
let ar = args[0];
let ninConsole = args[1];
let code = args[2];
if(ar === "add" || ar === "remove"){
if(code){
if(ar === "add"){
console.log("Add");
if(ninConsole === "switch"){
console.log("Switch " + code);
let fileContent = `{"switch": "${code}","threeDS": "${playerFile.threeDS}"}`
fs.writeFile(`./playerData/${message.member.id}.json`, fileContent, (err) => {
if (err) {
console.error(err);
return;
};
});
}
if(ninConsole === "3ds"){
let fileContent = `{"switch": "${playerFile.switch}","threeDS": "${code}"}`
fs.writeFile(`./playerData/${message.member.id}.json`, fileContent, (err) => {
if (err) {
console.error(err);
return;
};
});
}
}
if(ar === "remove"){
if(ninConsole === "switch"){
let fileContent = `{"switch": "None","threeDS": "${playerFile.threeDS}"}`
fs.writeFile(`./playerData/${message.member.id}.json`, fileContent, (err) => {
if (err) {
console.error(err);
return;
};
});
}
if(ninConsole === "3ds"){
let fileContent = `{"switch": "${playerFile.switch}","threeDS": "None"}`
fs.writeFile(`./playerData/${message.member.id}.json`, fileContent, (err) => {
if (err) {
console.error(err);
return;
};
});
}
}
}
}
}else{
return;
}
});
}

最佳答案

下面是一个使用 fs 将数据保存到 JSON 文件的例子:

JSON.parse(fs.readFileSync("./points.json", "utf8"));

这里有一个关于如何使用此代码为 discord 机器人创建积分系统的示例: https://anidiotsguide_old.gitbooks.io/discord-js-bot-guide/content/coding-guides/storing-data-in-a-json-file.html

下面是这个例子的代码:

const Discord = require("discord.js");
const fs = require("fs");
const client = new Discord.Client();

let points = JSON.parse(fs.readFileSync("./points.json", "utf8"));
const prefix = "+";

client.on("message", message => {
if (!message.content.startsWith(prefix)) return;
if (message.author.bot) return;

if (!points[message.author.id]) points[message.author.id] = {
points: 0,
level: 0
};
let userData = points[message.author.id];
userData.points++;

let curLevel = Math.floor(0.1 * Math.sqrt(userData.points));
if (curLevel > userData.level) {
// Level up!
userData.level = curLevel;
message.reply(`You"ve leveled up to level **${curLevel}**! Ain"t that dandy?`);
}

if (message.content.startsWith(prefix + "level")) {
message.reply(`You are currently level ${userData.level}, with ${userData.points} points.`);
}
fs.writeFile("./points.json", JSON.stringify(points), (err) => {
if (err) console.error(err)
});

});

client.login("SuperSecretBotTokenHere");

希望对您有所帮助!

关于javascript - 保存 JSON 文件以便稍后从中获取其他数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49420471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com