问题描述
我试图存储输入命令的用户。我希望以后可以呼叫该用户。我在不存储的情况下可以正常工作,但是一旦存储起来,就会出现错误,将其回调。我还尝试存储整个消息并仅引用播放器,但这似乎也不起作用。
const Keyv = require("keyv");
const keyv = new Keyv();
execute(message,args) {
(async () => {
await keyv.set("player1",message.author);
const player1 = await keyv.get("player1");
message.channel.send(`${player1}`);
})();
解决方法
您正在做new keyv()
,这意味着keyv将仅使用内存作为存储。每次过程结束时都会清除内存。
您可以安装@keyv/sqlite
模块并使用以下代码来解决您的问题:
const Keyv = require("keyv");
const keyv = new Keyv('sqlite://./db.sqlite');
execute(message,args) {
(async () => {
await keyv.set("player1",message.author);
const player1 = await keyv.get("player1");
message.channel.send(`${player1}`);
})();