如何使用sqlite3和Discord.js保存/加载持久数据

时间:2019-04-30 14:45:23

标签: javascript sqlite discord discord.js

我想简单地保存/加载用户统计信息,例如某种说点。

我正在使用节点模块sqlite3访问sqlite数据库。但是,它似乎无法正常工作。无论我搜索了多少,我都找不到如何使用sqlite3执行SELECT的操作,该操作会使我返回要在JS中使用的对象 我找到了一些教程,但它们是针对更好的sqlite的,我无法使用,因为我无法使node-gyp正常工作。

var userID = message.member.id; 

var userdata;

// try to find existing data
userdata = db.run("SELECT * FROM scores WHERE user_id=?", [
    userID
], function(err) {
    if (err) {
        console.error(err);
    }
});

console.log("userdata is: "+userdata);

// default data if entry does not exist
if (userdata === undefined) {

    console.log("Data does not exists, creating...");

    userdata = {
        "userID": userID,
        "points": 0
    }

}

// increment the points
userdata.points++;

console.log("User ID is: "+userdata.userID);
console.log("Points are: "+userdata.points);

// save the data
db.run("INSERT OR REPLACE INTO scores (user_id, points) VALUES ($userID, $points)", 
{
    $userID: userdata.userID,
    $points: userdata.points
}, function(err){
    if (err) {
        console.error(err);
    }
});


message.channel.send("Data saved!");

0 个答案:

没有答案