The helper bot for LHT https://lhtranslation.net
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Senko/bot.js

45 lines
1.7 KiB

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)));