41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
|
require("dotenv").config();
|
||
|
require('./util');
|
||
|
global.config = require('./config');
|
||
|
if (config.testmode) console.log('TEST MODE');
|
||
|
global.exitHook = require('async-exit-hook');
|
||
|
global.Discord = require('discord.js');
|
||
|
global.fs = require('fs');
|
||
|
global.dClient = new Discord.Client({ disableMentions: 'everyone', restRequestTimeout: 5*60*1000 });
|
||
|
|
||
|
// error handling
|
||
|
{
|
||
|
let webhook = new Discord.WebhookClient(config.webhooks.error[0], config.webhooks.error[1]);
|
||
|
global.onError = function logError(error, title) {
|
||
|
let msg = error && (error.stack || error.message || error);
|
||
|
console.error(title + ':\n', msg);
|
||
|
try {
|
||
|
webhook.send(`${title ? `**${title}:**` : ""}\`\`\`\n${msg}\n\`\`\``).catch(()=>{});
|
||
|
} catch(e) {}
|
||
|
}
|
||
|
process.on('unhandledRejection', error => onError(error, "Unhandled Rejection"));
|
||
|
exitHook.uncaughtExceptionHandler(error => onError(error, "Uncaught Exception"));
|
||
|
dClient.on('error', error => onError(error, "Discord Client Error"));
|
||
|
dClient.on('warn', error => onError(error, "Discord Client Warning"));
|
||
|
|
||
|
}
|
||
|
|
||
|
dClient.login(config.DISCORD_TOKEN);
|
||
|
|
||
|
dClient.once('ready', () => {
|
||
|
console.log('Discord Client Ready');
|
||
|
dClient.defaultGuild = dClient.guilds.resolve(config.guildID);
|
||
|
|
||
|
require('./local_events');
|
||
|
require('./commands');
|
||
|
require('./mppbridger');
|
||
|
require('./misc');
|
||
|
require('./ddpbridge');
|
||
|
require('./prbridge');
|
||
|
|
||
|
});
|