Fix
This commit is contained in:
parent
29a1b3947d
commit
d462b0822d
3 changed files with 31 additions and 16 deletions
|
|
@ -6,6 +6,7 @@ import com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler;
|
|||
import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
|
||||
import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager;
|
||||
import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager;
|
||||
import com.sedmelluq.discord.lavaplayer.source.AudioSourceManagers;
|
||||
import com.sedmelluq.discord.lavaplayer.tools.FriendlyException;
|
||||
import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist;
|
||||
import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
|
||||
|
|
@ -23,19 +24,24 @@ import java.util.concurrent.TimeUnit;
|
|||
|
||||
public class AudioManager {
|
||||
|
||||
public static final Map<String, Map.Entry<AudioPlayer, TrackManager>> players = new HashMap<>();
|
||||
public static final AudioPlayerManager myManager = new DefaultAudioPlayerManager();
|
||||
|
||||
public static void loadTrack(String identifier, CommandEvent event, Message msg) {
|
||||
public AudioManager() {
|
||||
AudioSourceManagers.registerRemoteSources(myManager);
|
||||
}
|
||||
|
||||
public final Map<String, Map.Entry<AudioPlayer, TrackManager>> players = new HashMap<>();
|
||||
public final AudioPlayerManager myManager = new DefaultAudioPlayerManager();
|
||||
|
||||
public void loadTrack(String identifier, CommandEvent event, Message msg) {
|
||||
|
||||
Guild guild = event.getGuild();
|
||||
AudioManager.getPlayer(guild);
|
||||
getPlayer(guild);
|
||||
|
||||
myManager.loadItemOrdered(guild, identifier, new AudioLoadResultHandler() {
|
||||
|
||||
@Override
|
||||
public void trackLoaded(AudioTrack track) {
|
||||
AudioManager.getTrackManager(guild).queue(track, event.getMember());
|
||||
getTrackManager(guild).queue(track, event.getMember());
|
||||
msg.editMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
|
||||
"commands.music.play.success.loading.title", "⏯",
|
||||
"", "")
|
||||
|
|
@ -56,7 +62,7 @@ public class AudioManager {
|
|||
trackLoaded(playlist.getTracks().get(0));
|
||||
} else {
|
||||
for (int i = 0; i < Math.min(playlist.getTracks().size(), 200); i++) {
|
||||
AudioManager.getTrackManager(guild).queue(playlist.getTracks().get(i), event.getMember());
|
||||
getTrackManager(guild).queue(playlist.getTracks().get(i), event.getMember());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -79,11 +85,11 @@ public class AudioManager {
|
|||
});
|
||||
}
|
||||
|
||||
public static boolean hasPlayer(Guild guild) {
|
||||
public boolean hasPlayer(Guild guild) {
|
||||
return players.containsKey(guild.getId());
|
||||
}
|
||||
|
||||
public static AudioPlayer getPlayer(Guild guild) {
|
||||
public AudioPlayer getPlayer(Guild guild) {
|
||||
AudioPlayer p;
|
||||
if (hasPlayer(guild)) {
|
||||
p = players.get(guild.getId()).getKey();
|
||||
|
|
@ -93,11 +99,11 @@ public class AudioManager {
|
|||
return p;
|
||||
}
|
||||
|
||||
public static TrackManager getTrackManager(Guild guild) {
|
||||
public TrackManager getTrackManager(Guild guild) {
|
||||
return players.get(guild.getId()).getValue();
|
||||
}
|
||||
|
||||
public static AudioPlayer createPlayer(Guild guild) {
|
||||
public AudioPlayer createPlayer(Guild guild) {
|
||||
AudioPlayer nPlayer = myManager.createPlayer();
|
||||
TrackManager manager = new TrackManager(nPlayer);
|
||||
nPlayer.addListener(manager);
|
||||
|
|
|
|||
|
|
@ -1,13 +1,17 @@
|
|||
package com.bbn.hadder.commands.music;
|
||||
|
||||
import com.bbn.hadder.audio.AudioManager;
|
||||
import com.bbn.hadder.audio.TrackManager;
|
||||
import com.bbn.hadder.commands.Command;
|
||||
import com.bbn.hadder.commands.CommandEvent;
|
||||
import com.bbn.hadder.utils.MessageEditor;
|
||||
import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
|
||||
import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager;
|
||||
import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author Skidder / GregTCLTK
|
||||
|
|
@ -15,10 +19,14 @@ import java.net.URL;
|
|||
|
||||
public class PlayCommand implements Command {
|
||||
|
||||
private final AudioPlayerManager myManager = new DefaultAudioPlayerManager();
|
||||
public final Map<String, Map.Entry<AudioPlayer, TrackManager>> players = new HashMap<>();
|
||||
|
||||
/*
|
||||
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) {
|
||||
|
|
@ -29,12 +37,12 @@ public class PlayCommand implements Command {
|
|||
Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
|
||||
"commands.music.play.load.title", "⭕",
|
||||
"commands.music.play.load.description", "").build()).complete();
|
||||
AudioManager.loadTrack(input, event, msg);
|
||||
new AudioManager().loadTrack(input, event, msg);
|
||||
} catch (Exception ignore) {
|
||||
Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
|
||||
"commands.music.play.load.title", "⏯",
|
||||
"commands.music.play.load.description", "").build()).complete();
|
||||
AudioManager.loadTrack("ytsearch: " + input, event, msg);
|
||||
new AudioManager().loadTrack("ytsearch: " + input, event, msg);
|
||||
}
|
||||
} else {
|
||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
|
||||
|
|
@ -45,6 +53,7 @@ public class PlayCommand implements Command {
|
|||
}
|
||||
} else event.getHelpCommand().sendHelp(this, event);
|
||||
|
||||
|
||||
/* OUTSOURCE THIS
|
||||
Guild guild = event.getGuild();
|
||||
if (args.length == 1) {
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ public class StopCommand implements Command {
|
|||
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
AudioManager.players.remove(event.getGuild().getId());
|
||||
AudioManager.getPlayer(event.getGuild()).destroy();
|
||||
AudioManager.getTrackManager(event.getGuild()).purgeQueue();
|
||||
new AudioManager().players.remove(event.getGuild().getId());
|
||||
new AudioManager().getPlayer(event.getGuild()).destroy();
|
||||
new AudioManager().getTrackManager(event.getGuild()).purgeQueue();
|
||||
event.getGuild().getAudioManager().closeAudioConnection();
|
||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
|
||||
"commands.music.stop.success.title",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue