简体   繁体   中英

Quick.db, SQLite database file wiping on Bot reboot. Discord.js (Solved)

I'm trying to save a value of the server being "Down" or "Up", it seems to be working fine, however, when I clear the console, then run the bot again, it looks to have reset the database fully, is there a way to make the database, work like a normal database would? (Save after restart)

I'm having a check to see if the server is up, then don't allow it to run the command and say it's already online.

I wasn't like this before, and I haven't used quick.db for a while, so sorry if I missed anything.

Code:

// Main requirements
const { ROLE_SSUPIN, CHANNEL_SSU, CHANNEL_ROLESEL, BOT_PREFIX } = require('../../config.json')
const commandName = 'ssu'

// Optional Requirements
const { MessageEmbed } = require('discord.js')
const { QuickDB } = require('quick.db');
const db = new QuickDB();

// Main Code
module.exports = async client => {
    client.on('messageCreate', async message => {
        if (message.author.bot) return;
        if (!message.content.toLowerCase().startsWith(BOT_PREFIX)) return;

        const command = message.content.split(' ')
        const args = message.content.substring(1).split(' ')

        if (command.toString().toLowerCase().replace(BOT_PREFIX, '').startsWith(commandName)) {
            const ssuStatus = await db.get("ssu.status")
            await db.set("ssu.status", "down");
            console.log(ssuStatus)

            if (!message.member.roles.cache.get('998320362234323026')) return message.reply("Only staff with `SSU Permissions` can use this command!")//.then(m => {setTimeout( function() { m.delete(), message.delete() }, 10000)});

            if (!message.channel.id == CHANNEL_SSU) return message.reply(`Please use this command in <#${CHANNEL_SSU}>.`)
            if (ssuStatus == 'up') return message.reply(`Server Status is already set to Online. Say \`${BOT_PREFIX}Server Status Set Offline\` if you believe this is a mistake.`)

message.channel.send(`
Start up done.
`)
.then(await db.set("ssu.status", "up"))

        }
    })
}

Thank You, may you have a nice day.

  • Hamoodi

I'm sorry, I'm Dumb, I had "await db.set("ssu.status", "down");" in the start of the command.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM