= Condensed main shapsnot

This commit is contained in:
Matthew Cech
2019-10-17 23:22:29 -07:00
parent 4ed18b8acc
commit a1fa8b29b2
+32 -51
View File
@@ -47,6 +47,26 @@ import utils.GlobalLog;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class Main extends ListenerAdapter public class Main extends ListenerAdapter
{ {
public class SmallAudio implements AudioLoadResultHandler
{
private TextChannel channel;
private GuildMusicManager manager;
private SmallAudio(TextChannel channel, GuildMusicManager manager) {
this.channel = channel;
this.manager = manager;
}
@Override public void loadFailed(FriendlyException arg0) { }
@Override public void noMatches() { }
@Override public void playlistLoaded(AudioPlaylist arg0) { }
@Override
public void trackLoaded(AudioTrack track) {
play(channel.getGuild(), manager, track);
}
}
// Variables and bot specific objects // Variables and bot specific objects
private static KittyCore kittyCore; private static KittyCore kittyCore;
private static DatabaseManager databaseManager; private static DatabaseManager databaseManager;
@@ -66,7 +86,7 @@ public class Main extends ListenerAdapter
} }
private final AudioPlayerManager playerManager; public final AudioPlayerManager playerManager;
private final Map<Long, GuildMusicManager> musicManagers; private final Map<Long, GuildMusicManager> musicManagers;
public Main() { public Main() {
@@ -92,68 +112,29 @@ public class Main extends ListenerAdapter
} }
@Override @Override
public void onGuildMessageReceived(GuildMessageReceivedEvent event) { public void onGuildMessageReceived(GuildMessageReceivedEvent event)
String[] command = event.getMessage().getContentRaw().split(" ", 2); {
if (event.getMessage().getContentRaw().contains("!play"))
{
final TextChannel channel = event.getChannel();
final Guild guild = channel.getGuild();
if ("!play".equals(command[0]) && command.length == 2) { channel.sendMessage("Doing something...");
loadAndPlay(event.getChannel(), command[1]);
} else if ("!skip".equals(command[0])) { GuildMusicManager musicManager = getGuildAudioPlayer(guild);
skipTrack(event.getChannel()); connectToFirstVoiceChannel(guild.getAudioManager());
playerManager.loadItemOrdered(musicManager, "https://www.youtube.com/watch?v=qL-JCVA22Lo", new SmallAudio(channel, musicManager));
} }
super.onGuildMessageReceived(event); super.onGuildMessageReceived(event);
} }
private void loadAndPlay(final TextChannel channel, final String trackUrl) {
GuildMusicManager musicManager = getGuildAudioPlayer(channel.getGuild());
playerManager.loadItemOrdered(musicManager, trackUrl, new AudioLoadResultHandler() {
@Override
public void trackLoaded(AudioTrack track) {
channel.sendMessage("Adding to queue " + track.getInfo().title).queue();
play(channel.getGuild(), musicManager, track);
}
@Override
public void playlistLoaded(AudioPlaylist playlist) {
AudioTrack firstTrack = playlist.getSelectedTrack();
if (firstTrack == null) {
firstTrack = playlist.getTracks().get(0);
}
channel.sendMessage("Adding to queue " + firstTrack.getInfo().title + " (first track of playlist " + playlist.getName() + ")").queue();
play(channel.getGuild(), musicManager, firstTrack);
}
@Override
public void noMatches() {
channel.sendMessage("Nothing found by " + trackUrl).queue();
}
@Override
public void loadFailed(FriendlyException exception) {
System.out.println(exception.getCause());
channel.sendMessage("Could not play: " + exception.getMessage()).queue();
}
});
}
private void play(Guild guild, GuildMusicManager musicManager, AudioTrack track) { private void play(Guild guild, GuildMusicManager musicManager, AudioTrack track) {
connectToFirstVoiceChannel(guild.getAudioManager()); connectToFirstVoiceChannel(guild.getAudioManager());
musicManager.scheduler.queue(track); musicManager.scheduler.queue(track);
} }
private void skipTrack(TextChannel channel) {
GuildMusicManager musicManager = getGuildAudioPlayer(channel.getGuild());
musicManager.scheduler.nextTrack();
channel.sendMessage("Skipped to next track.").queue();
}
private static void connectToFirstVoiceChannel(AudioManager audioManager) { private static void connectToFirstVoiceChannel(AudioManager audioManager) {
if (!audioManager.isConnected() && !audioManager.isAttemptingToConnect()) { if (!audioManager.isConnected() && !audioManager.isAttemptingToConnect()) {
for (VoiceChannel voiceChannel : audioManager.getGuild().getVoiceChannels()) { for (VoiceChannel voiceChannel : audioManager.getGuild().getVoiceChannels()) {