Discord.js 当我使用discordjs commando setProvider()时,sqlite给出错误

Discord.js 当我使用discordjs commando setProvider()时,sqlite给出错误,discord.js,commando,Discord.js,Commando,我正在使用discordjs突击队和 client.setProvider( open(path.join(uu dirname,'settings.sqlite3'))。然后(db=>newcommando.SQLiteProvider(db)) ).catch(控制台错误); 他给了我这个错误 错误:未定义sqlite:filename 你知道怎么做吗?我想我知道怎么解决它 client.setProvider( open({filename:path.join(uu dirname,'s

我正在使用discordjs突击队和

client.setProvider(
open(path.join(uu dirname,'settings.sqlite3'))。然后(db=>newcommando.SQLiteProvider(db))
).catch(控制台错误);
他给了我这个错误
错误:未定义sqlite:filename


你知道怎么做吗?

我想我知道怎么解决它

client.setProvider(
open({filename:path.join(uu dirname,'settings.sqlite3')})。然后(db=>newcommando.SQLiteProvider(db))
).catch(控制台错误);

用这个

我想我知道一个解决方法

client.setProvider(
open({filename:path.join(uu dirname,'settings.sqlite3')})。然后(db=>newcommando.SQLiteProvider(db))
).catch(控制台错误);

使用这个

Yo,所以这个回复可能比asf晚了。但是,我通过以下方法实现了这一点:

//这一行只是检查一下我的Node.js版本是否是版本12。
//如果不是,它会告诉我更新Node.js
if(Number(process.version.slice(1).split(“.”[0])<12)抛出新错误(“需要节点12.0.0或更高版本。请在系统上更新节点”);
//这些是我的进口货
const{CommandoClient,Commando}=require('discord.js Commando');
const{promisify}=require(“util”);
const readdir=promisify(require(“fs”).readdir);
常量Enmap=需要(“Enmap”);
const path=require('path');
需要('./.eslintrc.json');
require('dotenv').config();//我使用dotenv来存储我更安全的信息
const TOKEN=process.env.CLIENT_TOKEN;//此行从dotenv读取我的客户机令牌
const PREFIX=process.env.CLIENT_PREFIX;//此行从dotenv读取我的客户端前缀
const OWNER_ID=process.env.OWNER;//此行从dotenv读取bot的所有者id
const init=async()=>{//我在这里为我的客户机安装了一个异步包装器
const sqlite=require('sqlite');//我在这里导入了sqlite
const client=wait new CommandoClient({//我在这里设置了我的客户机
commandPrefix:PREFIX,
所有者:所有者ID,
每个人:是的,
未知命令响应:false
});
setProvider(//这行代码设置我的SQLite DB提供程序
open({filename:path.join(uu dirname,'settings.sqlite3')})。然后(db=>newcommando.SQLiteProvider(db))
).then(console.log).catch(console.error);
//由于我将客户机包装在一个异步包装器中,因此我的命令和组在这里注册
客户端注册表
.registerDefaultTypes()
.RegisterGroup([
[‘管理’,‘管理’],
['mod','Moderation'],
['util','Utility'],
[“杂项”、“杂项”],
['twitch','twitch']
])
.registerDefaultGroups()
.registerDefaultCommands()
.registerCommandsIn(path.join(u dirname,'commands'));
client.commands=new Enmap();//这将为我的命令设置一个新的Enmap
client.alias=new Enmap();//这将为我的命令别名设置一个新的Enmap
client.settings=new-Enmap({name:“settings”});//这将为我的设置设置一个新的Enmap
client.logger=require(“./modules/logger.js”);//此行使我的bot需要我在bot的modules文件夹中的内部logger.js文件
require(“./modules/functions.js”)(client);//这一行使我的bot需要我的bot的modules文件夹中的internal functions.js文件
const evtFiles=await readdir(“./events/”);
log(`Loading a total of${evtFiles.length}事件。`);
evtFiles.forEach(文件=>{
const eventName=file.split(“.”[0];
log(`Loading Event:${eventName}`);
const event=require(`./events/${file}`);
//在现有参数之前,将客户端绑定到任何事件
//由discord.js事件提供。
on(eventName,event.bind(null,client));
client.login(TOKEN.catch(console.error);//由于我的客户机位于异步包装器中,所以我在这里导入了我的令牌
});
};
init();//现在我已经完成了index.js文件的其余部分,我在这里结束了异步包装

它可能对你没有多大用处了,但我希望这能在将来帮助其他人。

哟,所以这个回复可能太晚了。但是,我通过以下方法实现了这一点:

//这一行只是检查一下我的Node.js版本是否是版本12。
//如果不是,它会告诉我更新Node.js
if(Number(process.version.slice(1).split(“.”[0])<12)抛出新错误(“需要节点12.0.0或更高版本。请在系统上更新节点”);
//这些是我的进口货
const{CommandoClient,Commando}=require('discord.js Commando');
const{promisify}=require(“util”);
const readdir=promisify(require(“fs”).readdir);
常量Enmap=需要(“Enmap”);
const path=require('path');
需要('./.eslintrc.json');
require('dotenv').config();//我使用dotenv来存储我更安全的信息
const TOKEN=process.env.CLIENT_TOKEN;//此行从dotenv读取我的客户机令牌
const PREFIX=process.env.CLIENT_PREFIX;//此行从dotenv读取我的客户端前缀
const OWNER_ID=process.env.OWNER;//此行从dotenv读取bot的所有者id
const init=async()=>{//我在这里为我的客户机安装了一个异步包装器
const sqlite=require('sqlite');//我在这里导入了sqlite
const client=wait new CommandoClient({//我在这里设置了我的客户机
commandPrefix:PREFIX,
所有者:所有者ID,
每个人:是的,
未知命令响应:false
});
setProvider(//这行代码设置我的SQLite DB提供程序
open({filename:path.join(uu dirname,'settings.sqlite3')})。然后(db=>newcommando.SQLiteProvider(db))
).then(console.log).catch(console.error);
//由于我将客户机包装在一个异步包装器中,因此我的命令和组在这里注册
客户端注册表
.registerDefaultTypes()
.RegisterGroup([
[‘管理’,‘管理’],