diff --git a/.gitignore b/.gitignore index 2574f9e..0d44024 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ .project /pseudobotDB/ /nbactions.xml +.bin +/bin/ diff --git a/src/main/java/net/locusworks/discord/eighttrack/adaptors/MusicListenerAdaptor.java b/src/main/java/net/locusworks/discord/eighttrack/adaptors/MusicListenerAdaptor.java index 87243bd..0049dc4 100644 --- a/src/main/java/net/locusworks/discord/eighttrack/adaptors/MusicListenerAdaptor.java +++ b/src/main/java/net/locusworks/discord/eighttrack/adaptors/MusicListenerAdaptor.java @@ -17,7 +17,7 @@ import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.MessageEmbed; import net.dv8tion.jda.api.entities.VoiceChannel; -import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.managers.AudioManager; import net.locusworks.discord.eighttrack.handlers.EightTrackAudioSendHandler; @@ -49,9 +49,9 @@ public class MusicListenerAdaptor extends ListenerAdapter { player.addListener(ts); indexFiles(); } - + @Override - public void onMessageReceived(MessageReceivedEvent event) { + public void onGuildMessageReceived(GuildMessageReceivedEvent event) { if (event.getAuthor().isBot()) return; String command = event.getMessage().getContentRaw().trim().toLowerCase(); @@ -99,19 +99,19 @@ public class MusicListenerAdaptor extends ListenerAdapter { } } - private void index(MessageReceivedEvent event) { - event.getTextChannel().sendMessage(String.format("<@%s>, Please wait as i reindex the music files", event.getAuthor().getId())).queue(); + private void index(GuildMessageReceivedEvent event) { + event.getChannel().sendMessage(String.format("<@%s>, Please wait as i reindex the music files", event.getAuthor().getId())).queue(); try { indexFiles(); } catch (IOException e) { - event.getTextChannel().sendMessage(String.format("<@%s>, Unable to reindex the music files: %s", event.getAuthor().getId(), e.getMessage())).queue(); + event.getChannel().sendMessage(String.format("<@%s>, Unable to reindex the music files: %s", event.getAuthor().getId(), e.getMessage())).queue(); return; } - event.getTextChannel().sendMessage(String.format("<@%s>, Reindexing complete", event.getAuthor().getId())).queue(); + event.getChannel().sendMessage(String.format("<@%s>, Reindexing complete", event.getAuthor().getId())).queue(); } - private void whatsNext(MessageReceivedEvent event) { + private void whatsNext(GuildMessageReceivedEvent event) { AudioTrack track = ts.peek(); MessageEmbed embed = new EmbedBuilder() .setAuthor(event.getMember().getEffectiveName(), null, event.getAuthor().getAvatarUrl()) @@ -119,10 +119,10 @@ public class MusicListenerAdaptor extends ListenerAdapter { .setDescription(String.format("**%s** by __%s__", track.getInfo().title, track.getInfo().author)) .setTimestamp(OffsetDateTime.now()) .build(); - event.getTextChannel().sendMessage(embed).queue(); + event.getChannel().sendMessage(embed).queue(); } - private void repeat(MessageReceivedEvent event) { + private void repeat(GuildMessageReceivedEvent event) { next(event); ts.setFinishedCallback((ater) -> { if (!playing.get()) return; @@ -130,24 +130,24 @@ public class MusicListenerAdaptor extends ListenerAdapter { }); } - private void next(MessageReceivedEvent event) { + private void next(GuildMessageReceivedEvent event) { stop(event); play(event); } - private void stop(MessageReceivedEvent event) { + private void stop(GuildMessageReceivedEvent event) { player.stopTrack(); } - private void play(MessageReceivedEvent event) { + private void play(GuildMessageReceivedEvent event) { VoiceChannel vc = event.getMember().getVoiceState().getChannel(); if (vc == null) { - event.getTextChannel().sendMessage(String.format("<@%s> you are not in a voice channel to play music", event.getMember().getId())).queue(); + event.getChannel().sendMessage(String.format("<@%s> you are not in a voice channel to play music", event.getMember().getId())).queue(); return; } if (!event.getGuild().getSelfMember().hasPermission(vc, Permission.VOICE_CONNECT, Permission.VOICE_SPEAK)) { - event.getTextChannel().sendMessage(String.format("<@%s>, I cannot play my music in channel %s as I dont have permission to", + event.getChannel().sendMessage(String.format("<@%s>, I cannot play my music in channel %s as I dont have permission to", event.getMember().getId(), vc.getName())).queue(); return; } @@ -167,7 +167,7 @@ public class MusicListenerAdaptor extends ListenerAdapter { .setTimestamp(OffsetDateTime.now()) .build(); - event.getTextChannel().sendMessage(embed).queue(); + event.getChannel().sendMessage(embed).queue(); player.playTrack(track); ts.trackLoaded(track); } diff --git a/src/main/java/net/locusworks/discord/eighttrack/handlers/EightTrackAudioSendHandler.java b/src/main/java/net/locusworks/discord/eighttrack/handlers/EightTrackAudioSendHandler.java index e1aec72..2e30698 100644 --- a/src/main/java/net/locusworks/discord/eighttrack/handlers/EightTrackAudioSendHandler.java +++ b/src/main/java/net/locusworks/discord/eighttrack/handlers/EightTrackAudioSendHandler.java @@ -22,6 +22,9 @@ public class EightTrackAudioSendHandler implements AudioSendHandler { } public ByteBuffer provide20MsAudio() { + if (lastFrame == null || lastFrame.getData() == null) { + return ByteBuffer.wrap(new byte[0]); + } return ByteBuffer.wrap(lastFrame.getData()); }