我想简单地保存/加载用户统计信息,例如某种说点。
我正在使用节点模块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!");