Sqlite Discord.js:无法读取null的属性“运行”

时间:2018-06-21 01:44:14

标签: node.js sqlite discord discord.js

因此,我试图为Discord.js机器人创建一个SQLite数据库,但是当我尝试使用SQLite时,却不断出现此错误(无法读取null的“ run”属性)。我的所有朋友似乎都没有这个问题,所以我想来这里。抱歉,这是一个令人讨厌的问题。.我对此还是有点陌生​​

这是我的代码:

    const Discord = require("discord.js");
    const client = new Discord.Client();
    const bot = new Discord.Client();
    const sql = require("sqlite")
    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.")
    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"} )
    sql.run("CREATE TABLE IF NOT EXISTS guild (guildId TEXT, language INTEGER, links INTEGER)")
    });
   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 个答案:

答案 0 :(得分:1)

您需要打开与数据库的连接,然后运行SQL查询。

const sql = require("sqlite")
const db = sql.open('./database.sqlite', { Promise });

db.run("CREATE TABLE IF NOT EXISTS guild (guildId TEXT, language INTEGER, links INTEGER)");