db.run 不是函数:Discord.js sqlite
Posted
技术标签:
【中文标题】db.run 不是函数:Discord.js sqlite【英文标题】:db.run is not a fuction: Discord.js sqlite 【发布时间】:2018-12-02 22:20:35 【问题描述】:所以我收到这个错误,特别是“(node:9780) UnhandledPromiseRejectionWarning: TypeError: db.run is not a function” 我不知道出了什么问题,所以我想这里有人可以帮助我。
const Discord = require("discord.js");
const client = new Discord.Client();
const bot = new Discord.Client();
const sql = require("sqlite")
const db = sql.open('./database.sqlite', Promise );
const fs = require("fs");
const staff = ["97122523086340096", "450241616331145217", "283438590875402240", "288755621787074560"]
const config = require("./config.json");
client.on("ready", async () =>
console.log(`$client.user.username is ready to help servers!`)
console.log ("Warning: I am being locally hosted. During high usage times, the bot may crash.")
db.run("CREATE TABLE IF NOT EXISTS guild (guildId TEXT, language INTEGER, links INTEGER)");
console.log(`I am available in 1 shard! I am in $client.guilds.size guilds and serving $bot.users.size`)
client.user.setActivity("For sat!help", type: "WATCHING", status:"dnd");
client.user.setPresence( status:"idle" )
);
fs.readdir("./events/", (err, files) =>
if (err) return console.error(err);
files.forEach(file =>
let eventFunction = require(`./events/$file`);
let eventName = file.split(".")[0];
client.on(eventName, (...args) => eventFunction.run(client, ...args));
);
);
client.on("message", message =>
if (message.author.bot) return;
if(message.content.indexOf(config.prefix) !== 0) return;
const args = message.content.slice(config.prefix.length).trim().split(/ +/g);
const command = args.shift().toLowerCase();
try
let commandFile = require(`./commands/$command.js`);
commandFile.run(bot, message, args);
catch (err)
return
);
client.on("guildCreate", guild =>
let guildp = guild.owner
guildp.send("Thanks for adding me to your server! \n To save you some time I would suggest you run the command 'sat!setup' to create the nessecary roles and channels for the bot. \n Please note that the channel is not made with perms.\n ***[PLEASE NOTE!] - I am still in beta so any issues with any part of the bot please tell us with sat!bug! \n Thanks!")
)
client.login(config.token);
【问题讨论】:
【参考方案1】:兑现承诺
来自 NPM - https://www.npmjs.com/package/sqlite:
const dbPromise = sqlite.open('./database.sqlite', Promise );
const db = await dbPromise;
【讨论】:
我似乎没有工作。现在我又遇到了一个错误.. SyntaxError: await is only valid in async function @saddy 在分配它的异步函数中返回它。异步函数 database()return awaitdbPromise let db=database()以上是关于db.run 不是函数:Discord.js sqlite的主要内容,如果未能解决你的问题,请参考以下文章
Discord.js 13 channel.join 不是函数
Discord.js:message.guild.channels.forEach 不是函数