From 9f5f94d49e4ea66657ac537c3216a6e55100cbf3 Mon Sep 17 00:00:00 2001 From: ION606 Date: Mon, 19 Dec 2022 20:48:01 -0500 Subject: [PATCH] Fixed an error and added a warning message when the bot crashes --- commands/Selmer Specific/msgLevels.js | 2 +- main.js | 34 +++++++++++++++++++++++++-- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/commands/Selmer Specific/msgLevels.js b/commands/Selmer Specific/msgLevels.js index b50b036..06f0698 100644 --- a/commands/Selmer Specific/msgLevels.js +++ b/commands/Selmer Specific/msgLevels.js @@ -21,7 +21,7 @@ function textToLevels(bot, message, xp_list) { if (!doc) { serverOpts.insertOne({_id: "LEVELING", enabled: false, card: undefined, text: undefined}); 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` owner.send("Interactive Leveling has been added to your server!\nTo enable it, use `/setup leveling enable`"); }); diff --git a/main.js b/main.js index 7a1abda..ba6035e 100644 --- a/main.js +++ b/main.js @@ -107,6 +107,11 @@ bot.mongouri = mongouri; const client = new MongoClient(mongouri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 }); bot.mongoconnection = client.connect(); +//Error stuff +var preverr = ""; +var errmsg; +var errTimes = 1; + //#endregion MongoDB Integration end @@ -124,6 +129,32 @@ process.on("SIGINT", (signal) => { // 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 @@ -167,7 +198,6 @@ bot.commands.set('game', temp_command); //#endregion - //#region bot.[anything] 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 if (message.channel.type === "DM") { return handle_dm(message, bot);