You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.js与quick.db数据未找到报错求助

排查 Discord.js + quick.db "data not found" 错误

可能的原因及对应解决方法

1. quick.db 初始化时机错误

你的代码在模块内部才引入quick.db,可能导致初始化不完整。建议将其移至文件顶部与其他依赖一同引入:

const Discord = require('discord.js');
const moment = require('moment');
const { prefix } = require('../config.json');
const db = require('quick.db'); // 移至顶部统一初始化

module.exports = async(message,guild,args,member) => {
  // 后续业务代码
}

2. fetch 方法兼容性问题

新版 quick.db 已弃用fetch方法,改用get获取数据,替换后可解决部分版本兼容报错:

const d2 = db.get(`dil_${message.guild.id}`);

3. 未处理异常语言值分支

若数据库中存储的语言值既不是tr也不是en,会导致lang变量未定义,补充默认分支避免后续报错:

const d2 = db.get(`dil_${message.guild.id}`);
let lang;
// 无数据或值不在预期范围内时,默认加载土耳其语配置
if(!d2 || !['tr','en'].includes(d2)) {
  lang = require('../lang/tr.json');
} else if(d2 === "en") {
  lang = require('../lang/en.json');
} else {
  lang = require('../lang/tr.json');
}

4. 数据库文件或路径异常

  • 确认 quick.db 生成的json.sqlite文件所在目录具备读写权限
  • 检查../lang/路径下确实存在tr.json和en.json文件,路径层级与项目结构匹配

5. Guild ID 无效

确保代码仅在服务器频道执行,避免私信场景下message.guild为空导致的无效键值:

if(!message.guild) return; // 过滤私信频道
const d2 = db.get(`dil_${message.guild.id}`);

内容的提问来源于stack exchange,提问作者DnzCgn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 12:45:36