From d67c2e3afb09dc1e3d07674fc9671bcfe801c247 Mon Sep 17 00:00:00 2001 From: Anthony Date: Mon, 5 Mar 2018 09:28:42 -0500 Subject: [PATCH] Added silent playing and disconnect players on quit --- src/main/java/netneutrality/MusicBot.java | 2 ++ src/main/java/netneutrality/music/MusicManager.java | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/netneutrality/MusicBot.java b/src/main/java/netneutrality/MusicBot.java index 262ecb8..3c9fdf1 100644 --- a/src/main/java/netneutrality/MusicBot.java +++ b/src/main/java/netneutrality/MusicBot.java @@ -15,6 +15,7 @@ import netneutrality.handler.EditHandler; import netneutrality.handler.LogHandler; import netneutrality.handler.NewCommandListener; import netneutrality.http.server.WebApi; +import netneutrality.music.MusicManager; import netneutrality.utils.Settings; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -53,6 +54,7 @@ public class MusicBot { case "quit": System.out.println("Shutting down..."); + MusicManager.disconnectPlayers(); jda.shutdown(); System.out.println("Shutdown complete"); System.exit(0); diff --git a/src/main/java/netneutrality/music/MusicManager.java b/src/main/java/netneutrality/music/MusicManager.java index 5b62fd8..ad79edf 100644 --- a/src/main/java/netneutrality/music/MusicManager.java +++ b/src/main/java/netneutrality/music/MusicManager.java @@ -90,7 +90,13 @@ public class MusicManager { player.destroy(); } - public synchronized void play(String url, TextChannel channel) { + public static void disconnectPlayers() { + for (MusicManager mm : managers.values()) { + mm.leave(); + } + } + + public synchronized void play(String url, TextChannel channel, boolean silent) { String youtubeCode = YoutubeClass.getCodeFromUrl(url); System.out.println(youtubeCode); @@ -98,7 +104,9 @@ public class MusicManager { playerManager.loadItem(youtubeCode, new AudioLoadResultHandler() { @Override public void trackLoaded(AudioTrack audioTrack) { - channel.sendMessage("Starting track [" + audioTrack.getInfo().title + "]").queue(); + if (!silent) + channel.sendMessage("Starting track [" + audioTrack.getInfo().title + "]").queue(); + scheduler.queue(audioTrack); }