From 6c021cd07ae43587afd520efd66d5ed789fedc2a Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Mon, 23 Dec 2019 16:10:49 +0100 Subject: [PATCH] Info stuff --- src/main/java/com/bbn/hadder/Hadder.java | 1 + .../com/bbn/hadder/audio/AudioManager.java | 4 ++ .../hadder/commands/general/AboutCommand.java | 2 +- .../hadder/commands/music/InfoCommand.java | 57 +++++++++++++++++++ .../hadder/commands/music/PlayCommand.java | 18 ------ 5 files changed, 63 insertions(+), 19 deletions(-) create mode 100644 src/main/java/com/bbn/hadder/commands/music/InfoCommand.java diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index c9c2f77..f89a23c 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -92,6 +92,7 @@ public class Hadder { new PlayCommand(), new StarBoardCommand(), new QueueCommand(), + new InfoCommand(), new StopCommand()), config, helpCommand); builder.addEventListeners( diff --git a/src/main/java/com/bbn/hadder/audio/AudioManager.java b/src/main/java/com/bbn/hadder/audio/AudioManager.java index 835800f..7c0d6dd 100644 --- a/src/main/java/com/bbn/hadder/audio/AudioManager.java +++ b/src/main/java/com/bbn/hadder/audio/AudioManager.java @@ -111,4 +111,8 @@ public class AudioManager { return nPlayer; } + public String getOrNull(String s) { + return s.isEmpty() ? "N/A" : s; + } + } diff --git a/src/main/java/com/bbn/hadder/commands/general/AboutCommand.java b/src/main/java/com/bbn/hadder/commands/general/AboutCommand.java index 82d17eb..3800836 100644 --- a/src/main/java/com/bbn/hadder/commands/general/AboutCommand.java +++ b/src/main/java/com/bbn/hadder/commands/general/AboutCommand.java @@ -24,7 +24,7 @@ public class AboutCommand implements Command { @Override public String[] labels() { - return new String[]{"about", "info"}; + return new String[]{"about"}; } @Override diff --git a/src/main/java/com/bbn/hadder/commands/music/InfoCommand.java b/src/main/java/com/bbn/hadder/commands/music/InfoCommand.java new file mode 100644 index 0000000..85605b3 --- /dev/null +++ b/src/main/java/com/bbn/hadder/commands/music/InfoCommand.java @@ -0,0 +1,57 @@ +package com.bbn.hadder.commands.music; + +import com.bbn.hadder.audio.AudioManager; +import com.bbn.hadder.commands.Command; +import com.bbn.hadder.commands.CommandEvent; +import com.sedmelluq.discord.lavaplayer.track.AudioTrack; + +/** + * @author Skidder / GregTCLTK + */ + +public class InfoCommand implements Command { + + private static final String CD = "\uD83D\uDCBF"; + private static final String MIC = "\uD83C\uDFA4"; + + private static final String QUEUE_TITLE = "__%s has added %d new track%s to the Queue:__"; + private static final String QUEUE_DESCRIPTION = "%s **|>** %s\n%s\n%s %s\n%s"; + private static final String QUEUE_INFO = "Info about the Queue: (Size - %d)"; + private static final String ERROR = "Error while loading \"%s\""; + @Override + public void executed(String[] args, CommandEvent event) { + if (!new AudioManager().hasPlayer(event.getGuild()) || new AudioManager().getPlayer(event.getGuild()).getPlayingTrack() == null) { + event.getTextChannel().sendMessage("No song is being played at the moment! *It's your time to shine..*").queue(); + } else { + AudioTrack track = new AudioManager().getPlayer(event.getGuild()).getPlayingTrack(); + event.getTextChannel().sendMessage("Track Info" + String.format(QUEUE_DESCRIPTION, CD, new AudioManager().getOrNull(track.getInfo().title), + "\n\u23F1 **|>** `[ " + getTimestamp(track.getPosition()) + " / " + getTimestamp(track.getInfo().length) + " ]`", + "\n" + MIC, new AudioManager().getOrNull(track.getInfo().author), + "\n\uD83C\uDFA7 **|>** " + "")).queue(); + } + } + + private String getTimestamp(long milis) { + long seconds = milis / 1000; + long hours = Math.floorDiv(seconds, 3600); + seconds = seconds - (hours * 3600); + long mins = Math.floorDiv(seconds, 60); + seconds = seconds - (mins * 60); + return (hours == 0 ? "" : hours + ":") + String.format("%02d", mins) + ":" + String.format("%02d", seconds); + } + + @Override + public String[] labels() { + return new String[]{"info"}; + } + + @Override + public String description() { + return "Shows information about the playing song"; + } + + @Override + public String usage() { + return ""; + } +} diff --git a/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java b/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java index bae30df..ddb5c92 100644 --- a/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java +++ b/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java @@ -14,10 +14,6 @@ import java.net.URL; public class PlayCommand implements Command { - /* - private static final String CD = "\uD83D\uDCBF"; - private static final String MIC = "\uD83C\uDFA4 **|>** "; */ - @Override public void executed(String[] args, CommandEvent event) { if (args.length > 0) { @@ -43,20 +39,6 @@ public class PlayCommand implements Command { .build()).queue(); } } else event.getHelpCommand().sendHelp(this, event); - - - /* OUTSOURCE THIS - Guild guild = event.getGuild(); - if (!hasPlayer(guild) || getPlayer(guild).getPlayingTrack() == null) { // No song is playing - event.getTextChannel().sendMessage("No song is being played at the moment! *It's your time to shine..*").queue(); - } else { - AudioTrack track = getPlayer(guild).getPlayingTrack(); - event.getTextChannel().sendMessage("Track Info" + String.format(QUEUE_DESCRIPTION, CD, getOrNull(track.getInfo().title), - "\n\u23F1 **|>** `[ " + getTimestamp(track.getPosition()) + " / " + getTimestamp(track.getInfo().length) + " ]`", - "\n" + MIC, getOrNull(track.getInfo().author), - "\n\uD83C\uDFA7 **|>** " + "")).queue(); - }*/ - } @Override