diff --git a/client/src/main/java/org/dreamexposure/discal/client/announcement/AnnouncementCreator.java b/client/src/main/java/org/dreamexposure/discal/client/announcement/AnnouncementCreator.java index 02a522a3..0a1f7e54 100644 --- a/client/src/main/java/org/dreamexposure/discal/client/announcement/AnnouncementCreator.java +++ b/client/src/main/java/org/dreamexposure/discal/client/announcement/AnnouncementCreator.java @@ -108,21 +108,19 @@ public class AnnouncementCreator { return getAnnouncement(settings.getGuildID()); } - public boolean terminate(Snowflake guildId) { - if (hasAnnouncement(guildId)) { + public void terminate(Snowflake guildId) { + if (hasAnnouncement(guildId)) announcements.remove(getAnnouncement(guildId)); - return true; - } - return false; } public AnnouncementCreatorResponse confirmAnnouncement(Snowflake guildId) { if (hasAnnouncement(guildId)) { Announcement a = getAnnouncement(guildId); if (a.hasRequiredValues()) { - DatabaseManager.getManager().updateAnnouncement(a); - terminate(guildId); - return new AnnouncementCreatorResponse(true, a); + if (DatabaseManager.getManager().updateAnnouncement(a)) { + terminate(guildId); + return new AnnouncementCreatorResponse(true, a); + } } } return new AnnouncementCreatorResponse(false); @@ -138,7 +136,7 @@ public class AnnouncementCreator { */ public Announcement getAnnouncement(Snowflake guildId) { for (Announcement a: announcements) { - if (a.getGuildId().asLong() == guildId.asLong()) { + if (a.getGuildId().equals(guildId)) { a.setLastEdit(System.currentTimeMillis()); return a; } @@ -172,7 +170,7 @@ public class AnnouncementCreator { */ public boolean hasAnnouncement(Snowflake guildId) { for (Announcement a: announcements) { - if (a.getGuildId().asLong() == guildId.asLong()) + if (a.getGuildId().equals(guildId)) return true; } return false; diff --git a/client/src/main/java/org/dreamexposure/discal/client/calendar/CalendarCreator.java b/client/src/main/java/org/dreamexposure/discal/client/calendar/CalendarCreator.java index af6f46f8..9c5c5bb0 100644 --- a/client/src/main/java/org/dreamexposure/discal/client/calendar/CalendarCreator.java +++ b/client/src/main/java/org/dreamexposure/discal/client/calendar/CalendarCreator.java @@ -141,13 +141,16 @@ public class CalendarCreator { calendarData.setCalendarId(confirmed.getId()); calendarData.setCalendarAddress(confirmed.getId()); DatabaseManager.getManager().updateCalendar(calendarData); - terminate(settings.getGuildID()); + CalendarCreatorResponse response = new CalendarCreatorResponse(true, confirmed); response.setEdited(false); response.setCreatorMessage(preCalendar.getCreatorMessage()); + + terminate(settings.getGuildID()); return response; } catch (Exception ex) { Logger.getLogger().exception(e.getMember().get(), "Failed to confirm calendar.", ex, this.getClass()); + CalendarCreatorResponse response = new CalendarCreatorResponse(false); response.setEdited(false); response.setCreatorMessage(preCalendar.getCreatorMessage()); @@ -169,13 +172,16 @@ public class CalendarCreator { scope.setType("default"); rule.setScope(scope).setRole("reader"); service.acl().insert(confirmed.getId(), rule).execute(); - terminate(settings.getGuildID()); + CalendarCreatorResponse response = new CalendarCreatorResponse(true, confirmed); response.setEdited(true); response.setCreatorMessage(preCalendar.getCreatorMessage()); + + terminate(settings.getGuildID()); return response; } catch (Exception ex) { Logger.getLogger().exception(e.getMember().get(), "Failed to update calendar.", ex, this.getClass()); + CalendarCreatorResponse response = new CalendarCreatorResponse(false); response.setEdited(true); response.setCreatorMessage(preCalendar.getCreatorMessage()); @@ -197,7 +203,7 @@ public class CalendarCreator { */ public PreCalendar getPreCalendar(Snowflake guildId) { for (PreCalendar c: calendars) { - if (c.getGuildId().asLong() == guildId.asLong()) { + if (c.getGuildId().equals(guildId)) { c.setLastEdit(System.currentTimeMillis()); return c; } @@ -225,7 +231,7 @@ public class CalendarCreator { */ public Boolean hasPreCalendar(Snowflake guildId) { for (PreCalendar c: calendars) { - if (c.getGuildId().asLong() == guildId.asLong()) + if (c.getGuildId().equals(guildId)) return true; } return false; diff --git a/client/src/main/java/org/dreamexposure/discal/client/event/EventCreator.java b/client/src/main/java/org/dreamexposure/discal/client/event/EventCreator.java index 6ba4528d..3249480b 100644 --- a/client/src/main/java/org/dreamexposure/discal/client/event/EventCreator.java +++ b/client/src/main/java/org/dreamexposure/discal/client/event/EventCreator.java @@ -235,14 +235,18 @@ public class EventCreator { preEvent.getEventData().setEventEnd(confirmed.getEnd().getDateTime().getValue()); DatabaseManager.getManager().updateEventData(preEvent.getEventData()); } - terminate(settings.getGuildID()); EventCreatorResponse response = new EventCreatorResponse(true, confirmed); + response.setCreatorMessage(getCreatorMessage(settings.getGuildID())); response.setEdited(false); + + terminate(settings.getGuildID()); return response; } catch (Exception ex) { Logger.getLogger().exception(e.getMember().get(), "Failed to create event.", ex, this.getClass()); EventCreatorResponse response = new EventCreatorResponse(false); + response.setCreatorMessage(getCreatorMessage(settings.getGuildID())); response.setEdited(false); + return response; } } else { @@ -254,14 +258,17 @@ public class EventCreator { preEvent.getEventData().setEventEnd(confirmed.getEnd().getDateTime().getValue()); DatabaseManager.getManager().updateEventData(preEvent.getEventData()); } - terminate(settings.getGuildID()); EventCreatorResponse response = new EventCreatorResponse(true, confirmed); + response.setCreatorMessage(getCreatorMessage(settings.getGuildID())); response.setEdited(true); + + terminate(settings.getGuildID()); return response; } catch (Exception ex) { Logger.getLogger().exception(e.getMember().get(), "Failed to update event.", ex, this.getClass()); EventCreatorResponse response = new EventCreatorResponse(false); + response.setCreatorMessage(getCreatorMessage(settings.getGuildID())); response.setEdited(true); return response; } @@ -281,7 +288,7 @@ public class EventCreator { */ public PreEvent getPreEvent(Snowflake guildId) { for (PreEvent e: events) { - if (e.getGuildId().asLong() == guildId.asLong()) { + if (e.getGuildId().equals(guildId)) { e.setLastEdit(System.currentTimeMillis()); return e; } @@ -309,7 +316,7 @@ public class EventCreator { */ public boolean hasPreEvent(Snowflake guildId) { for (PreEvent e: events) { - if (e.getGuildId().asLong() == guildId.asLong()) + if (e.getGuildId().equals(guildId)) return true; } return false; diff --git a/client/src/main/java/org/dreamexposure/discal/client/module/command/CalendarCommand.java b/client/src/main/java/org/dreamexposure/discal/client/module/command/CalendarCommand.java index 31a615ec..c7767b05 100644 --- a/client/src/main/java/org/dreamexposure/discal/client/module/command/CalendarCommand.java +++ b/client/src/main/java/org/dreamexposure/discal/client/module/command/CalendarCommand.java @@ -232,16 +232,16 @@ public class CalendarCommand implements ICommand { if (response.isEdited()) { if (response.getCreatorMessage() != null) { MessageManager.deleteMessage(event); - MessageManager.deleteMessage(CalendarCreator.getCreator().getCreatorMessage(settings.getGuildID())); - CalendarCreator.getCreator().setCreatorMessage(MessageManager.sendMessageSync(MessageManager.getMessage("Creator.Calendar.Confirm.Edit.Success", settings), CalendarMessageFormatter.getCalendarLinkEmbed(response.getCalendar(), settings), event)); + MessageManager.deleteMessage(response.getCreatorMessage()); + MessageManager.sendMessageSync(MessageManager.getMessage("Creator.Calendar.Confirm.Edit.Success", settings), CalendarMessageFormatter.getCalendarLinkEmbed(response.getCalendar(), settings), event); } else { MessageManager.sendMessageAsync(MessageManager.getMessage("Creator.Calendar.Confirm.Edit.Success", settings), CalendarMessageFormatter.getCalendarLinkEmbed(response.getCalendar(), settings), event); } } else { - if (response.getCalendar() != null) { + if (response.getCreatorMessage() != null) { MessageManager.deleteMessage(event); - MessageManager.deleteMessage(CalendarCreator.getCreator().getCreatorMessage(settings.getGuildID())); - CalendarCreator.getCreator().setCreatorMessage(MessageManager.sendMessageSync(MessageManager.getMessage("Creator.Calendar.Confirm.Create.Success", settings), CalendarMessageFormatter.getCalendarLinkEmbed(response.getCalendar(), settings), event)); + MessageManager.deleteMessage(response.getCreatorMessage()); + MessageManager.sendMessageSync(MessageManager.getMessage("Creator.Calendar.Confirm.Create.Success", settings), CalendarMessageFormatter.getCalendarLinkEmbed(response.getCalendar(), settings), event); } else { MessageManager.sendMessageAsync(MessageManager.getMessage("Creator.Calendar.Confirm.Create.Success", settings), CalendarMessageFormatter.getCalendarLinkEmbed(response.getCalendar(), settings), event); } diff --git a/client/src/main/java/org/dreamexposure/discal/client/module/command/CommandListener.java b/client/src/main/java/org/dreamexposure/discal/client/module/command/CommandListener.java index 98852676..715b2473 100644 --- a/client/src/main/java/org/dreamexposure/discal/client/module/command/CommandListener.java +++ b/client/src/main/java/org/dreamexposure/discal/client/module/command/CommandListener.java @@ -19,7 +19,7 @@ import java.util.Arrays; class CommandListener { /** - * Checks for command validity and calls the command executor if valid. + * Checks for command validity and ca lls the command executor if valid. * * @param event The event received to check for a command. */ diff --git a/client/src/main/java/org/dreamexposure/discal/client/module/command/DisCalCommand.java b/client/src/main/java/org/dreamexposure/discal/client/module/command/DisCalCommand.java index 2aea0f9f..cfa0fa66 100644 --- a/client/src/main/java/org/dreamexposure/discal/client/module/command/DisCalCommand.java +++ b/client/src/main/java/org/dreamexposure/discal/client/module/command/DisCalCommand.java @@ -134,7 +134,7 @@ public class DisCalCommand implements ICommand { spec.setTitle(MessageManager.getMessage("Embed.DisCal.Info.Title", settings)); spec.addField(MessageManager.getMessage("Embed.DisCal.Info.Developer", settings), "DreamExposure", true); spec.addField(MessageManager.getMessage("Embed.Discal.Info.Version", settings), GlobalConst.version, true); - spec.addField(MessageManager.getMessage("Embed.DisCal.Info.Library", settings), "Discord4J, version 2.10.1", false); + spec.addField(MessageManager.getMessage("Embed.DisCal.Info.Library", settings), "Discord4J, version 3.0.0", false); spec.addField(MessageManager.getMessage("Embed.DisCal.Info.TotalGuilds", settings), DisCalClient.getClient().getGuilds().count().block() + "", true); spec.addField(MessageManager.getMessage("Embed.DisCal.Info.TotalCalendars", settings), DatabaseManager.getManager().getCalendarCount() + "", true); spec.addField(MessageManager.getMessage("Embed.DisCal.Info.TotalAnnouncements", settings), DatabaseManager.getManager().getAnnouncementCount() + "", true); diff --git a/client/src/main/java/org/dreamexposure/discal/client/module/command/EventCommand.java b/client/src/main/java/org/dreamexposure/discal/client/module/command/EventCommand.java index c08fa2ea..216c98ad 100644 --- a/client/src/main/java/org/dreamexposure/discal/client/module/command/EventCommand.java +++ b/client/src/main/java/org/dreamexposure/discal/client/module/command/EventCommand.java @@ -424,18 +424,18 @@ public class EventCommand implements ICommand { EventCreatorResponse response = EventCreator.getCreator().confirmEvent(event, settings); if (response.isSuccessful()) { if (!response.isEdited()) { - if (EventCreator.getCreator().hasCreatorMessage(settings.getGuildID())) { + if (response.getCreatorMessage() != null) { MessageManager.deleteMessage(event); - MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(settings.getGuildID())); - EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessageSync(MessageManager.getMessage("Creator.Event.Confirm.Create", settings), EventMessageFormatter.getEventConfirmationEmbed(response, settings), event)); + MessageManager.deleteMessage(response.getCreatorMessage()); + MessageManager.sendMessageSync(MessageManager.getMessage("Creator.Event.Confirm.Create", settings), EventMessageFormatter.getEventConfirmationEmbed(response, settings), event); } else { MessageManager.sendMessageAsync(MessageManager.getMessage("Creator.Event.Confirm.Create", settings), EventMessageFormatter.getEventConfirmationEmbed(response, settings), event); } } else { - if (EventCreator.getCreator().hasCreatorMessage(settings.getGuildID())) { + if (response.getCreatorMessage() != null) { MessageManager.deleteMessage(event); - MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(settings.getGuildID())); - EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessageSync(MessageManager.getMessage("Creator.Event.Confirm.Edit", settings), EventMessageFormatter.getEventConfirmationEmbed(response, settings), event)); + MessageManager.deleteMessage(response.getCreatorMessage()); + MessageManager.sendMessageSync(MessageManager.getMessage("Creator.Event.Confirm.Edit", settings), EventMessageFormatter.getEventConfirmationEmbed(response, settings), event); } else { MessageManager.sendMessageAsync(MessageManager.getMessage("Creator.Event.Confirm.Edit", settings), EventMessageFormatter.getEventConfirmationEmbed(response, settings), event); } diff --git a/core/src/main/java/org/dreamexposure/discal/core/object/announcement/AnnouncementCreatorResponse.java b/core/src/main/java/org/dreamexposure/discal/core/object/announcement/AnnouncementCreatorResponse.java index 5a02c402..e3fab5d9 100644 --- a/core/src/main/java/org/dreamexposure/discal/core/object/announcement/AnnouncementCreatorResponse.java +++ b/core/src/main/java/org/dreamexposure/discal/core/object/announcement/AnnouncementCreatorResponse.java @@ -1,5 +1,7 @@ package org.dreamexposure.discal.core.object.announcement; +import discord4j.core.object.entity.Message; + /** * Created by Nova Fox on 11/10/17. * Website: www.cloudcraftgaming.com @@ -9,6 +11,7 @@ public class AnnouncementCreatorResponse { private final boolean successful; private Announcement announcement; + private Message creatorMessage; /** * Creates an AnnouncementCreatorResponse. @@ -50,6 +53,10 @@ public class AnnouncementCreatorResponse { return announcement; } + public Message getCreatorMessage() { + return creatorMessage; + } + //Setters /** @@ -60,4 +67,8 @@ public class AnnouncementCreatorResponse { public void setAnnouncement(Announcement _announcement) { announcement = _announcement; } + + public void setCreatorMessage(Message creatorMessage) { + this.creatorMessage = creatorMessage; + } } \ No newline at end of file