|
|
|
@ -41,6 +41,8 @@ public class Main extends ListenerAdapter |
|
|
|
|
private final Searcher searcher; |
|
|
|
|
private JDA jda; |
|
|
|
|
|
|
|
|
|
private VoiceChannel currentVoiceChannel = null; |
|
|
|
|
|
|
|
|
|
private List<Result> lastSearchResults; |
|
|
|
|
|
|
|
|
|
private int trackNumber = 1; |
|
|
|
@ -127,6 +129,8 @@ public class Main extends ListenerAdapter |
|
|
|
|
|
|
|
|
|
if (content.startsWith("!join ")) |
|
|
|
|
onJoinCommand(event, guild, arg); |
|
|
|
|
else if (content.equals("!leave")) |
|
|
|
|
onLeaveCommand(event); |
|
|
|
|
else if (content.equals("!join")) |
|
|
|
|
onJoinCommand(event); |
|
|
|
|
else if (content.startsWith("!play ")) |
|
|
|
@ -201,6 +205,15 @@ public class Main extends ListenerAdapter |
|
|
|
|
onConnecting(channel, textChannel); // Let the user know, we were successful!
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void onLeaveCommand(GuildMessageReceivedEvent event) |
|
|
|
|
{ |
|
|
|
|
if (currentVoiceChannel != null) |
|
|
|
|
{ |
|
|
|
|
disconnect(); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void onPlayCommand(GuildMessageReceivedEvent event, Guild guild, String arg) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
@ -384,7 +397,9 @@ public class Main extends ListenerAdapter |
|
|
|
|
{ |
|
|
|
|
String help = "Commands available:\n" |
|
|
|
|
+ "!join <Channel> - Joins a voice channel\n" |
|
|
|
|
+ "!leave - Leaves the current voice channel\n" |
|
|
|
|
+ "!play <URL> - Downloads the track at that URL and adds it to the queue.\n" |
|
|
|
|
+ "!play <Search> - Searches for a track and displays a selection menu.\n" |
|
|
|
|
+ "!queue - Show the songs currently playing and the current queue.\n" |
|
|
|
|
+ "!remove <Index> - Remove the song at position <Index> from the queue.\n" |
|
|
|
|
+ "!skip - Skip the current song and play the next one.\n" |
|
|
|
@ -442,6 +457,20 @@ public class Main extends ListenerAdapter |
|
|
|
|
// audioManager.setReceivingHandler(handler);
|
|
|
|
|
// Connect to the voice channel
|
|
|
|
|
audioManager.openAudioConnection(channel); |
|
|
|
|
currentVoiceChannel = channel; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void disconnect() |
|
|
|
|
{ |
|
|
|
|
if (currentVoiceChannel != null) |
|
|
|
|
{ |
|
|
|
|
Guild guild = currentVoiceChannel.getGuild(); |
|
|
|
|
AudioManager audioManager = guild.getAudioManager(); |
|
|
|
|
audioManager.setSendingHandler(null); |
|
|
|
|
audioManager.closeAudioConnection(); |
|
|
|
|
musicHandler = null; |
|
|
|
|
currentVoiceChannel = null; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|