添加消息作者以存储变量以便以后调用

问题描述

我试图存储输入命令的用户。我希望以后可以呼叫该用户。我在不存储的情况下可以正常工作,但是一旦存储起来,就会出现错误,将其回调。我还尝试存储整个消息并仅引用播放器,但这似乎也不起作用。

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}`);

})();

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...