diff --git a/src/main/java/net/Broken/BotListener.java b/src/main/java/net/Broken/BotListener.java index 26de790..f9c68d5 100644 --- a/src/main/java/net/Broken/BotListener.java +++ b/src/main/java/net/Broken/BotListener.java @@ -51,7 +51,7 @@ public class BotListener extends ListenerAdapter { if(event.getMember().getRoles().size() == 0){ logger.info(event.getUser().getName()+ "have no roles, move it!"); - new Move().exc(event.getMember(),event.getJDA().getRolesByName("Rat_d'égout",true),false,event.getJDA().getGuilds().get(0),event.getJDA().getGuilds().get(0).getManager()); + new Move().exc(event.getMember(),event.getJDA().getRolesByName("Populace",true),false,event.getJDA().getGuilds().get(0),event.getJDA().getGuilds().get(0).getManager()); MainBot.roleFlag = false; } } @@ -76,7 +76,7 @@ public class BotListener extends ListenerAdapter { logger.debug("I'm alone, close audio connection."); Music music = (Music) MainBot.commandes.get("music"); - music.audio.stop(event); + music.audio.stop(); } } } diff --git a/src/main/java/net/Broken/Commands/Music.java b/src/main/java/net/Broken/Commands/Music.java index 42d640c..2debb67 100644 --- a/src/main/java/net/Broken/Commands/Music.java +++ b/src/main/java/net/Broken/Commands/Music.java @@ -128,13 +128,21 @@ public class Music implements Commande { } break; + case "disconnect": + audio.stop(); + List messages = new ArrayList(){{ + add(event.getMessage()); + }}; + new MessageTimeOut(messages, 0).start(); + break; + default: Message message = event.getTextChannel().sendMessage(EmbedMessageUtils.getMusicError("Arguments inconu!")).complete(); - List messages = new ArrayList(){{ + List messagess = new ArrayList(){{ add(message); add(event.getMessage()); }}; - new MessageTimeOut(messages, MainBot.messageTimeOut).start(); + new MessageTimeOut(messagess, MainBot.messageTimeOut).start(); break; } diff --git a/src/main/java/net/Broken/RestApi/Commands/Disconnect.java b/src/main/java/net/Broken/RestApi/Commands/Disconnect.java new file mode 100644 index 0000000..1a30dfe --- /dev/null +++ b/src/main/java/net/Broken/RestApi/Commands/Disconnect.java @@ -0,0 +1,21 @@ +package net.Broken.RestApi.Commands; + +import net.Broken.Commands.Music; +import net.Broken.MainBot; +import net.Broken.RestApi.CommandInterface; +import net.Broken.RestApi.Data.CommandPostData; +import net.Broken.RestApi.Data.CommandResponseData; +import net.Broken.audio.WebLoadUtils; +import net.dv8tion.jda.core.entities.User; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; + +public class Disconnect implements CommandInterface{ + @Override + public ResponseEntity action(Music musicCommande, CommandPostData data, User user) { + Music music = (Music) MainBot.commandes.get("music"); + music.audio.stop(); + return new ResponseEntity<>(new CommandResponseData(data.command,"Ok"), HttpStatus.OK); + } + +} diff --git a/src/main/java/net/Broken/audio/AudioM.java b/src/main/java/net/Broken/audio/AudioM.java index 0180c04..e6721ad 100644 --- a/src/main/java/net/Broken/audio/AudioM.java +++ b/src/main/java/net/Broken/audio/AudioM.java @@ -258,12 +258,13 @@ public class AudioM { } } - public void stop (GuildVoiceLeaveEvent event) { + public void stop () { - GuildMusicManager musicManager = getGuildAudioPlayer(event.getGuild()); + GuildMusicManager musicManager = getGuildAudioPlayer(guild); musicManager.scheduler.stop(); + musicManager.scheduler.flush(); playedChanel = null; - event.getGuild().getAudioManager().closeAudioConnection(); + guild.getAudioManager().closeAudioConnection(); } public GuildMusicManager getMusicManager() throws NullMusicManager, NotConectedException { diff --git a/src/main/resources/static/js/music.js b/src/main/resources/static/js/music.js index 9c70a46..c198f71 100644 --- a/src/main/resources/static/js/music.js +++ b/src/main/resources/static/js/music.js @@ -123,7 +123,11 @@ $(document).ready(function() { sendCommand(command); }); -}) + $('#btn_disconnect').click(function () { + sendCommand({command : "DISCONNECT"}) + }) + +}); @@ -167,6 +171,9 @@ function getCurentMusic() { if ($('#btn_next').hasClass("disabled")) { $('#btn_next').removeClass("disabled"); } + if ($('#btn_disconnect').hasClass("disabled")) { + $('#btn_disconnect').removeClass("disabled"); + } } else{ if (!$('#btn_stop').hasClass("disabled")) { @@ -188,6 +195,10 @@ function getCurentMusic() { if (!$('#btn_next').hasClass("disabled")) { $('#btn_next').addClass("disabled"); } + + if (!$('#btn_disconnect').hasClass("disabled")) { + $('#btn_disconnect').addClass("disabled"); + } } $('#btn_play').children().text("play_arrow"); @@ -215,8 +226,6 @@ function getCurentMusic() { $('#btn_play').removeClass("amber"); $('#btn_play').addClass("green"); updateControl(data); - - break; case "LOADING": @@ -255,6 +264,9 @@ function getCurentMusic() { if (!$('#flush_btn').hasClass("disabled")) { $('#flush_btn').addClass("disabled"); } + if (!$('#btn_disconnect').hasClass("disabled")) { + $('#btn_disconnect').addClass("disabled"); + } $('#music_img').attr("src","/img/disconnected.png"); @@ -394,6 +406,9 @@ function updateControl(data){ if ($('#btn_next').hasClass("disabled")) { $('#btn_next').removeClass("disabled"); } + if ($('#btn_disconnect').hasClass("disabled")) { + $('#btn_disconnect').removeClass("disabled"); + } } else { @@ -416,6 +431,9 @@ function updateControl(data){ if (!$('#btn_next').hasClass("disabled")) { $('#btn_next').addClass("disabled"); } + if (!$('#btn_disconnect').hasClass("disabled")) { + $('#btn_disconnect').addClass("disabled"); + } } diff --git a/src/main/resources/templates/music.html b/src/main/resources/templates/music.html index 2060a11..4514faf 100644 --- a/src/main/resources/templates/music.html +++ b/src/main/resources/templates/music.html @@ -156,7 +156,17 @@ info + + + +