From 795cbcb8a6a0445a3119c715f87f349fc86c43e3 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Thu, 13 Apr 2023 15:23:17 -0700 Subject: Added slash command to remove existing stream configuration --- src/main/java/commands/CommandManager.java | 7 +++++ src/main/java/commands/StatusHandler.java | 2 ++ .../java/fileutils/UpcomingChannelsManager.java | 30 +++++++++++++++++++++- 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/main/java/commands/CommandManager.java b/src/main/java/commands/CommandManager.java index 34896bb..1546e01 100644 --- a/src/main/java/commands/CommandManager.java +++ b/src/main/java/commands/CommandManager.java @@ -24,7 +24,14 @@ public class CommandManager extends ListenerAdapter { String command = e.getName(); MessageEmbed scheduleMessage; switch (command) { + case "remove-config": + String searchTerm = e.getOption("term").getAsString(); + long currentDiscChannelID = e.getChannel().getIdLong(); + ucm.removeEntry(searchTerm, currentDiscChannelID); + e.reply("Successfully removed " + searchTerm + " from this channel. Please restart the bot for this to take effect").queue(); + break; case "configure": + System.out.println("RUNNING?"); String type = e.getOption("type").getAsString(); String id = e.getOption("id").getAsString(); long discordChannelId = e.getChannel().getIdLong(); diff --git a/src/main/java/commands/StatusHandler.java b/src/main/java/commands/StatusHandler.java index f6631d2..99ebc0c 100644 --- a/src/main/java/commands/StatusHandler.java +++ b/src/main/java/commands/StatusHandler.java @@ -31,6 +31,8 @@ public class StatusHandler { .addChoice("Organization", "org")) .addOption(OptionType.STRING, "id", "The name of the organization or the channel ID", true)) .queue(); + jda.upsertCommand(new CommandData("remove-config", "Removes the configuration for the channel this command is run in") + .addOption(OptionType.STRING, "term", "The channel ID or Organization")).queue(); } diff --git a/src/main/java/fileutils/UpcomingChannelsManager.java b/src/main/java/fileutils/UpcomingChannelsManager.java index 7c8ade7..4050dc2 100644 --- a/src/main/java/fileutils/UpcomingChannelsManager.java +++ b/src/main/java/fileutils/UpcomingChannelsManager.java @@ -3,10 +3,14 @@ package fileutils; import java.io.File; import java.io.FileWriter; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.List; public class UpcomingChannelsManager { + final String CONFIG_FILE_PATH = "settings//upcomingChannels.txt"; public void addNewEntry(String type, String information, String discordChannelID){ - File f = new File("settings//upcomingChannels.txt"); + File f = new File(CONFIG_FILE_PATH); try { System.out.printf("Written data to upcomingChannels.txt"); FileWriter fw = new FileWriter(f, true); @@ -17,4 +21,28 @@ public class UpcomingChannelsManager { System.out.println("Unable to open upcomingChannels.txt for writing"); } } + + public void removeEntry(String term, long discordChannelID){ + // remove the line containing the term + File f = new File(CONFIG_FILE_PATH); + try{ + List lines = Files.readAllLines(Paths.get(CONFIG_FILE_PATH)); + FileWriter fw = new FileWriter(f, false); + for(String line : lines){ + System.out.println(line); + if(line.contains(term) && line.contains(Long.toString(discordChannelID))){ + continue; + } + fw.write(line+"\n"); + } + fw.close(); + } + catch(IOException e){ + System.out.println("Unable to open upcomingChannels.txt for writing"); + } + catch (ArrayIndexOutOfBoundsException e){ + System.out.println("Out of bounds Exception, is the upcomingChannels.txt formatted correctly?"); + } + + } } -- cgit v1.2.3