change: move messages out of TrackManager

This commit is contained in:
ZtereoHYPE 2021-12-28 01:40:05 +01:00
parent 3ddcef749b
commit 5bec31353d
3 changed files with 17 additions and 22 deletions

View file

@ -8,7 +8,6 @@ import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
import com.sedmelluq.discord.lavaplayer.track.AudioTrackEndReason; import com.sedmelluq.discord.lavaplayer.track.AudioTrackEndReason;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.SneakyThrows;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.MessageChannel; import net.dv8tion.jda.api.entities.MessageChannel;
@ -40,26 +39,23 @@ public class TrackManager extends AudioEventAdapter {
infoChannel.sendMessage("Playing: " + track.getInfo().title).queue(); infoChannel.sendMessage("Playing: " + track.getInfo().title).queue();
} else { } else {
trackQueue.add(track); trackQueue.add(track);
infoChannel.sendMessage("Queued " + track.getInfo().title).queue(); infoChannel.sendMessage("Queued: " + track.getInfo().title).queue();
} }
} }
public void clearQueue() { public void removeQueueItem(int index) {
trackQueue.clear(); trackQueue.remove(index);
} }
public void pause() { public void pause() {
infoChannel.sendMessage("Pausing...").queue();
player.setPaused(true); player.setPaused(true);
} }
public void resume() { public void resume() {
infoChannel.sendMessage("Resuming...").queue();
player.setPaused(false); player.setPaused(false);
} }
public void skip() { public void skip() {
infoChannel.sendMessage("Skipping...").queue();
playNext(); playNext();
} }
@ -68,10 +64,7 @@ public class TrackManager extends AudioEventAdapter {
} }
private void playNext() { private void playNext() {
// if the player was playing a track (probably means it's a skip), stop it
if (player.getPlayingTrack() != null) {
player.stopTrack();
}
if (trackQueue.isEmpty()) { if (trackQueue.isEmpty()) {
infoChannel.sendMessage("The queue is empty!").queue(); infoChannel.sendMessage("The queue is empty!").queue();
@ -99,9 +92,9 @@ public class TrackManager extends AudioEventAdapter {
playNext(); playNext();
} }
if (endReason.equals(AudioTrackEndReason.CLEANUP)) { // if (endReason.equals(AudioTrackEndReason.CLEANUP)) {
TrackManagers.removeGuildTrackManager(guild); // TrackManagers.removeGuildTrackManager(guild);
} // }
// endReason == FINISHED: A track finished or died by an exception (mayStartNext = true). // endReason == FINISHED: A track finished or died by an exception (mayStartNext = true).
// endReason == LOAD_FAILED: Loading of a track failed (mayStartNext = true). // endReason == LOAD_FAILED: Loading of a track failed (mayStartNext = true).
@ -110,11 +103,10 @@ public class TrackManager extends AudioEventAdapter {
// endReason == CLEANUP: Player hasn't been queried for a while, if you want you can put a clone of this back to your queue // endReason == CLEANUP: Player hasn't been queried for a while, if you want you can put a clone of this back to your queue
} }
@SneakyThrows
@Override @Override
public void onTrackException(AudioPlayer player, AudioTrack track, FriendlyException exception) { 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. Skpping...").queue(); infoChannel.sendMessage("Uh oh, a track did something strange. Ask the owner to check for errors in console. Skpping...").queue();
throw exception.getCause(); System.out.println(exception.getCause().getMessage());
} }
@Override @Override

View file

@ -40,8 +40,10 @@ public class Pause implements Command {
assert trackManager != null; // the command will not execute if it is anyway because of our VoiceChecks assert trackManager != null; // the command will not execute if it is anyway because of our VoiceChecks
if (trackManager.getPlayer().isPaused()) { if (trackManager.getPlayer().isPaused()) {
trackManager.resume(); trackManager.resume();
messageChannel.sendMessage("Resuming...").queue();
} else { } else {
trackManager.pause(); trackManager.pause();
messageChannel.sendMessage("Pausing...").queue();
} }
} }
} }

View file

@ -9,9 +9,9 @@ import codes.ztereohype.ztereomusic.command.CommandMeta;
import codes.ztereohype.ztereomusic.command.permissions.VoiceChecks; import codes.ztereohype.ztereomusic.command.permissions.VoiceChecks;
import codes.ztereohype.ztereomusic.networking.YoutubeSearch; import codes.ztereohype.ztereomusic.networking.YoutubeSearch;
import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager; import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager;
import lombok.Getter;
import net.dv8tion.jda.api.entities.*; import net.dv8tion.jda.api.entities.*;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.managers.AudioManager;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
@ -21,7 +21,7 @@ import java.util.regex.Pattern;
public class Play implements Command { public class Play implements Command {
private static final Pattern URL_PATTERN = Pattern.compile("^(http|https)://([a-z]+\\.[a-z]+)+/\\S+$", Pattern.CASE_INSENSITIVE); private static final Pattern URL_PATTERN = Pattern.compile("^(http|https)://([a-z]+\\.[a-z]+)+/\\S+$", Pattern.CASE_INSENSITIVE);
private final CommandMeta meta; private @Getter final CommandMeta meta;
public Play() { public Play() {
this.meta = CommandMeta.builder() this.meta = CommandMeta.builder()
@ -35,10 +35,10 @@ public class Play implements Command {
.build(); .build();
} }
@Override // @Override
public CommandMeta getMeta() { // public CommandMeta getMeta() {
return this.meta; // return this.meta;
} // }
public void execute(MessageReceivedEvent messageEvent, String[] args) { public void execute(MessageReceivedEvent messageEvent, String[] args) {
Member author = Objects.requireNonNull(messageEvent.getMember()); Member author = Objects.requireNonNull(messageEvent.getMember());
@ -58,6 +58,7 @@ public class Play implements Command {
} }
trackManager.resume(); trackManager.resume();
messageChannel.sendMessage("Resuming...").queue();
return; return;
} }