From 8eebc347d8bedfa7c485f97d7b1374aa55eaefa5 Mon Sep 17 00:00:00 2001 From: NovaFox161 Date: Mon, 2 Jul 2018 10:34:16 -0500 Subject: [PATCH] Error catching maybe I dunno --- .../announcement/AnnouncementThread.java | 119 +++++++++--------- 1 file changed, 62 insertions(+), 57 deletions(-) diff --git a/Bot/src/main/java/com/cloudcraftgaming/discal/bot/module/announcement/AnnouncementThread.java b/Bot/src/main/java/com/cloudcraftgaming/discal/bot/module/announcement/AnnouncementThread.java index 1edb1fb6..ca2ea65a 100644 --- a/Bot/src/main/java/com/cloudcraftgaming/discal/bot/module/announcement/AnnouncementThread.java +++ b/Bot/src/main/java/com/cloudcraftgaming/discal/bot/module/announcement/AnnouncementThread.java @@ -51,77 +51,82 @@ public class AnnouncementThread extends Thread { ArrayList allAnnouncements = DatabaseManager.getManager().getEnabledAnnouncements(type); for (Announcement a: allAnnouncements) { - Logger.getLogger().announcement("starting an announcement", a.getGuildId() + "", a.getAnnouncementId() + "", "N/a"); - //Check if guild is part of DisCal's guilds. This way we can clear out the database... - if (!GuildUtils.active(a.getGuildId())) { - DatabaseManager.getManager().deleteAnnouncement(a.getAnnouncementId().toString()); - continue; - } - //Get everything we need ready. - GuildSettings settings = getSettings(a); - CalendarData calendar = getCalendarData(a); - Calendar service; - try { - service = getService(settings); - } catch (Exception e) { - Logger.getLogger().exception(null, "Failed to handle service! 01a102", e, this.getClass(), true); - continue; - } + Logger.getLogger().announcement("starting an announcement", a.getGuildId() + "", a.getAnnouncementId() + "", "N/a"); + //Check if guild is part of DisCal's guilds. This way we can clear out the database... + if (!GuildUtils.active(a.getGuildId())) { + DatabaseManager.getManager().deleteAnnouncement(a.getAnnouncementId().toString()); + continue; + } + //Get everything we need ready. + GuildSettings settings = getSettings(a); + CalendarData calendar = getCalendarData(a); + Calendar service; - //Now we can check the announcement type and do all the actual logic here. - switch (type) { - case SPECIFIC: - if (EventUtils.eventExists(settings, a.getEventId())) { - try { - Event e = service.events().get(calendar.getCalendarId(), a.getEventId()).execute(); - if (inRange(a, e)) { - //We can announce it. - AnnouncementMessageFormatter.sendAnnouncementMessage(a, e, calendar, settings); - //And now lets delete it - DatabaseManager.getManager().deleteAnnouncement(a.getAnnouncementId().toString()); + try { + service = getService(settings); + } catch (Exception e) { + Logger.getLogger().exception(null, "Failed to handle service! 01a102", e, this.getClass(), true); + continue; + } + + //Now we can check the announcement type and do all the actual logic here. + switch (type) { + case SPECIFIC: + if (EventUtils.eventExists(settings, a.getEventId())) { + try { + Event e = service.events().get(calendar.getCalendarId(), a.getEventId()).execute(); + if (inRange(a, e)) { + //We can announce it. + AnnouncementMessageFormatter.sendAnnouncementMessage(a, e, calendar, settings); + //And now lets delete it + DatabaseManager.getManager().deleteAnnouncement(a.getAnnouncementId().toString()); + } + } catch (IOException e) { + //Event getting error, we know it exists tho + Logger.getLogger().exception(null, "Failed to get event! 01a103", e, this.getClass(), true); } - } catch (IOException e) { - //Event getting error, we know it exists tho - Logger.getLogger().exception(null, "Failed to get event! 01a103", e, this.getClass(), true); + } else { + //Event is gone, we can just delete this shit. + DatabaseManager.getManager().deleteAnnouncement(a.getAnnouncementId().toString()); } - } else { - //Event is gone, we can just delete this shit. - DatabaseManager.getManager().deleteAnnouncement(a.getAnnouncementId().toString()); - } - break; - case UNIVERSAL: - for (Event e: getEvents(settings, calendar, service, a)) { - if (inRange(a, e)) { - //It fits! Let's do it! - AnnouncementMessageFormatter.sendAnnouncementMessage(a, e, calendar, settings); - } - } - break; - case COLOR: - for (Event e: getEvents(settings, calendar, service, a)) { - if (a.getEventColor() == EventColor.fromNameOrHexOrID(e.getColorId())) { + break; + case UNIVERSAL: + for (Event e: getEvents(settings, calendar, service, a)) { if (inRange(a, e)) { //It fits! Let's do it! AnnouncementMessageFormatter.sendAnnouncementMessage(a, e, calendar, settings); } } - } - break; - case RECUR: - for (Event e: getEvents(settings, calendar, service, a)) { - if (inRange(a, e)) { - if (e.getId().contains("_") && e.getId().split("_")[0].equals(a.getEventId())) { - //It fits! Lets announce! - AnnouncementMessageFormatter.sendAnnouncementMessage(a, e, calendar, settings); + break; + case COLOR: + for (Event e: getEvents(settings, calendar, service, a)) { + if (a.getEventColor() == EventColor.fromNameOrHexOrID(e.getColorId())) { + if (inRange(a, e)) { + //It fits! Let's do it! + AnnouncementMessageFormatter.sendAnnouncementMessage(a, e, calendar, settings); + } } } - } - break; + break; + case RECUR: + for (Event e: getEvents(settings, calendar, service, a)) { + if (inRange(a, e)) { + if (e.getId().contains("_") && e.getId().split("_")[0].equals(a.getEventId())) { + //It fits! Lets announce! + AnnouncementMessageFormatter.sendAnnouncementMessage(a, e, calendar, settings); + } + } + } + break; + } + Logger.getLogger().announcement("finished an announcement", a.getGuildId() + "", a.getAnnouncementId() + "", "N/a"); + } catch (Exception e) { + Logger.getLogger().exception(null, "Announcement failed! ID: " + a.getAnnouncementId() + ", GUILD: " + a.getGuildId(), e, this.getClass(), true); } - Logger.getLogger().announcement("finished an announcement", a.getGuildId() + "", a.getAnnouncementId() + "", "N/a"); } + //Just clear everything immediately. allSettings.clear(); calendars.clear();