2 回答
TA贡献1844条经验 获得超8个赞
看看它是如何require
工作的。如文档中所述: https ://nodejs.org/api/modules.html#modules_all_together
LOAD_AS_FILE(X)
如果 X 是文件,则加载 X 作为其文件扩展名格式。停止
如果 X.js 是文件,则将 X.js 作为 JavaScript 文本加载。停止
如果 X.json 是文件,则将 X.json 解析为 JavaScript 对象。停止
如果 X.node 是文件,则将 X.node 作为二进制插件加载。停止
所以你不应该调用JSON.parse
,因为它会require
自动将 json 模块解析为 JavaScript 对象。
TA贡献1772条经验 获得超8个赞
据我了解,您正在尝试执行以下操作:
检查消息作者是否是具有激活帐户的已知玩家。
如果是 - 发送该帐户已激活的消息并返回。
否则 - 将新玩家数据添加到已知玩家。
您可能可以通过以下方式执行此操作:
const Players = require('./Database/Players.json');
client.on('message', message => {
if (message.content.toLowerCase() === 'smack activate') {
const PlayerData = Players[message.author.username];
if (PlayerData && (PlayerData.AccountActive === 1)) {
message.channel.send("Account Already Activated");
return;
}
Players[message.author.username] = {
AccountActive: 1,
Health: 100,
Level: 1,
Lust: 0,
Items: ""
};
fs.writeFile("./Database/Players.json", JSON.stringify(Players, null, 4), err => {
if (err) throw err;
message.channel.send("Account Activated")
});
};
})
添加回答
举报