亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

需要幫助讓 JSON.parse() 工作(Discord Bot)

需要幫助讓 JSON.parse() 工作(Discord Bot)

慕蓋茨4494581 2022-12-02 16:17:20
我有一個單獨的 JSON 文件,鏈接為const Players = require('./Database/Players.json');和一個遍歷代碼的 praserclient.on('message', message => {    if (message.content.toLowerCase() ==='smack activate') {                let PlayerData = [message.author.username];        Activate [message.author.username] = {        AccountActive: 1,        Health: 100,        Level: 1,        Lust: 0,        Items: ""        };        var parsedata = JSON.parse(Players)   // <-----------        if (parsedata.PlayerData.accountactive === 1) {            message.channel.send ("Account Already Activated");            return;        }        fs.writeFile("./Database/Players.json", JSON.stringify (Activate, null, 4), err => {            if (err) throw err;            message.channel.send ("Account Activated")        });    };但似乎沒有任何效果..我做錯了什么?我收到此錯誤消息undefined:1[object Object] ^
查看完整描述

2 回答

?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

看看它是如何require工作的。如文檔中所述: https ://nodejs.org/api/modules.html#modules_all_together

LOAD_AS_FILE(X)

  1. 如果 X 是文件,則加載 X 作為其文件擴展名格式。停止

  2. 如果 X.js 是文件,則將 X.js 作為 JavaScript 文本加載。停止

  3. 如果 X.json 是文件,則將 X.json 解析為 JavaScript 對象。停止

  4. 如果 X.node 是文件,則將 X.node 作為二進制插件加載。停止

所以你不應該調用JSON.parse,因為它會require自動將 json 模塊解析為 JavaScript 對象。


查看完整回答
反對 回復 2022-12-02
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

據我了解,您正在嘗試執行以下操作:

  1. 檢查消息作者是否是具有激活帳戶的已知玩家。

  2. 如果是 - 發送該帳戶已激活的消息并返回。

  3. 否則 - 將新玩家數據添加到已知玩家。

您可能可以通過以下方式執行此操作:

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")

    });

  };


})


查看完整回答
反對 回復 2022-12-02
  • 2 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號