2020-03-29 07:45:09 +00:00
|
|
|
// Woomy version 2
|
|
|
|
// Copyright 2020 mudkipscience
|
|
|
|
|
2020-03-30 08:47:55 +00:00
|
|
|
// Check node.js version
|
2020-03-30 16:01:13 +00:00
|
|
|
if (Number(process.version.slice(1).split('.')[0]) < 12) {
|
2020-03-29 07:45:09 +00:00
|
|
|
console.log('NodeJS 12.0.0 or higher is required. Please update NodeJS on your system.')
|
|
|
|
process.exit()
|
|
|
|
}
|
|
|
|
|
2020-03-31 11:40:51 +00:00
|
|
|
// Libraries
|
2020-03-29 07:45:09 +00:00
|
|
|
const fs = require('fs')
|
2020-03-31 07:59:09 +00:00
|
|
|
const colors = require('colors')
|
2020-04-02 08:17:42 +00:00
|
|
|
const isDocker = require('is-docker')
|
2020-03-30 16:01:13 +00:00
|
|
|
const Discord = require('discord.js')
|
|
|
|
const client = new Discord.Client({ disabledEvents: ['TYPING_START'] })
|
2020-03-29 07:45:09 +00:00
|
|
|
|
2020-03-31 07:59:09 +00:00
|
|
|
client.logger = require('tracer').colorConsole({
|
|
|
|
format: [
|
2020-04-03 06:26:16 +00:00
|
|
|
'{{timestamp}} | {{title}} | {{file}} | {{message}}',
|
2020-03-31 08:24:51 +00:00
|
|
|
{
|
2020-04-03 06:26:16 +00:00
|
|
|
debug: `{{timestamp}} | ${'{{title}}'.magenta} | {{file}} | {{message}}`,
|
|
|
|
log: `{{timestamp}} | ${'{{title}}'.white} | {{file}} | {{message}}`,
|
|
|
|
info: `{{timestamp}} | ${'{{title}}'.cyan} | {{file}} | {{message}}`,
|
|
|
|
ready: `{{timestamp}} | ${'{{title}}'.green} | {{file}} | {{message}}`,
|
|
|
|
warn: `{{timestamp}} | ${'{{title}}'.yellow} | {{file}} | {{message}}`,
|
|
|
|
error: `{{timestamp}} | ${'{{title}}'.red} | {{file}} | {{message}}`,
|
|
|
|
fatal: `{{timestamp}} | ${'{{title}}'.red.bold} | {{file}} | {{message}}`
|
2020-03-31 08:24:51 +00:00
|
|
|
}
|
2020-03-31 07:59:09 +00:00
|
|
|
],
|
2020-04-01 08:33:02 +00:00
|
|
|
dateformat: 'yyyy-mm-dd"T"HH:MM:ss',
|
2020-03-31 07:59:09 +00:00
|
|
|
methods: ['log', 'debug', 'info', 'ready', 'warn', 'error', 'fatal'],
|
2020-03-31 15:45:45 +00:00
|
|
|
filters: [colors.white]
|
2020-03-31 07:59:09 +00:00
|
|
|
})
|
2020-03-31 04:09:50 +00:00
|
|
|
|
2020-04-03 00:07:51 +00:00
|
|
|
// Check to make sure config exists
|
2020-03-29 07:45:09 +00:00
|
|
|
if (fs.existsSync('./config.js') === false) {
|
2020-03-31 07:59:09 +00:00
|
|
|
client.logger.fatal('The config.js file is missing! Please create a config.js file.')
|
2020-03-29 07:45:09 +00:00
|
|
|
process.exit()
|
|
|
|
}
|
|
|
|
|
2020-04-03 14:55:35 +00:00
|
|
|
client.levelCache = {}
|
|
|
|
client.commands = new Discord.Collection()
|
|
|
|
client.cooldown = new Discord.Collection()
|
|
|
|
client.aliases = new Discord.Collection()
|
|
|
|
|
2020-03-31 04:09:50 +00:00
|
|
|
client.config = require('./config')
|
2020-04-03 14:55:35 +00:00
|
|
|
client.mongoose = require('./modules/mongoose')
|
2020-04-01 08:33:02 +00:00
|
|
|
require('./modules/functions')(client)
|
|
|
|
require('./modules/music')(client)
|
2020-04-03 14:55:35 +00:00
|
|
|
require('./modules/commands')(client)
|
|
|
|
require('./modules/events')(client)
|
|
|
|
|
|
|
|
for (let i = 0; i < client.config.permLevels.length; i++) {
|
|
|
|
const thisLevel = client.config.permLevels[i]
|
|
|
|
client.levelCache[thisLevel.name] = thisLevel.level
|
|
|
|
}
|
2020-03-29 07:45:09 +00:00
|
|
|
|
2020-04-02 08:17:42 +00:00
|
|
|
if (isDocker() === true) {
|
2020-03-31 16:37:17 +00:00
|
|
|
client.devmode = true
|
|
|
|
client.logger.warn('Running in development mode.')
|
|
|
|
} else {
|
|
|
|
client.devmode = false
|
|
|
|
}
|
|
|
|
|
2020-04-03 14:55:35 +00:00
|
|
|
console.log(client.mongoose)
|
|
|
|
client.mongoose.init()
|
2020-03-30 08:47:55 +00:00
|
|
|
|
2020-04-03 14:55:35 +00:00
|
|
|
if (client.devmode !== true) {
|
|
|
|
client.login(client.config.token)
|
|
|
|
} else {
|
|
|
|
client.login(client.config.token_dev)
|
2020-03-29 07:45:09 +00:00
|
|
|
}
|