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 lombok.Getter;
import lombok.Setter;
import lombok.SneakyThrows;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.MessageChannel;
@ -40,26 +39,23 @@ public class TrackManager extends AudioEventAdapter {
infoChannel.sendMessage("Playing: " + track.getInfo().title).queue();
} else {
trackQueue.add(track);
infoChannel.sendMessage("Queued " + track.getInfo().title).queue();
infoChannel.sendMessage("Queued: " + track.getInfo().title).queue();
}
}
public void clearQueue() {
trackQueue.clear();
public void removeQueueItem(int index) {
trackQueue.remove(index);
}
public void pause() {
infoChannel.sendMessage("Pausing...").queue();
player.setPaused(true);
}
public void resume() {
infoChannel.sendMessage("Resuming...").queue();
player.setPaused(false);
}
public void skip() {
infoChannel.sendMessage("Skipping...").queue();
playNext();
}
@ -68,10 +64,7 @@ public class TrackManager extends AudioEventAdapter {
}
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()) {
infoChannel.sendMessage("The queue is empty!").queue();
@ -99,9 +92,9 @@ public class TrackManager extends AudioEventAdapter {
playNext();
}
if (endReason.equals(AudioTrackEndReason.CLEANUP)) {
TrackManagers.removeGuildTrackManager(guild);
}
// if (endReason.equals(AudioTrackEndReason.CLEANUP)) {
// TrackManagers.removeGuildTrackManager(guild);
// }
// endReason == FINISHED: A track finished or died by an exception (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
}
@SneakyThrows
@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. Skpping...").queue();
throw exception.getCause();
System.out.println(exception.getCause().getMessage());
}
@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
if (trackManager.getPlayer().isPaused()) {
trackManager.resume();
messageChannel.sendMessage("Resuming...").queue();
} else {
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.networking.YoutubeSearch;
import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager;
import lombok.Getter;
import net.dv8tion.jda.api.entities.*;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.managers.AudioManager;
import java.util.Objects;
import java.util.Optional;
@ -21,7 +21,7 @@ import java.util.regex.Pattern;
public class Play implements Command {
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() {
this.meta = CommandMeta.builder()
@ -35,10 +35,10 @@ public class Play implements Command {
.build();
}
@Override
public CommandMeta getMeta() {
return this.meta;
}
// @Override
// public CommandMeta getMeta() {
// return this.meta;
// }
public void execute(MessageReceivedEvent messageEvent, String[] args) {
Member author = Objects.requireNonNull(messageEvent.getMember());
@ -58,6 +58,7 @@ public class Play implements Command {
}
trackManager.resume();
messageChannel.sendMessage("Resuming...").queue();
return;
}