aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/commands/CommandManager.java
diff options
context:
space:
mode:
authorPinapelz <donaldshan1@outlook.com>2023-04-07 21:45:53 -0700
committerPinapelz <donaldshan1@outlook.com>2023-04-07 21:45:53 -0700
commit50dbab5fe4feaf5356132ff463a71c76e4cc1a3a (patch)
tree11d39001b1b99aa706f05973c5b5642946edc71d /src/main/java/commands/CommandManager.java
Initial Commit
Diffstat (limited to 'src/main/java/commands/CommandManager.java')
-rw-r--r--src/main/java/commands/CommandManager.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/main/java/commands/CommandManager.java b/src/main/java/commands/CommandManager.java
new file mode 100644
index 0000000..e374b21
--- /dev/null
+++ b/src/main/java/commands/CommandManager.java
@@ -0,0 +1,52 @@
+package commands;
+
+import builders.ScheduleMessageBuilder;
+import net.dv8tion.jda.api.entities.MessageEmbed;
+import net.dv8tion.jda.api.events.interaction.SlashCommandEvent;
+import net.dv8tion.jda.api.hooks.ListenerAdapter;
+import vtuber.ScheduleHandler;
+
+import java.util.ArrayList;
+
+public class CommandManager extends ListenerAdapter {
+ ScheduleHandler scheduleHandler;
+ ScheduleMessageBuilder scb;
+ public CommandManager(String holodexAPIKey) {
+ scheduleHandler = new ScheduleHandler(holodexAPIKey);
+ scb = new ScheduleMessageBuilder();
+ System.out.println("CommandManager initialized");
+ }
+ @Override
+ public void onSlashCommand(SlashCommandEvent e) {
+ String command = e.getName();
+ switch (command) {
+ case "schedule":
+ String organization = e.getOption("organization").getAsString();
+ organization = organization.replaceAll(" ", "%20");
+ MessageEmbed scheduleMessage = scb.buildLiveAndUpcomingMessage(scheduleHandler.getSchedule(organization, 10));
+ e.deferReply().queue();
+ e.getHook().sendMessageEmbeds(scheduleMessage).queue();
+ break;
+ default:
+ e.reply("Unknown command received").queue();
+ break;
+ }
+ }
+
+ public ArrayList<MessageEmbed> updateUpcomingChannel(String name, String type){
+ ArrayList<MessageEmbed> messageEmbeds = new ArrayList<>();
+ switch (type) {
+ case "org":
+ messageEmbeds = scb.getUpcomingLiveListMessages(scheduleHandler.getSchedule(name));
+ break;
+ case "channel":
+ messageEmbeds = scb.getUpcomingLiveListMessages(scheduleHandler.getScheduleChannelId(name));
+ break;
+ default:
+ System.out.println("Unknown type");
+ break;
+ }
+ return messageEmbeds;
+ }
+
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage