Fixed an error and added a warning message when the bot crashes

This commit is contained in:
ION606
2022-12-19 20:48:01 -05:00
parent a41e602036
commit 9f5f94d49e
2 changed files with 33 additions and 3 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ function textToLevels(bot, message, xp_list) {
if (!doc) { if (!doc) {
serverOpts.insertOne({_id: "LEVELING", enabled: false, card: undefined, text: undefined}); serverOpts.insertOne({_id: "LEVELING", enabled: false, card: undefined, text: undefined});
const server = bot.guilds.cache.get(message.guild.id); const server = bot.guilds.cache.get(message.guild.id);
server.members.fetch(guild.ownerId).then(function(owner) { server.members.fetch(message.guild.ownerId).then(function(owner) {
// Implement `setup leveling enable` // Implement `setup leveling enable`
owner.send("Interactive Leveling has been added to your server!\nTo enable it, use `/setup leveling enable`"); owner.send("Interactive Leveling has been added to your server!\nTo enable it, use `/setup leveling enable`");
}); });
+32 -2
View File
@@ -107,6 +107,11 @@ bot.mongouri = mongouri;
const client = new MongoClient(mongouri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 }); const client = new MongoClient(mongouri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 });
bot.mongoconnection = client.connect(); bot.mongoconnection = client.connect();
//Error stuff
var preverr = "";
var errmsg;
var errTimes = 1;
//#endregion MongoDB Integration end //#endregion MongoDB Integration end
@@ -124,6 +129,32 @@ process.on("SIGINT", (signal) => {
// process.exit(0); // process.exit(0);
}); });
process.on('uncaughtException', (signal) => {
//Check if this was the last err and if so, ignore
if (preverr == signal.stack.toString()) {
var tempmsg = errmsg.content;
tempmsg.replaceAll(`{${errTimes}}`, `{${errTimes + 1}}`);
errTimes++;
errmsg.edit(tempmsg);
return;
}
const guild = bot.guilds.cache.get(bot.home_server);
const owner = guild.members.cache.get(guild.ownerId);
preverr = signal.stack.toString();
owner.send(`${owner} SELMER BOT IS DOWN!!!`).then(() => {
guild.channels.cache.get("1054550753982828624").send(`<@&944048889038774302> Selmer Bot is down!\n***ERROR STACK:***\n`).then(() => {
guild.channels.cache.get("1054550753982828624").send(`\`\`\`${preverr}\`\`\`\nTHIS ERROR HAS OCCURED {1} TIMES IN A ROW`).then((msg) => {
errmsg = msg;
preverr = signal.stack.toString();
// exit(12);
});
});
});
});
//#endregion //#endregion
@@ -167,7 +198,6 @@ bot.commands.set('game', temp_command);
//#endregion //#endregion
//#region bot.[anything] section //#region bot.[anything] section
//XP Table section //XP Table section
@@ -380,7 +410,7 @@ bot.on('guildMemberAdd', async (member) => {
}); });
bot.on('messageCreate', (message) => { bot.on('messageCreate', (message) => { console.log(y);
//DM SECTION //DM SECTION
if (message.channel.type === "DM") { if (message.channel.type === "DM") {
return handle_dm(message, bot); return handle_dm(message, bot);