From 851d61dea5da713f453eedb0f3742b5f0fe5a050 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sat, 28 Dec 2019 01:15:04 +0100 Subject: [PATCH] Voice Leave Listener first part --- .../hadder/listener/VoiceLeaveListener.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/main/java/com/bbn/hadder/listener/VoiceLeaveListener.java diff --git a/src/main/java/com/bbn/hadder/listener/VoiceLeaveListener.java b/src/main/java/com/bbn/hadder/listener/VoiceLeaveListener.java new file mode 100644 index 0000000..35f4644 --- /dev/null +++ b/src/main/java/com/bbn/hadder/listener/VoiceLeaveListener.java @@ -0,0 +1,24 @@ +package com.bbn.hadder.listener; + +import com.bbn.hadder.audio.AudioManager; +import com.bbn.hadder.audio.TrackManager; +import net.dv8tion.jda.api.events.guild.voice.GuildVoiceLeaveEvent; +import net.dv8tion.jda.api.hooks.ListenerAdapter; + +/** + * @author Skidder / GregTCLTK + */ + +public class VoiceLeaveListener extends ListenerAdapter { + + @Override + public void onGuildVoiceLeave(GuildVoiceLeaveEvent event) { + if (new AudioManager().hasPlayer(event.getGuild())) { + TrackManager manager = new AudioManager().getTrackManager(event.getGuild()); + manager.getQueuedTracks().stream() + .filter(info -> !info.getTrack().equals(new AudioManager().getPlayer(event.getGuild()).getPlayingTrack()) + && info.getAuthor().getUser().equals(event.getMember().getUser())) + .forEach(manager::remove); + } + } +}