🐛 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.AudioTrack;
|
||||
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 java.util.HashMap;
|
||||
|
@ -1,7 +1,10 @@
|
||||
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.Member;
|
||||
import net.dv8tion.jda.api.entities.channel.ChannelType;
|
||||
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
|
||||
import net.dv8tion.jda.api.interactions.commands.OptionType;
|
||||
import net.dv8tion.jda.api.interactions.commands.build.OptionData;
|
||||
@ -44,6 +47,23 @@ public class PlayAudioCommand implements ISlashCommand {
|
||||
|
||||
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());
|
||||
PlayerManager.getInstance().getMusicManager(event.getGuild()).audioPlayer.setVolume(25);
|
||||
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 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.hooks.ListenerAdapter;
|
||||
import net.dv8tion.jda.api.managers.AudioManager;
|
||||
@ -19,7 +19,7 @@ public class VoiceLeaveListener extends ListenerAdapter {
|
||||
return;
|
||||
}
|
||||
|
||||
VoiceChannel botChannel = audioManager.getConnectedChannel().asVoiceChannel();
|
||||
AudioChannel botChannel = audioManager.getConnectedChannel();
|
||||
|
||||
// Compte le nombre de membres dans le canal (excluant les bots)
|
||||
long realMembersCount = botChannel.getMembers().stream()
|
||||
|
Loading…
Reference in New Issue
Block a user