Updated to guildMessageReceivedEvent

This commit is contained in:
Isaac Parenteau
2019-10-05 13:16:46 -05:00
parent d46b966d26
commit 950d20b137
3 changed files with 21 additions and 16 deletions

2
.gitignore vendored
View File

@ -5,3 +5,5 @@
.project .project
/pseudobotDB/ /pseudobotDB/
/nbactions.xml /nbactions.xml
.bin
/bin/

View File

@ -17,7 +17,7 @@ import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.MessageEmbed; import net.dv8tion.jda.api.entities.MessageEmbed;
import net.dv8tion.jda.api.entities.VoiceChannel; 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.hooks.ListenerAdapter;
import net.dv8tion.jda.api.managers.AudioManager; import net.dv8tion.jda.api.managers.AudioManager;
import net.locusworks.discord.eighttrack.handlers.EightTrackAudioSendHandler; import net.locusworks.discord.eighttrack.handlers.EightTrackAudioSendHandler;
@ -51,7 +51,7 @@ public class MusicListenerAdaptor extends ListenerAdapter {
} }
@Override @Override
public void onMessageReceived(MessageReceivedEvent event) { public void onGuildMessageReceived(GuildMessageReceivedEvent event) {
if (event.getAuthor().isBot()) return; if (event.getAuthor().isBot()) return;
String command = event.getMessage().getContentRaw().trim().toLowerCase(); String command = event.getMessage().getContentRaw().trim().toLowerCase();
@ -99,19 +99,19 @@ public class MusicListenerAdaptor extends ListenerAdapter {
} }
} }
private void index(MessageReceivedEvent event) { private void index(GuildMessageReceivedEvent event) {
event.getTextChannel().sendMessage(String.format("<@%s>, Please wait as i reindex the music files", event.getAuthor().getId())).queue(); event.getChannel().sendMessage(String.format("<@%s>, Please wait as i reindex the music files", event.getAuthor().getId())).queue();
try { try {
indexFiles(); indexFiles();
} catch (IOException e) { } 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; 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(); AudioTrack track = ts.peek();
MessageEmbed embed = new EmbedBuilder() MessageEmbed embed = new EmbedBuilder()
.setAuthor(event.getMember().getEffectiveName(), null, event.getAuthor().getAvatarUrl()) .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)) .setDescription(String.format("**%s** by __%s__", track.getInfo().title, track.getInfo().author))
.setTimestamp(OffsetDateTime.now()) .setTimestamp(OffsetDateTime.now())
.build(); .build();
event.getTextChannel().sendMessage(embed).queue(); event.getChannel().sendMessage(embed).queue();
} }
private void repeat(MessageReceivedEvent event) { private void repeat(GuildMessageReceivedEvent event) {
next(event); next(event);
ts.setFinishedCallback((ater) -> { ts.setFinishedCallback((ater) -> {
if (!playing.get()) return; 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); stop(event);
play(event); play(event);
} }
private void stop(MessageReceivedEvent event) { private void stop(GuildMessageReceivedEvent event) {
player.stopTrack(); player.stopTrack();
} }
private void play(MessageReceivedEvent event) { private void play(GuildMessageReceivedEvent event) {
VoiceChannel vc = event.getMember().getVoiceState().getChannel(); VoiceChannel vc = event.getMember().getVoiceState().getChannel();
if (vc == null) { 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; return;
} }
if (!event.getGuild().getSelfMember().hasPermission(vc, Permission.VOICE_CONNECT, Permission.VOICE_SPEAK)) { 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(); event.getMember().getId(), vc.getName())).queue();
return; return;
} }
@ -167,7 +167,7 @@ public class MusicListenerAdaptor extends ListenerAdapter {
.setTimestamp(OffsetDateTime.now()) .setTimestamp(OffsetDateTime.now())
.build(); .build();
event.getTextChannel().sendMessage(embed).queue(); event.getChannel().sendMessage(embed).queue();
player.playTrack(track); player.playTrack(track);
ts.trackLoaded(track); ts.trackLoaded(track);
} }

View File

@ -22,6 +22,9 @@ public class EightTrackAudioSendHandler implements AudioSendHandler {
} }
public ByteBuffer provide20MsAudio() { public ByteBuffer provide20MsAudio() {
if (lastFrame == null || lastFrame.getData() == null) {
return ByteBuffer.wrap(new byte[0]);
}
return ByteBuffer.wrap(lastFrame.getData()); return ByteBuffer.wrap(lastFrame.getData());
} }