IM试图设置更好的sqlite3以保存数据,我正在遵循一个白痴指南,但是无论我是否将其实现到我的代码中,它都会给我带来错误。我正在谈论的错误是TypeError:无法读取未定义的属性“ get”。这是我的代码:
if (message.content.startsWith(`${prefix}bclear`)) {
message.delete()
score = client.getScore.get(message.author.id);
if (!score) {
score = { id: `${message.author.id}`, points: 0};
}
score.points++;
}
是的,我定义了getScore
client.getScore = sql.prepare("SELECT * FROM scores WHERE id = ?");
感谢您的帮助!
您为什么不使用
client.getScore = sql.prepare(`SELECT * FROM scores WHERE id = ${message.author.id}`);
您使用?的原因?是为了防止SQL注入,但这不是必需的,因为用户无法远程输入数据。
您在条件语句中要做的第一件事是“ message.delete()”。如果没有看到'message'的数据结构,我猜想这将删除消息对象本身,从而导致对'message.x.x'的任何引用均失败。
我猜您正在尝试仅删除消息对象的一部分,但也许您正在删除整个对象。