mirror of
https://github.com/JonasunderscoreJones/ZtereoMUSIC.git
synced 2025-10-25 13:39:19 +02:00
new: better error handling attempt
This commit is contained in:
parent
4864ac49b9
commit
4f2cd6df7a
1 changed files with 23 additions and 6 deletions
|
|
@ -1,5 +1,7 @@
|
||||||
package codes.ztereohype.ztereomusic.audio;
|
package codes.ztereohype.ztereomusic.audio;
|
||||||
|
|
||||||
|
import codes.ztereohype.ztereomusic.ZtereoMUSIC;
|
||||||
|
import codes.ztereohype.ztereomusic.networking.YoutubeSearch;
|
||||||
import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
|
import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
|
||||||
import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager;
|
import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager;
|
||||||
import com.sedmelluq.discord.lavaplayer.player.event.AudioEventAdapter;
|
import com.sedmelluq.discord.lavaplayer.player.event.AudioEventAdapter;
|
||||||
|
|
@ -10,6 +12,7 @@ import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
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;
|
||||||
|
import net.shadew.util.data.Pair;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -90,13 +93,27 @@ public class TrackManager extends AudioEventAdapter {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTrackEnd(AudioPlayer player, AudioTrack track, AudioTrackEndReason endReason) {
|
public void onTrackEnd(AudioPlayer player, AudioTrack track, AudioTrackEndReason endReason) {
|
||||||
if (endReason.mayStartNext) {
|
switch (endReason) {
|
||||||
playNext();
|
case FINISHED -> {
|
||||||
}
|
playNext();
|
||||||
|
}
|
||||||
|
//todo: warning: this will create an infinite loop if a specific video has issues...
|
||||||
|
case LOAD_FAILED -> {
|
||||||
|
infoChannel.sendMessage("Loading failed, retrying...").queue();
|
||||||
|
String identifier;
|
||||||
|
String trackTitle = track.getInfo().title;
|
||||||
|
|
||||||
// if (endReason.equals(AudioTrackEndReason.CLEANUP)) {
|
Pair<Boolean, String> query = YoutubeSearch.query(trackTitle);
|
||||||
// TrackManagers.removeGuildTrackManager(guild);
|
if (query.first()) {
|
||||||
// }
|
identifier = query.second();
|
||||||
|
} else {
|
||||||
|
infoChannel.sendMessage(query.second()).queue();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ZtereoMUSIC.getInstance().getPlayerManager().loadItem(identifier, new CustomAudioLoadResultHandler(this, infoChannel));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 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).
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue