不和谐机器人-为什么sqlite不加载?过滤器/空错误

h6my8fg2  于 2023-10-23  发布在  SQLite
关注(0)|答案(1)|浏览(118)

我的完整代码是在https://github.com/jep-dev/warn,但这里的要点。我正在尝试创建一个机器人程序,它可以将:warning:/警告的一个或多个React转换️为单个版主通知。(用户的第一React是警告️,应该通知版主,但进一步的警告️不应该是垃圾邮件。
我得到这个错误:

/home/john/dev/warn/node_modules/sqlite/build/Database.js:37
            throw new Error('sqlite: filename cannot be null / undefined');
                  ^

Error: sqlite: filename cannot be null / undefined
at /home/john/dev/warn/node_modules/sqlite/build/Database.js:37:23
at new Promise (<anonymous>)
at Database.open (/home/john/dev/warn/node_modules/sqlite/build/Database.js:33:16)
at Object.open (/home/john/dev/warn/node_modules/sqlite/build/index.js:14:14)
at Database.load (/home/john/dev/warn/database.js:6:18)
at start (/home/john/dev/warn/warn.js:77:11)
at Object.<anonymous> (/home/john/dev/warn/warn.js:83:1)
at Module._compile (node:internal/modules/cjs/loader:1233:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1287:10)
at Module.load (node:internal/modules/cjs/loader:1091:32)

Node.js v20.5.1

但是有问题的代码是从文件名加载的。

await this.sql.open("database/scores.sqlite");

文件是空的,但它存在。是这个问题还是我说错了?如果你需要在这里看到更多的代码,请告诉我。
编辑:

5          load: async function (fname) {
 6                  await this.sql.open(fname);
 7                  await this.sql.migrate();
                    ...
19          }

调用

77         await db.load("database/scores.sqlite");
busg9geu

busg9geu1#

sqlite open不接受文件名作为参数。它接受一个具有filename元素的对象。https://www.npmjs.com/package/sqlite
您需要:

await this.sql.open({filename: fname});

相关问题