Add auto-disconnect from vocal when bot is alone
This commit is contained in:
parent
167c0e9472
commit
9a5507fc1b
@ -1,6 +1,7 @@
|
|||||||
package net.Broken;
|
package net.Broken;
|
||||||
|
|
||||||
import net.Broken.Commandes.Move;
|
import net.Broken.Commandes.Move;
|
||||||
|
import net.Broken.Commandes.Music;
|
||||||
import net.Broken.Commandes.Spam;
|
import net.Broken.Commandes.Spam;
|
||||||
import net.Broken.Outils.AntiSpam;
|
import net.Broken.Outils.AntiSpam;
|
||||||
import net.Broken.Outils.MessageTimeOut;
|
import net.Broken.Outils.MessageTimeOut;
|
||||||
@ -70,15 +71,20 @@ public class BotListener extends ListenerAdapter {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onGuildVoiceLeave(GuildVoiceLeaveEvent event) {
|
public void onGuildVoiceLeave(GuildVoiceLeaveEvent event) {
|
||||||
super.onGuildVoiceLeave(event);
|
super.onGuildVoiceLeave(event);
|
||||||
if(event.getVoiceState().inVoiceChannel())
|
if(event.getGuild().getAudioManager().isConnected())
|
||||||
{
|
{
|
||||||
logger.debug("User disconnected from voice channel.");
|
logger.debug("User disconnected from voice channel.");
|
||||||
if(event.getVoiceState().getChannel().getMembers().size() == 1){
|
|
||||||
|
if(event.getGuild().getAudioManager().getConnectedChannel().getMembers().size() == 1){
|
||||||
logger.debug("I'm alone, close audio connection.");
|
logger.debug("I'm alone, close audio connection.");
|
||||||
event.getGuild().getAudioManager().closeAudioConnection();
|
|
||||||
|
Music music = (Music) MainBot.commandes.get("music");
|
||||||
|
music.audio.stop(event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class Music implements Commande {
|
public class Music implements Commande {
|
||||||
AudioM audio;
|
public AudioM audio;
|
||||||
Logger logger = LogManager.getLogger();
|
Logger logger = LogManager.getLogger();
|
||||||
public Music() {
|
public Music() {
|
||||||
audio = new AudioM();
|
audio = new AudioM();
|
||||||
@ -80,7 +80,6 @@ public class Music implements Commande {
|
|||||||
break;
|
break;
|
||||||
case "stop":
|
case "stop":
|
||||||
audio.stop(event);
|
audio.stop(event);
|
||||||
event.getGuild().getAudioManager().closeAudioConnection();
|
|
||||||
break;
|
break;
|
||||||
case "info":
|
case "info":
|
||||||
audio.info(event);
|
audio.info(event);
|
||||||
|
@ -15,6 +15,7 @@ import net.dv8tion.jda.core.entities.Guild;
|
|||||||
import net.dv8tion.jda.core.entities.Message;
|
import net.dv8tion.jda.core.entities.Message;
|
||||||
import net.dv8tion.jda.core.entities.TextChannel;
|
import net.dv8tion.jda.core.entities.TextChannel;
|
||||||
import net.dv8tion.jda.core.entities.VoiceChannel;
|
import net.dv8tion.jda.core.entities.VoiceChannel;
|
||||||
|
import net.dv8tion.jda.core.events.guild.voice.GuildVoiceLeaveEvent;
|
||||||
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
|
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
|
||||||
import net.dv8tion.jda.core.managers.AudioManager;
|
import net.dv8tion.jda.core.managers.AudioManager;
|
||||||
|
|
||||||
@ -217,7 +218,7 @@ public class AudioM {
|
|||||||
GuildMusicManager musicManager = getGuildAudioPlayer(event.getGuild());
|
GuildMusicManager musicManager = getGuildAudioPlayer(event.getGuild());
|
||||||
musicManager.scheduler.stop();
|
musicManager.scheduler.stop();
|
||||||
playedChanel = null;
|
playedChanel = null;
|
||||||
|
event.getGuild().getAudioManager().closeAudioConnection();
|
||||||
Message message = event.getTextChannel().sendMessage(EmbedMessageUtils.getMusicOk("Arret de la musique!")).complete();
|
Message message = event.getTextChannel().sendMessage(EmbedMessageUtils.getMusicOk("Arret de la musique!")).complete();
|
||||||
List<Message> messages = new ArrayList<Message>(){{
|
List<Message> messages = new ArrayList<Message>(){{
|
||||||
add(message);
|
add(message);
|
||||||
@ -226,6 +227,14 @@ public class AudioM {
|
|||||||
new MessageTimeOut(messages, MainBot.messageTimeOut).run();
|
new MessageTimeOut(messages, MainBot.messageTimeOut).run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void stop (GuildVoiceLeaveEvent event) {
|
||||||
|
|
||||||
|
GuildMusicManager musicManager = getGuildAudioPlayer(event.getGuild());
|
||||||
|
musicManager.scheduler.stop();
|
||||||
|
playedChanel = null;
|
||||||
|
event.getGuild().getAudioManager().closeAudioConnection();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user