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")
});
};
})
添加回答
舉報