1 回答
TA贡献1765条经验 获得超5个赞
我并没有真正深入研究您的代码,但在我看来,JSON 文件可能有问题,该文件至少应包含{}起始内容,或者文件读取/保存有问题。我试图优化读取/保存,其他一切都是一样的,所以这里是代码:
const userDataPath = path.resolve(__dirname, './Storage/userData.json');
function loadUserData() {
return JSON.parse(fs.readFileSync(userDataPath).toString());
}
function saveUserData(userData) {
fs.writeFileSync(userDataPath, JSON.stringify(userData, null, 2));
}
message.channel.awaitMessages(filter, { max: 1, time: 30000, errors: ['time'] })
.then(collected => {
const userData = loadUserData();
message.channel.send(`${collected.first().author} acertou!`);
if (!userData[message.author.id]) {
userData[message.author.id] = {
rightQuizAnswers: 0
};
}
userData[message.author.id].rightQuizAnswers += 1;
saveUserData(userData);
})
.catch(collected => {
message.channel.send('Parece que ninguém acertou :( (Bando de buro)');
});
在其他方面,如果您还没有这样做,您应该像需要 fs 一样需要“路径”。
const fs = require('fs');
const path = require('path'); // Add this
添加回答
举报