From e44687377b46457199d6d25847f50d523e76b34c Mon Sep 17 00:00:00 2001 From: Salmonllama Date: Sat, 12 Sep 2020 12:27:24 -0400 Subject: [PATCH] Adding frontend-exception handler utility --- .../fsbot/utilities/DiscordUtilities.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/java/dev/salmonllama/fsbot/utilities/DiscordUtilities.java diff --git a/src/main/java/dev/salmonllama/fsbot/utilities/DiscordUtilities.java b/src/main/java/dev/salmonllama/fsbot/utilities/DiscordUtilities.java new file mode 100644 index 0000000..c3c72e6 --- /dev/null +++ b/src/main/java/dev/salmonllama/fsbot/utilities/DiscordUtilities.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2020. Aleksei Gryczewski + * All rights reserved. + */ + +package dev.salmonllama.fsbot.utilities; + +import dev.salmonllama.fsbot.config.BotConfig; +import dev.salmonllama.fsbot.guthix.CommandContext; +import org.javacord.api.entity.message.embed.EmbedBuilder; + +import java.awt.*; + +public class DiscordUtilities { + public static void handleException(Exception e, CommandContext ctx) { + EmbedBuilder embed = new EmbedBuilder() + .setTitle("Exception caught in command thread:") + .addField("message:", e.getMessage()) + .setColor(Color.RED); + + logException(e, ctx); + ctx.reply(embed); + } + + private static void logException(Exception e, CommandContext ctx) { + EmbedBuilder embed = new EmbedBuilder() + .setTitle("Runtime error:") + .addField("Message:", e.getMessage()) + .setColor(Color.RED); + + ctx.getApi().getTextChannelById(BotConfig.ACTIVITY_LOG).ifPresent(channel -> channel.sendMessage(embed)); + } +}