diff --git a/API/src/main/java/discal/api/database/Database.java b/API/src/main/java/discal/api/database/Database.java
deleted file mode 100644
index 1ca20c0a..00000000
--- a/API/src/main/java/discal/api/database/Database.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package discal.api.database;
-
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-/**
- * Created by Nova Fox on 11/10/17.
- * Website: www.cloudcraftgaming.com
- * For Project: DisCal-Discord-Bot
- */
-@SuppressWarnings({"unused", "WeakerAccess"})
-public abstract class Database {
- protected Connection connection;
-
- /**
- * Creates a new Database
- */
- protected Database() {
- this.connection = null;
- }
-
- /**
- * Opens a connection with the database
- *
- * @return Opened connection
- * @throws SQLException if the connection can not be opened
- * @throws ClassNotFoundException if the driver cannot be found
- */
- public abstract Connection openConnection() throws SQLException, ClassNotFoundException;
-
- /**
- * Checks if a connection is open with the database
- *
- * @return true if the connection is open
- * @throws SQLException if the connection cannot be checked
- */
- public boolean checkConnection() throws SQLException {
- return connection != null && !connection.isClosed();
- }
-
- /**
- * Gets the connection with the database
- *
- * @return Connection with the database, null if none
- */
- public Connection getConnection() {
- return connection;
- }
-
- /**
- * Closes the connection with the database
- *
- * @return true if successful
- * @throws SQLException if the connection cannot be closed
- */
- public boolean closeConnection() throws SQLException {
- if (connection == null)
- return false;
-
- connection.close();
- return true;
- }
-
- /**
- * Executes a SQL Query
- *
- * If the connection is closed, it will be opened
- *
- * @param query Query to be run
- * @return the results of the query
- * @throws SQLException If the query cannot be executed
- * @throws ClassNotFoundException If the driver cannot be found; see {@link #openConnection()}
- */
- public ResultSet querySQL(String query) throws SQLException, ClassNotFoundException {
- if (!checkConnection())
- openConnection();
-
- Statement statement = connection.createStatement();
-
- return statement.executeQuery(query);
- }
-
- /**
- * Executes an Update SQL Query
- * See {@link java.sql.Statement#executeUpdate(String)}
- * If the connection is closed, it will be opened
- *
- * @param query Query to be run
- * @return Result Code, see {@link java.sql.Statement#executeUpdate(String)}
- * @throws SQLException If the query cannot be executed
- * @throws ClassNotFoundException If the driver cannot be found; see {@link #openConnection()}
- */
- public int updateSQL(String query) throws SQLException, ClassNotFoundException {
- if (!checkConnection())
- openConnection();
-
- Statement statement = connection.createStatement();
-
- return statement.executeUpdate(query);
- }
-}
\ No newline at end of file
diff --git a/API/src/main/java/discal/api/message/MessageManager.java b/API/src/main/java/discal/api/message/MessageManager.java
deleted file mode 100644
index 76c9bf86..00000000
--- a/API/src/main/java/discal/api/message/MessageManager.java
+++ /dev/null
@@ -1,319 +0,0 @@
-package discal.api.message;
-
-import discal.api.DisCalAPI;
-import discal.api.file.ReadFile;
-import discal.api.object.GuildSettings;
-import discal.logger.Logger;
-import sx.blah.discord.api.internal.json.objects.EmbedObject;
-import sx.blah.discord.handle.impl.events.guild.channel.message.MessageReceivedEvent;
-import sx.blah.discord.handle.obj.IChannel;
-import sx.blah.discord.handle.obj.IMessage;
-import sx.blah.discord.handle.obj.IPrivateChannel;
-import sx.blah.discord.handle.obj.IUser;
-import sx.blah.discord.util.DiscordException;
-import sx.blah.discord.util.MessageBuilder;
-import sx.blah.discord.util.MissingPermissionsException;
-import sx.blah.discord.util.RequestBuffer;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by Nova Fox on 11/10/17.
- * Website: www.cloudcraftgaming.com
- * For Project: DisCal-Discord-Bot
- */
-@SuppressWarnings("unchecked")
-public class MessageManager {
- public static String lineBreak = System.getProperty("line.separator");
-
- private static Maptrue if successful, else false.
- */
- @Override
- public boolean issueCommand(String[] args, MessageReceivedEvent event, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- //TODO: Add multiple calendar handling.
- CalendarData calendarData = DatabaseManager.getManager().getMainCalendar(guildId);
- if (args.length < 1) {
- MessageManager.sendMessage(MessageManager.getMessage("Notification.Args.Few", settings), event);
- } else {
- switch (args[0].toLowerCase()) {
- case "create":
- if (PermissionChecker.hasSufficientRole(event))
- moduleCreate(args, event, calendarData, settings);
- else
- MessageManager.sendMessage(MessageManager.getMessage("Notification.Perm.CONTROL_ROLE", settings), event);
- break;
- case "copy":
- if (PermissionChecker.hasSufficientRole(event))
- moduleCopy(args, event, calendarData, settings);
- else
- MessageManager.sendMessage(MessageManager.getMessage("Notification.Perm.CONTROL_ROLE", settings), event);
- break;
- case "edit":
- if (PermissionChecker.hasSufficientRole(event))
- moduleEdit(args, event, calendarData, settings);
- else
- MessageManager.sendMessage(MessageManager.getMessage("Notification.Perm.CONTROL_ROLE", settings), event);
- break;
- case "restart":
- if (PermissionChecker.hasSufficientRole(event))
- moduleRestart(args, event, calendarData, settings);
- else
- MessageManager.sendMessage(MessageManager.getMessage("Notification.Perm.CONTROL_ROLE", settings), event);
- break;
- case "cancel":
- if (PermissionChecker.hasSufficientRole(event))
- moduleCancel(event, settings);
- else
- MessageManager.sendMessage(MessageManager.getMessage("Notification.Perm.CONTROL_ROLE", settings), event);
- break;
- case "delete":
- if (PermissionChecker.hasSufficientRole(event))
- moduleDelete(args, event, calendarData, settings);
- else
- MessageManager.sendMessage(MessageManager.getMessage("Notification.Perm.CONTROL_ROLE", settings), event);
- break;
- case "view":
- moduleView(args, event, calendarData, settings);
- break;
- case "review":
- moduleView(args, event, calendarData, settings);
- break;
- case "confirm":
- if (PermissionChecker.hasSufficientRole(event))
- moduleConfirm(event, calendarData, settings);
- else
- MessageManager.sendMessage(MessageManager.getMessage("Notification.Perm.CONTROL_ROLE", settings), event);
- break;
- case "startdate":
- moduleStartDate(args, event, settings);
- break;
- case "start":
- moduleStartDate(args, event, settings);
- break;
- case "enddate":
- moduleEndDate(args, event, settings);
- break;
- case "end":
- moduleEndDate(args, event, settings);
- break;
- case "summary":
- moduleSummary(args, event, settings);
- break;
- case "description":
- moduleDescription(args, event, settings);
- break;
- case "color":
- moduleColor(args, event, settings);
- break;
- case "colour":
- moduleColor(args, event, settings);
- break;
- case "location":
- moduleLocation(args, event, settings);
- break;
- case "loc":
- moduleLocation(args, event, settings);
- break;
- case "image":
- moduleAttachment(args, event, settings);
- break;
- case "attachment":
- moduleAttachment(args, event, settings);
- break;
- case "recur":
- moduleRecur(args, event, settings);
- break;
- case "frequency":
- moduleFrequency(args, event, settings);
- break;
- case "freq":
- moduleFrequency(args, event, settings);
- break;
- case "count":
- moduleCount(args, event, settings);
- break;
- case "interval":
- moduleInterval(args, event, settings);
- break;
- default:
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Notification.Args.Invalid", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Notification.Args.Invalid", settings), event);
- }
- break;
- }
- }
- return false;
- }
-
-
- private void moduleCreate(String[] args, MessageReceivedEvent event, CalendarData calendarData, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- if (EventCreator.getCreator().hasPreEvent(guildId)) {
- if (EventCreator.getCreator().getPreEvent(guildId).getCreatorMessage() != null) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.AlreadyInit", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.AlreadyInit", settings), event);
- }
- } else {
- if (!calendarData.getCalendarAddress().equalsIgnoreCase("primary")) {
- PreEvent e;
- if (args.length == 1)
- e = EventCreator.getCreator().init(event, settings, true);
- else
- e = EventCreator.getCreator().init(event, settings, GeneralUtils.getContent(args, 1), true);
-
- if (e.getCreatorMessage() == null)
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Create.Init", settings), event);
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NoCalendar", settings), event);
- }
- }
- }
-
- private void moduleCopy(String[] args, MessageReceivedEvent event, CalendarData calendarData, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- if (!calendarData.getCalendarAddress().equalsIgnoreCase("primary")) {
- if (!EventCreator.getCreator().hasPreEvent(guildId)) {
- if (args.length == 2) {
- String eventId = args[1];
- if (EventUtils.eventExists(settings, eventId)) {
- PreEvent preEvent = EventCreator.getCreator().init(event, eventId, settings, true);
- if (preEvent != null) {
- if (preEvent.getCreatorMessage() == null) {
- MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(preEvent, settings), MessageManager.getMessage("Creator.Event.Copy.Init", settings), event);
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Notification.Error.Unknown", settings), event);
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NotFound", settings), event);
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Copy.Specify", settings), event);
- }
- } else {
- if (EventCreator.getCreator().getPreEvent(guildId).getCreatorMessage() != null) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.AlreadyInit", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.AlreadyInit", settings), event);
- }
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NoCalendar", settings), event);
- }
- }
-
- private void moduleEdit(String[] args, MessageReceivedEvent event, CalendarData calendarData, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- if (!calendarData.getCalendarAddress().equalsIgnoreCase("primary")) {
- if (!EventCreator.getCreator().hasPreEvent(guildId)) {
- if (args.length == 2) {
- String eventId = args[1];
- if (EventUtils.eventExists(settings, eventId)) {
- PreEvent preEvent = EventCreator.getCreator().edit(event, eventId, settings, true);
- if (preEvent.getCreatorMessage() == null) {
- MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(preEvent, settings), MessageManager.getMessage("Creator.Event.Edit.Init", settings), event);
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NotFound", settings), event);
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Edit.Specify", settings), event);
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.AlreadyInit", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.AlreadyInit", settings), event);
- }
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NoCalendar", settings), event);
- }
- }
-
- private void moduleCancel(MessageReceivedEvent event, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- IMessage msg = null;
- if (EventCreator.getCreator().hasCreatorMessage(guildId))
- msg = EventCreator.getCreator().getCreatorMessage(guildId);
-
- if (EventCreator.getCreator().terminate(event)) {
- if (msg != null) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(msg);
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Cancel.Success", settings), event);
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Cancel.Success", settings), event);
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NotInit", settings), event);
- }
- }
-
- private void moduleRestart(String[] args, MessageReceivedEvent event, CalendarData calendarData, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- IMessage msg = null;
- boolean editing = false;
- if (EventCreator.getCreator().hasPreEvent(guildId))
- editing = EventCreator.getCreator().getPreEvent(guildId).isEditing();
-
-
-
- if (EventCreator.getCreator().hasCreatorMessage(guildId))
- msg = EventCreator.getCreator().getCreatorMessage(guildId);
-
- if (EventCreator.getCreator().terminate(event)) {
- if (msg != null) {
- MessageManager.deleteMessage(msg);
- MessageManager.deleteMessage(event);
- }
- if (!editing)
- moduleCreate(args, event, calendarData, settings);
- else
- moduleEdit(args, event, calendarData, settings);
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NotInit", settings), event);
- }
- }
-
- private void moduleDelete(String[] args, MessageReceivedEvent event, CalendarData calendarData, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- if (args.length == 2) {
- if (!calendarData.getCalendarAddress().equalsIgnoreCase("primary")) {
- if (!EventCreator.getCreator().hasPreEvent(guildId)) {
- if (EventUtils.deleteEvent(settings, args[1])) {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Delete.Success", settings), event);
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NotFound", settings), event);
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Delete.Failure.Creator", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Delete.Failure.Creator", settings), event);
- }
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NoCalendar", settings), event);
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Delete.Specify", settings), event);
- }
- }
-
- private void moduleView(String[] args, MessageReceivedEvent event, CalendarData calendarData, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- if (args.length == 1) {
- if (EventCreator.getCreator().hasPreEvent(guildId)) {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Event.View.Creator.Confirm", settings), event));
- } else {
- MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Event.View.Creator.Confirm", settings), event);
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Event.View.Args.Few", settings), event);
- }
- } else if (args.length == 2) {
- //Try to get the event by ID.
- if (!EventCreator.getCreator().hasPreEvent(guildId)) {
- if (!calendarData.getCalendarAddress().equalsIgnoreCase("primary")) {
- try {
- Calendar service = CalendarAuth.getCalendarService(settings);
-
- Event calEvent = service.events().get(calendarData.getCalendarAddress(), args[1]).execute();
- MessageManager.sendMessage(EventMessageFormatter.getEventEmbed(calEvent, settings), event);
- } catch (Exception e) {
- //Event probably doesn't exist...
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NotFound", settings), event);
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NoCalendar", settings), event);
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Event.View.Creator.Active", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Event.View.Creator.Active", settings), event);
- }
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Event.View.Specify", settings), event);
- }
- }
-
- private void moduleConfirm(MessageReceivedEvent event, CalendarData calendarData, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- if (EventCreator.getCreator().hasPreEvent(guildId)) {
- if (EventCreator.getCreator().getPreEvent(guildId).hasRequiredValues()) {
- if (!calendarData.getCalendarAddress().equalsIgnoreCase("primary")) {
- EventCreatorResponse response = EventCreator.getCreator().confirmEvent(event, settings);
- if (response.isSuccessful()) {
- if (!response.isEdited()) {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getEventConfirmationEmbed(response, settings), MessageManager.getMessage("Creator.Event.Confirm.Create", settings), event));
- } else {
- MessageManager.sendMessage(EventMessageFormatter.getEventConfirmationEmbed(response, settings), MessageManager.getMessage("Creator.Event.Confirm.Create", settings), event);
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getEventConfirmationEmbed(response, settings), MessageManager.getMessage("Creator.Event.Confirm.Edit", settings), event));
- } else {
- MessageManager.sendMessage(EventMessageFormatter.getEventConfirmationEmbed(response, settings), MessageManager.getMessage("Creator.Event.Confirm.Edit", settings), event);
- }
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Confirm.Failure", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Confirm.Failure", settings), event);
- }
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.NoCalendar", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NoCalendar", settings), event);
- }
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.NoRequired", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NoRequired", settings), event);
- }
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NotInit", settings), event);
- }
- }
-
- private void moduleStartDate(String[] args, MessageReceivedEvent event, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- if (args.length == 2) {
- if (EventCreator.getCreator().hasPreEvent(guildId)) {
- String dateRaw = args[1].trim();
- if (dateRaw.length() > 10) {
- try {
- //Do a lot of date shuffling to get to proper formats and shit like that.
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd-HH:mm:ss");
- TimeZone tz = TimeZone.getTimeZone(EventCreator.getCreator().getPreEvent(guildId).getTimeZone());
- sdf.setTimeZone(tz);
- Date dateObj = sdf.parse(dateRaw);
- DateTime dateTime = new DateTime(dateObj);
- EventDateTime eventDateTime = new EventDateTime();
- eventDateTime.setDateTime(dateTime);
-
- //Wait! Lets check now if its in the future and not the past!
- if (!TimeUtils.inPast(dateRaw, tz) && !TimeUtils.startAfterEnd(dateRaw, tz, EventCreator.getCreator().getPreEvent(guildId))) {
- //Date shuffling done, now actually apply all that damn stuff here.
- EventCreator.getCreator().getPreEvent(guildId).setStartDateTime(eventDateTime);
-
- //Apply viewable date/times...
- SimpleDateFormat sdfV = new SimpleDateFormat("yyyy/MM/dd-HH:mm:ss");
- Date dateObjV = sdfV.parse(dateRaw);
- DateTime dateTimeV = new DateTime(dateObjV);
- EventDateTime eventDateTimeV = new EventDateTime();
- eventDateTimeV.setDateTime(dateTimeV);
- EventCreator.getCreator().getPreEvent(guildId).setViewableStartDate(eventDateTimeV);
-
-
- //To streamline, check if event end is null, if so, apply 2 hour duration!
- if (EventCreator.getCreator().getPreEvent(guildId).getEndDateTime() == null) {
- EventDateTime end = EventCreator.getCreator().getPreEvent(guildId).getStartDateTime().clone();
- long endLong = end.getDateTime().getValue() + 3600000; //Add an hour
-
- end.setDateTime(new DateTime(endLong));
-
- EventCreator.getCreator().getPreEvent(guildId).setEndDateTime(end);
-
-
- //Viewable date
- EventDateTime endV = EventCreator.getCreator().getPreEvent(guildId).getViewableStartDate().clone();
- long endVLong = endV.getDateTime().getValue() + 3600000; //Add an hour
-
- endV.setDateTime(new DateTime(endVLong));
-
- EventCreator.getCreator().getPreEvent(guildId).setViewableEndDate(endV);
- }
-
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Start.Success.New", settings), event));
- } else {
- String msg = MessageManager.getMessage("Creator.Event.Start.Success", settings);
- msg = msg.replaceAll("%date%", EventMessageFormatter.getHumanReadableDate(eventDateTimeV, settings, true)).replaceAll("%time%", EventMessageFormatter.getHumanReadableTime(eventDateTimeV, settings, true));
- MessageManager.sendMessage(msg, event);
- }
- } else {
- //Oops! Time is in the past or after end...
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Start.Failure.Illegal", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Start.Failure.Illegal", settings), event);
- }
- }
- } catch (ParseException e) {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Time.Invalid", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Time.Invalid", settings), event);
- }
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Time.InvalidFormat", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Time.InvalidFormat", settings), event);
- }
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NotInit", settings), event);
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Start.Specify", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Start.Specify", settings), event);
- }
- }
- }
-
- private void moduleEndDate(String[] args, MessageReceivedEvent event, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- if (args.length == 2) {
- if (EventCreator.getCreator().hasPreEvent(guildId)) {
- String dateRaw = args[1].trim();
- if (dateRaw.length() > 10) {
- try {
- //Do a lot of date shuffling to get to proper formats and shit like that.
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd-HH:mm:ss");
- TimeZone tz = TimeZone.getTimeZone(EventCreator.getCreator().getPreEvent(guildId).getTimeZone());
- sdf.setTimeZone(tz);
- Date dateObj = sdf.parse(dateRaw);
- DateTime dateTime = new DateTime(dateObj);
- EventDateTime eventDateTime = new EventDateTime();
- eventDateTime.setDateTime(dateTime);
-
- //Wait! Lets check now if its in the future and not the past!
- if (!TimeUtils.inPast(dateRaw, tz) && !TimeUtils.endBeforeStart(dateRaw, tz, EventCreator.getCreator().getPreEvent(guildId))) {
- //Date shuffling done, now actually apply all that damn stuff here.
- EventCreator.getCreator().getPreEvent(guildId).setEndDateTime(eventDateTime);
-
- //Apply viewable date/times...
- SimpleDateFormat sdfV = new SimpleDateFormat("yyyy/MM/dd-HH:mm:ss");
- Date dateObjV = sdfV.parse(dateRaw);
- DateTime dateTimeV = new DateTime(dateObjV);
- EventDateTime eventDateTimeV = new EventDateTime();
- eventDateTimeV.setDateTime(dateTimeV);
- EventCreator.getCreator().getPreEvent(guildId).setViewableEndDate(eventDateTimeV);
-
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.End.Success.New", settings), event));
- } else {
- String msg = MessageManager.getMessage("Creator.Event.End.Success", settings);
- msg = msg.replaceAll("%date%", EventMessageFormatter.getHumanReadableDate(eventDateTimeV, settings, true)).replaceAll("%time%", EventMessageFormatter.getHumanReadableTime(eventDateTimeV, settings, true));
- MessageManager.sendMessage(msg, event);
- }
- } else {
- //Oops! Time is in the past or before the starting time...
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.End.Failure.Illegal", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.End.Failure.Illegal", settings), event);
- }
- }
- } catch (ParseException e) {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Time.Invalid", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Time.Invalid", settings), event);
- }
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Time.InvalidFormat", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Time.InvalidFormat", settings), event);
- }
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NotInit", settings), event);
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.End.Specify", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.End.Specify", settings), event);
- }
- }
- }
-
- private void moduleSummary(String[] args, MessageReceivedEvent event, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- if (args.length > 1) {
- if (EventCreator.getCreator().hasPreEvent(guildId)) {
- String content = GeneralUtils.getContent(args, 1);
- EventCreator.getCreator().getPreEvent(guildId).setSummary(content);
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Summary.Success.New", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Summary.Success", "%summary%", GeneralUtils.getContent(args, 1), settings), event);
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NotInit", settings), event);
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Summary.Specify", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Summary.Specify", settings), event);
- }
- }
- }
-
- private void moduleDescription(String[] args, MessageReceivedEvent event, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- if (args.length > 1) {
- if (EventCreator.getCreator().hasPreEvent(guildId)) {
- String content = GeneralUtils.getContent(args, 1);
- EventCreator.getCreator().getPreEvent(guildId).setDescription(content);
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Description.Success.New", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Description.Success", "%description%", content, settings), event);
- }
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.NotInit", settings), event);
- }
- } else {
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(EventMessageFormatter.getPreEventEmbed(EventCreator.getCreator().getPreEvent(guildId), settings), MessageManager.getMessage("Creator.Event.Description.Specify", settings), event));
- } else {
- MessageManager.sendMessage(MessageManager.getMessage("Creator.Event.Description.Specify", settings), event);
- }
- }
- }
-
- private void moduleColor(String[] args, MessageReceivedEvent event, GuildSettings settings) {
- long guildId = event.getGuild().getLongID();
- if (args.length == 2) {
- String value = args[1];
- if (value.equalsIgnoreCase("list") || value.equalsIgnoreCase("colors") || value.equalsIgnoreCase("colours")) {
- EmbedBuilder em = new EmbedBuilder();
- em.withAuthorIcon(DisCalAPI.getAPI().iconUrl);
- em.withAuthorName("DisCal!");
-
- em.withTitle("Available Colors");
- em.withUrl("https://discalbot.com/docs/event/colors");
- em.withColor(56, 138, 237);
- em.withFooterText("Click Title for previews of the colors!");
-
- for (EventColor ec : EventColor.values()) {
- em.appendField(ec.name(), ec.getId() + "", true);
- }
-
- if (EventCreator.getCreator().hasCreatorMessage(guildId)) {
- MessageManager.deleteMessage(event);
- MessageManager.deleteMessage(EventCreator.getCreator().getCreatorMessage(guildId));
- EventCreator.getCreator().setCreatorMessage(MessageManager.sendMessage(em.build(), "All Supported Colors. Use either the name or ID in the command: `!event color