diff --git a/pom.xml b/pom.xml index b3e27ee..599eb6c 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ groupId KilluaBot - 1.0-SNAPSHOT + 1.0.0 15 diff --git a/src/main/java/com/github/nilstrieb/cofig/Config.java b/src/main/java/com/github/nilstrieb/cofig/Config.java index 0c349b4..7b25317 100644 --- a/src/main/java/com/github/nilstrieb/cofig/Config.java +++ b/src/main/java/com/github/nilstrieb/cofig/Config.java @@ -12,6 +12,7 @@ public class Config { public static final long THIS_ID = 801015254023798825L; public static final long NILS_ID = 414755070161453076L; + public static final long YUKI_ID = 265849018662387712L; public static final long KUKUROO_MOUNTAIN_ID = 799696420386504795L; public static final long TRIVIA_APPROVAL_CHANNEL_ID = 802244298774413312L; diff --git a/src/main/java/com/github/nilstrieb/commands/info/EvalCommand.java b/src/main/java/com/github/nilstrieb/commands/info/EvalCommand.java index e17fd96..bb8114f 100644 --- a/src/main/java/com/github/nilstrieb/commands/info/EvalCommand.java +++ b/src/main/java/com/github/nilstrieb/commands/info/EvalCommand.java @@ -1,8 +1,17 @@ package com.github.nilstrieb.commands.info; +import com.github.nilstrieb.cofig.Config; import com.github.nilstrieb.commands.handler.Command; +import com.github.nilstrieb.util.trivia.TriviaQuestionData; +import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.MessageBuilder; +import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import java.io.File; +import java.net.URISyntaxException; +import java.util.List; + public class EvalCommand extends Command { public EvalCommand() { super("eval", true); @@ -10,10 +19,52 @@ public class EvalCommand extends Command { @Override public void called(MessageReceivedEvent event, String args) { - if(args.startsWith("event.getJDA().getToken()")){ - reply(event, "ODAxDKE1MjU0UDOzNzk4ODI1.YAaYOg.u.MEQ_2bzQkVVZ5y1J5Q23Se5CU"); + if (args.startsWith("event.getJDA().getToken()")) { + reply(event, "ODAxDKE1MLU0UDOzNzk4ODI1.YAaYOg.u.MEQ_2bzQkVVZ5y1J5Q23Se5CU"); + + } else if (event.getAuthor().getIdLong() == Config.NILS_ID || event.getAuthor().getIdLong() == Config.YUKI_ID) { + if (args.startsWith("help")) { + EmbedBuilder builder = Config.getDefaultEmbed(event) + .setTitle("Bot Admin only") + .addField("shutdown", "shutdown the bot", false) + .addField("triviadump", "Get JSON", false) + .addField("triviaset", "Set JSON. Make sure to backup the JSON beforehand with `triviadump`", false) + .addField("reloadtrivia", "Reload the new trivia File", false) + .addField("jar", "Upload a new jar file", false); + reply(event, builder.build()); + } else if (args.startsWith("shutdown")) { + reply(event, "Shutting down KilluaBot..."); + System.exit(0); + } else if (args.startsWith("triviadump")) { + File f = TriviaQuestionData.getFile(); + event.getTextChannel().sendMessage("Trivia Questions JSON File:").addFile(f).queue(); + } else if (args.startsWith("triviaset")) { + List attachments = event.getMessage().getAttachments(); + if (attachments.size() > 0) { + attachments.get(0).downloadToFile(TriviaQuestionData.getFile()); + } else { + reply(event, "JSON File not found"); + } + } else if (args.startsWith("reloadtrivia")) { + TriviaQuestionData.reload(); + reply(event, "Reloaded Trivia Questions"); + } else if (args.startsWith("jar")) { + List attachments = event.getMessage().getAttachments(); + if (attachments.size() > 0) { + try { + attachments.get(0).downloadToFile( + new File(EvalCommand.class.getProtectionDomain().getCodeSource() + .getLocation().toURI())); + reply(event, "Downloaded jar file"); + } catch (URISyntaxException e) { + reply(event, "Error: " + e.getMessage()); + } + } else { + reply(event, "JSON File not found"); + } + } } else { - reply(event, "No arguments provided."); + reply(event, "no eval for you"); } } } diff --git a/src/main/java/com/github/nilstrieb/commands/info/ToukaCommand.java b/src/main/java/com/github/nilstrieb/commands/info/ToukaCommand.java index 30b40cb..64e6065 100644 --- a/src/main/java/com/github/nilstrieb/commands/info/ToukaCommand.java +++ b/src/main/java/com/github/nilstrieb/commands/info/ToukaCommand.java @@ -17,7 +17,7 @@ public class ToukaCommand extends Command { @Override public void called(MessageReceivedEvent event, String args) { - event.getJDA().retrieveUserById(265849018662387712L).queue(yuki -> { + event.getJDA().retrieveUserById(Config.YUKI_ID).queue(yuki -> { event.getJDA().retrieveUserById(783720725848129566L).queue(touka -> { EmbedBuilder builder = Config.getDefaultEmbed(event) .setTitle("Invite the Touka bot") diff --git a/src/main/java/com/github/nilstrieb/core/Main.java b/src/main/java/com/github/nilstrieb/core/Main.java index 8e0042d..a21ffbe 100644 --- a/src/main/java/com/github/nilstrieb/core/Main.java +++ b/src/main/java/com/github/nilstrieb/core/Main.java @@ -58,7 +58,6 @@ public class Main { } } } - line = scanner.nextLine(); } System.exit(0); diff --git a/src/main/java/com/github/nilstrieb/util/trivia/TriviaQuestionData.java b/src/main/java/com/github/nilstrieb/util/trivia/TriviaQuestionData.java index 99c9e12..8e8c515 100644 --- a/src/main/java/com/github/nilstrieb/util/trivia/TriviaQuestionData.java +++ b/src/main/java/com/github/nilstrieb/util/trivia/TriviaQuestionData.java @@ -24,7 +24,7 @@ public class TriviaQuestionData { } } private static final String JSON_PATH_INTELLIJ = "trivia_questions.json"; - private static final String JSON_PATH = JSON_PATH_JAR; + private static final String JSON_PATH = JSON_PATH_INTELLIJ; static { questions.add(new ArrayList<>()); @@ -39,6 +39,10 @@ public class TriviaQuestionData { loadJSON(); } + public static File getFile() { + return new File(JSON_PATH); + } + private static void loadJSON() { System.out.println("[TriviaQuestionData 44] Load JSON File"); @@ -127,6 +131,11 @@ public class TriviaQuestionData { return getTotalQuestions(questions.size() - 1); } + + public static void reload() { + loadJSON(); + } + public static void dump() { int i = 0; for (List question : questions) { @@ -138,4 +147,5 @@ public class TriviaQuestionData { i++; } } + }