🐛 Fix Stage Channel
All checks were successful
Build and Push Docker Image / build (push) Successful in 3m8s
All checks were successful
Build and Push Docker Image / build (push) Successful in 3m8s
This commit is contained in:
parent
92b762fdb0
commit
7fce86174f
@ -8,7 +8,6 @@ import com.sedmelluq.discord.lavaplayer.tools.FriendlyException;
|
|||||||
import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist;
|
import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist;
|
||||||
import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
|
import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
|
||||||
import net.dv8tion.jda.api.entities.Guild;
|
import net.dv8tion.jda.api.entities.Guild;
|
||||||
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
|
|
||||||
import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
|
import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
package org.camelia.studio.kiss.shot.acerola.commands.utils;
|
package org.camelia.studio.kiss.shot.acerola.commands.utils;
|
||||||
|
|
||||||
|
import net.dv8tion.jda.api.audio.hooks.ConnectionListener;
|
||||||
|
import net.dv8tion.jda.api.audio.hooks.ConnectionStatus;
|
||||||
import net.dv8tion.jda.api.entities.GuildVoiceState;
|
import net.dv8tion.jda.api.entities.GuildVoiceState;
|
||||||
import net.dv8tion.jda.api.entities.Member;
|
import net.dv8tion.jda.api.entities.Member;
|
||||||
|
import net.dv8tion.jda.api.entities.channel.ChannelType;
|
||||||
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
|
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
|
||||||
import net.dv8tion.jda.api.interactions.commands.OptionType;
|
import net.dv8tion.jda.api.interactions.commands.OptionType;
|
||||||
import net.dv8tion.jda.api.interactions.commands.build.OptionData;
|
import net.dv8tion.jda.api.interactions.commands.build.OptionData;
|
||||||
@ -44,6 +47,23 @@ public class PlayAudioCommand implements ISlashCommand {
|
|||||||
|
|
||||||
AudioManager audioManager = event.getGuild().getAudioManager();
|
AudioManager audioManager = event.getGuild().getAudioManager();
|
||||||
|
|
||||||
|
audioManager.setConnectionListener(new ConnectionListener() {
|
||||||
|
@Override
|
||||||
|
public void onStatusChange(ConnectionStatus status) {
|
||||||
|
if (status == ConnectionStatus.CONNECTED) {
|
||||||
|
if (voiceState.getChannel().getType() == ChannelType.STAGE) {
|
||||||
|
voiceState.getChannel().asStageChannel().requestToSpeak().queue(speakSuccess -> {
|
||||||
|
audioManager.setConnectionListener(null);
|
||||||
|
}, error -> {
|
||||||
|
audioManager.setConnectionListener(null);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
audioManager.setConnectionListener(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
audioManager.openAudioConnection(voiceState.getChannel());
|
audioManager.openAudioConnection(voiceState.getChannel());
|
||||||
PlayerManager.getInstance().getMusicManager(event.getGuild()).audioPlayer.setVolume(25);
|
PlayerManager.getInstance().getMusicManager(event.getGuild()).audioPlayer.setVolume(25);
|
||||||
PlayerManager.getInstance().loadAndPlay(event.getChannel().asGuildMessageChannel(), url);
|
PlayerManager.getInstance().loadAndPlay(event.getChannel().asGuildMessageChannel(), url);
|
||||||
|
@ -3,7 +3,7 @@ package org.camelia.studio.kiss.shot.acerola.listeners;
|
|||||||
import org.camelia.studio.kiss.shot.acerola.audio.PlayerManager;
|
import org.camelia.studio.kiss.shot.acerola.audio.PlayerManager;
|
||||||
|
|
||||||
import net.dv8tion.jda.api.entities.Guild;
|
import net.dv8tion.jda.api.entities.Guild;
|
||||||
import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
|
import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel;
|
||||||
import net.dv8tion.jda.api.events.guild.voice.GuildVoiceUpdateEvent;
|
import net.dv8tion.jda.api.events.guild.voice.GuildVoiceUpdateEvent;
|
||||||
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;
|
||||||
@ -19,7 +19,7 @@ public class VoiceLeaveListener extends ListenerAdapter {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
VoiceChannel botChannel = audioManager.getConnectedChannel().asVoiceChannel();
|
AudioChannel botChannel = audioManager.getConnectedChannel();
|
||||||
|
|
||||||
// Compte le nombre de membres dans le canal (excluant les bots)
|
// Compte le nombre de membres dans le canal (excluant les bots)
|
||||||
long realMembersCount = botChannel.getMembers().stream()
|
long realMembersCount = botChannel.getMembers().stream()
|
||||||
|
Loading…
Reference in New Issue
Block a user