2017-08-02 22 views
0

の「EXP」私は私のjavascriptのコードでは、データベースのsqliteのを使用して、関係なく、私がしようとするもの、それは常にそこにこのエラーを保持していないです:はTypeError:プロパティを読み取ることができません未定義

sql.get(`SELECT * FROM users WHERE userId ="${member.user.id}"`).then(row => { 
      if (!row) sql.run("INSERT INTO users (userId, level, exp) VALUES (?, ?, ?)", [member.user.id, 1, 0]); 
      var profile = new Discord.RichEmbed() 
      .setColor(0x0000FF) 
      .setTitle(member.user.username + "'s profile") 
      .setThumbnail(member.user.avatarURL) 
      .setDescription("Status: " + member.user.presence.status) 
      .addField("Stats","**Level** " + row.level+"\n"+row.exp+"/"+row.level*10) 
      msg.reply("here is "+member.user.username+"'s profile:",{embed:profile}); 
     }) 

あなたがunderatandなかった場合その中にはmsg.replyのようなものがあります。なぜなら、それらは私の不和のボットのためのコマンドだからです。

答えて

3

オブジェクトの行が未定義であるようです。

ラップ他の中括弧内のすべてのコード:コードで

sql.get(`SELECT * FROM users WHERE userId ="${member.user.id}"`).then(row => { 
     if (!row) 
     sql.run("INSERT INTO users (userId, level, exp) VALUES (?, ?, ?)", [member.user.id, 1, 0]); 
     else { 
     var profile = new Discord.RichEmbed() 
      .setColor(0x0000FF) 
      .setTitle(member.user.username + "'s profile") 
      .setThumbnail(member.user.avatarURL) 
      .setDescription("Status: " + member.user.presence.status) 
      .addField("Stats","**Level** " + row.level+"\n"+row.exp+"/"+row.level*10) 
     msg.reply("here is "+member.user.username+"'s profile:",{embed:profile}); 
    } 
}) 
0

あなたはそれが存在しない場合は、行を挿入しますが、常にそれに取り組んでいます。 定義されていない場合は、挿入してから再度行をフェッチして作業します。

sql.get(`SELECT * FROM users WHERE userId ="${member.user.id}"`).then(row => { 
    if(row) { 
      reply(row, member); 
    } else { 
    sql.run("INSERT INTO users (userId, level, exp) VALUES (?, ?, ?)", [member.user.id, 1, 0]).then(row => { 
      reply(row, member); 
    }) 
    } 
    }) 

    const reply = (row, member) => { 
       var profile = new Discord.RichEmbed() 
      .setColor(0x0000FF) 
      .setTitle(member.user.username + "'s profile") 
      .setThumbnail(member.user.avatarURL) 
      .setDescription("Status: " + member.user.presence.status) 
      .addField("Stats","**Level** " + row.level+"\n"+row.exp+"/"+row.level*10) 
      msg.reply("here is "+member.user.username+"'s profile:",{embed:profile}); 
    } 
、これを試してみてください
関連する問題