const Discord = require('discord.js'); const errorhandler = require('./util/log/errorhandler'); const log = require('./util/log/log'); const wait = require('./util/misc/wait'); const flags = Discord.GatewayIntentBits; const partials = Discord.Partials; let fl = []; Object.keys(flags).forEach(flag => fl.push(flags[flag])); // fuck new standards i'm in't'zing with all the flags. const client = new Discord.Client({intents: fl, partials: [partials.Channel, partials.Message, partials.Reaction]}); let waitAmount = 1000 * 10; function testConnection() { return new Promise(async r => { require('dns').lookup('www.google.com', async e => { if (e) {await wait(waitAmount); waitAmount *= 2; await testConnection(); r();} else {r();} }) }); } const startBot = async () => { client.config = require('./json/config.json'); client.auth = require('./json/auth.json'); client.config.randResp = require('./json/randresp.json'); require('./util/misc/setutils')(client); require('./util/misc/embed')(client); const loggers = log(client); Object.keys(loggers).forEach(logger => client[logger] = loggers[logger]); client.log(client.utils.gr(client.config.randResp.clistart), {color: "#78d9f8", source: client.config.bot.consoleName}, true, true); //senko's wakeup log require('./bot/startup/run/getflags')(client); await require('./db/connect')(client); //connect to database await require('./bot/startup/run/collect')(client); //load in commands and events await require('./bot/startup/run/login')(client); //log in to discord } testConnection().then(() => startBot().catch(e => errorhandler(client, e)));