From 2bbc6b9f1d039e0fe788a7cac4362c43bcf84d7b Mon Sep 17 00:00:00 2001 From: ZtereoHYPE <57519662+ZtereoHYPE@users.noreply.github.com> Date: Tue, 10 May 2022 13:10:20 +0200 Subject: [PATCH] change: clean up code and fix a few issues --- .../codes/ztereohype/ztereomusic/ZtereoMUSIC.java | 6 ++++-- .../audio/CustomAudioLoadResultHandler.java | 6 +++--- .../ztereohype/ztereomusic/audio/TrackManager.java | 12 ++++++++---- .../ztereomusic/command/commands/Clear.java | 10 ++++------ .../ztereomusic/command/commands/Remove.java | 9 +++++---- .../ztereohype/ztereomusic/database/Config.java | 10 ++++++---- .../ztereomusic/listeners/CommandListener.java | 2 +- .../ztereomusic/networking/YoutubeSearch.java | 2 +- 8 files changed, 32 insertions(+), 25 deletions(-) diff --git a/src/main/java/codes/ztereohype/ztereomusic/ZtereoMUSIC.java b/src/main/java/codes/ztereohype/ztereomusic/ZtereoMUSIC.java index 154e557..2976381 100644 --- a/src/main/java/codes/ztereohype/ztereomusic/ZtereoMUSIC.java +++ b/src/main/java/codes/ztereohype/ztereomusic/ZtereoMUSIC.java @@ -52,7 +52,7 @@ public class ZtereoMUSIC { EnumSet intents = EnumSet.of(GatewayIntent.GUILD_MESSAGES, GatewayIntent.GUILD_VOICE_STATES, GatewayIntent.GUILD_EMOJIS); ztereoMUSIC.setConfig(Config.loadFrom("./config.json5")); - ztereoMUSIC.setJda(JDABuilder.createDefault(ztereoMUSIC.getConfig().getPropreties().get("token"), intents) + ztereoMUSIC.setJda(JDABuilder.createDefault(ztereoMUSIC.getConfig().getPropreties().getProperty("token"), intents) .enableCache(CacheFlag.VOICE_STATE) .build() .awaitReady()); @@ -92,7 +92,7 @@ public class ZtereoMUSIC { for (String commandName : this.getCommandMap().keySet()) { for (String aliasName : this.getCommandMap().get(commandName).getMeta().getAliases()) { - System.out.println("Loaded alias \"" + aliasName + "\" for command: " + commandName); + // System.out.println("Loaded alias \"" + aliasName + "\" for command: " + commandName); this.getCommandAliases().put(aliasName, commandName); } } @@ -103,10 +103,12 @@ public class ZtereoMUSIC { AudioSourceManagers.registerRemoteSources(this.getPlayerManager()); AudioSourceManagers.registerLocalSource(this.getPlayerManager()); SpotifyApiHelper.startTokenTimer(); + System.out.println("started audio"); } private void setListeners() { this.getJda().addEventListener(new CommandListener()); this.getJda().addEventListener(new AloneDisconnectListener()); + System.out.println("started listeners"); } } diff --git a/src/main/java/codes/ztereohype/ztereomusic/audio/CustomAudioLoadResultHandler.java b/src/main/java/codes/ztereohype/ztereomusic/audio/CustomAudioLoadResultHandler.java index 9b9c421..1c5caf1 100644 --- a/src/main/java/codes/ztereohype/ztereomusic/audio/CustomAudioLoadResultHandler.java +++ b/src/main/java/codes/ztereohype/ztereomusic/audio/CustomAudioLoadResultHandler.java @@ -22,8 +22,9 @@ public class CustomAudioLoadResultHandler implements AudioLoadResultHandler { @Override public void playlistLoaded(AudioPlaylist playlist) { for (AudioTrack track : playlist.getTracks()) { - this.trackManager.queue(track); + this.trackManager.getTrackQueue().add(track); } + this.messageChannel.sendMessage("Queued " + playlist.getTracks().size() + " songs from: " + playlist.getName()).queue(); } @Override public void noMatches() { @@ -31,8 +32,7 @@ public class CustomAudioLoadResultHandler implements AudioLoadResultHandler { } @Override public void loadFailed(FriendlyException throwable) { - this.messageChannel.sendMessage("Failed loading that audio. Try with a different source (eg. YouTube URL)") - .queue(); + this.messageChannel.sendMessage("Failed loading that audio. Try with a different source (eg. YouTube URL)").queue(); } } diff --git a/src/main/java/codes/ztereohype/ztereomusic/audio/TrackManager.java b/src/main/java/codes/ztereohype/ztereomusic/audio/TrackManager.java index 5545b13..d4d51a9 100644 --- a/src/main/java/codes/ztereohype/ztereomusic/audio/TrackManager.java +++ b/src/main/java/codes/ztereohype/ztereomusic/audio/TrackManager.java @@ -17,11 +17,14 @@ import java.util.ArrayList; import java.util.List; public class TrackManager extends AudioEventAdapter { - public final List trackQueue = new ArrayList<>(); - private final @Getter AudioPlayer player; + private final @Getter + List trackQueue = new ArrayList<>(); + private final @Getter + AudioPlayer player; private String hasRetriedId; private @Getter - @Setter MessageChannel infoChannel; + @Setter + MessageChannel infoChannel; public TrackManager(AudioPlayerManager playerManager, MessageChannel infoChannel) { this.player = playerManager.createPlayer(); @@ -90,6 +93,7 @@ public class TrackManager extends AudioEventAdapter { case FINISHED -> playNext(); case LOAD_FAILED -> { + System.out.println("tracc failed"); String identifier; String trackTitle = track.getInfo().title; @@ -118,7 +122,7 @@ public class TrackManager extends AudioEventAdapter { @Override public void onTrackException(AudioPlayer player, AudioTrack track, FriendlyException exception) { // infoChannel.sendMessage("Uh oh, a track did something strange. Ask the owner to check for errors in console. ").queue(); - // System.out.println(exception.getCause().getMessage()); + System.out.println(exception.getCause().getMessage()); onTrackEnd(player, track, AudioTrackEndReason.LOAD_FAILED); } diff --git a/src/main/java/codes/ztereohype/ztereomusic/command/commands/Clear.java b/src/main/java/codes/ztereohype/ztereomusic/command/commands/Clear.java index 0880fa2..e9c884a 100644 --- a/src/main/java/codes/ztereohype/ztereomusic/command/commands/Clear.java +++ b/src/main/java/codes/ztereohype/ztereomusic/command/commands/Clear.java @@ -11,7 +11,8 @@ import net.dv8tion.jda.api.entities.MessageChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; public class Clear implements Command { - private @Getter final CommandMeta meta; + private @Getter + final CommandMeta meta; public Clear() { this.meta = CommandMeta.builder() @@ -20,10 +21,7 @@ public class Clear implements Command { .description("Clears the queue and stops playing.") .isNsfw(false) .isHidden(false) - .checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED, - VoiceChecks.BOT_PLAYING, - VoiceChecks.USER_CONNECTED, - VoiceChecks.SAME_VC_IF_CONNECTED }) + .checks(new VoiceChecks[] { VoiceChecks.BOT_CONNECTED, VoiceChecks.BOT_PLAYING, VoiceChecks.USER_CONNECTED, VoiceChecks.SAME_VC_IF_CONNECTED }) .build(); } @@ -34,7 +32,7 @@ public class Clear implements Command { assert trackManager != null; // the command will not execute if it is anyway because of our VoiceChecks (BOT_PLAYING) - int tracksLeft = trackManager.trackQueue.size(); + int tracksLeft = trackManager.getTrackQueue().size(); for (int i = 0; i < tracksLeft; i++) { trackManager.removeQueueItem(0); } diff --git a/src/main/java/codes/ztereohype/ztereomusic/command/commands/Remove.java b/src/main/java/codes/ztereohype/ztereomusic/command/commands/Remove.java index 63bc34e..a521af1 100644 --- a/src/main/java/codes/ztereohype/ztereomusic/command/commands/Remove.java +++ b/src/main/java/codes/ztereohype/ztereomusic/command/commands/Remove.java @@ -15,7 +15,8 @@ import java.util.Locale; import java.util.Map; public class Remove implements Command { - private @Getter final CommandMeta meta; + private @Getter + final CommandMeta meta; public Remove() { this.meta = CommandMeta.builder() @@ -53,13 +54,13 @@ public class Remove implements Command { TrackManager trackManager = TrackManagers.getGuildTrackManager(guild, messageChannel); assert trackManager != null; // the command will not execute if it is anyway because of our VoiceChecks (BOT_PLAYING) - if (trackManager.trackQueue.size() == 0) { + if (trackManager.getTrackQueue().size() == 0) { messageChannel.sendMessage("There are no songs in queue.").queue(); } Map indexAliases = new HashMap<>(); indexAliases.put("first", 1); - indexAliases.put("last", trackManager.trackQueue.size()); + indexAliases.put("last", trackManager.getTrackQueue().size()); int parsedIndex; String index = args[0]; @@ -75,7 +76,7 @@ public class Remove implements Command { return; } - if (parsedIndex > trackManager.trackQueue.size() || parsedIndex < 1) { + if (parsedIndex > trackManager.getTrackQueue().size() || parsedIndex < 1) { messageChannel.sendMessage("That index is out of bounds.").queue(); return; } diff --git a/src/main/java/codes/ztereohype/ztereomusic/database/Config.java b/src/main/java/codes/ztereohype/ztereomusic/database/Config.java index 4e75988..d561cdc 100644 --- a/src/main/java/codes/ztereohype/ztereomusic/database/Config.java +++ b/src/main/java/codes/ztereohype/ztereomusic/database/Config.java @@ -6,22 +6,24 @@ import net.shadew.json.JsonNode; import java.io.File; import java.io.IOException; -import java.util.HashMap; -import java.util.Map; +import java.util.Properties; public class Config { private final static Json json5 = Json.json5(); - private @Getter final Map propreties = new HashMap<>(); + private @Getter + final Properties propreties = new Properties(); private String path; public static Config loadFrom(String path) throws IOException { Config config = new Config(); + System.out.println("Working Directory = " + System.getProperty("user.dir")); + JsonNode tree = json5.parse(new File(path)); config.path = path; for (String key : tree.keySet()) { - config.getPropreties().put(key, tree.get(key).asString()); + config.getPropreties().setProperty(key, tree.get(key).asString()); } return config; diff --git a/src/main/java/codes/ztereohype/ztereomusic/listeners/CommandListener.java b/src/main/java/codes/ztereohype/ztereomusic/listeners/CommandListener.java index 39d45dd..65f8e50 100644 --- a/src/main/java/codes/ztereohype/ztereomusic/listeners/CommandListener.java +++ b/src/main/java/codes/ztereohype/ztereomusic/listeners/CommandListener.java @@ -16,7 +16,7 @@ import java.util.Map; public class CommandListener extends ListenerAdapter { // TODO: load prefix from a database on a per-server basis - private static final String PREFIX = ZtereoMUSIC.getInstance().getConfig().getPropreties().get("prefix"); + private static final String PREFIX = ZtereoMUSIC.getInstance().getConfig().getPropreties().getProperty("prefix"); private static final Map COMMAND_MAP = ZtereoMUSIC.getInstance().getCommandMap(); private static final Map COMMAND_ALIASES = ZtereoMUSIC.getInstance().getCommandAliases(); diff --git a/src/main/java/codes/ztereohype/ztereomusic/networking/YoutubeSearch.java b/src/main/java/codes/ztereohype/ztereomusic/networking/YoutubeSearch.java index d04d95e..55ac8aa 100644 --- a/src/main/java/codes/ztereohype/ztereomusic/networking/YoutubeSearch.java +++ b/src/main/java/codes/ztereohype/ztereomusic/networking/YoutubeSearch.java @@ -10,7 +10,7 @@ import java.io.IOException; import java.net.URL; public class YoutubeSearch { - private static final String API_KEY = ZtereoMUSIC.getInstance().getConfig().getPropreties().get("yt_api_key"); + private static final String API_KEY = ZtereoMUSIC.getInstance().getConfig().getPropreties().getProperty("yt_api_key"); private static final Json JSON = Json.json(); public static Pair query(String title) {