private void locked(Consumer<AudioManagerImpl> consumer) { AudioManagerImpl manager = (AudioManagerImpl) guild.getAudioManager(); MiscUtil.locked(manager.CONNECTION_LOCK, () -> consumer.accept(manager)); }
final long timeout = getGuild().getAudioManager().getConnectTimeout();
AudioManager audioManager = guild.getAudioManager(); JSONObject packet; switch (stage)
throw new IllegalArgumentException("Attempted to create audio connection without having a session ID. Did VOICE_STATE_UPDATED fail?"); AudioManagerImpl audioManager = (AudioManagerImpl) guild.getAudioManager(); MiscUtil.locked(audioManager.CONNECTION_LOCK, () ->
public boolean hasHandler(Guild guild) { return guild.getAudioManager().getSendingHandler()!=null; }
ConnectionListener listener = guild.getAudioManager().getConnectionListener(); if (audioRequest.getStage() != ConnectionStage.DISCONNECT)
public void closeAudioConnection(long guildId) { Guild guild = jda.getGuildById(guildId); if(guild!=null) threadpool.submit(() -> guild.getAudioManager().closeAudioConnection()); }
public static Set<VoiceChannel> getConnectedVoiceChannel() { return getShardManager().getGuildCache().stream().filter(c -> c.getAudioManager().getConnectedChannel() != null) .map(g -> g.getAudioManager().getConnectedChannel()) .collect(Collectors.toSet()); }
private void play(Guild guild, GuildMusicManager musicManager, AudioTrack track) { connectToFirstVoiceChannel(guild.getAudioManager()); musicManager.scheduler.queue(track); }
private synchronized GuildMusicManager getGuildAudioPlayer(Guild guild) { long guildId = Long.parseLong(guild.getId()); GuildMusicManager musicManager = musicManagers.get(guildId); if (musicManager == null) { musicManager = new GuildMusicManager(playerManager); musicManagers.put(guildId, musicManager); } guild.getAudioManager().setSendingHandler(musicManager.getSendHandler()); return musicManager; }
private void handleVoiceConnectivity(VoiceChannel channel) { if (channel.getMembers().contains(channel.getGuild().getSelfMember()) && (channel.getMembers().size() < 2 || channel.getMembers() .stream().filter(m -> m.getUser().isBot()).count() == channel.getMembers().size())) { channel.getGuild().getAudioManager().closeAudioConnection(); } }
@Override public void doCommand(CommandEvent event) { AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); handler.stopAndClear(); event.getGuild().getAudioManager().closeAudioConnection(); event.reply(event.getClient().getSuccess()+" The player has stopped and the queue has been cleared."); } }
public static void removeGuild(Guild guild, boolean saveStatus) { if (playerInstances.containsKey(guild.getIdLong())) { if (saveStatus && playerInstances.get(guild.getIdLong()).isConnected()) { CBotPlayingOn.insert(guild.getId(), guild.getAudioManager().getConnectedChannel().getId()); } playerInstances.get(guild.getIdLong()).leave(); playerInstances.remove(guild.getIdLong()); } }
public synchronized void connectTo(VoiceChannel channel) { if (channel != null && !isConnectedTo(channel)) { Guild guild = channel.getJDA().getGuildById(guildId); guild.getAudioManager().openAudioConnection(channel); } }
public boolean leave() { if (isConnected()) { stopMusic(); } Guild guild = bot.getJda().getGuildById(guildId); if (guild != null) { guild.getAudioManager().closeAudioConnection(); } return true; }
@Override public void onGuildLeave(GuildLeaveEvent event) { GuildAudioController musicManager = guildAudioManager.remove(event.getGuild().getIdLong()); if (musicManager != null) { musicManager.getPlayer().stopTrack(); musicManager.getScheduler().getQueue().clear(); musicManager.getConnector().closeConnection(); } event.getGuild().getAudioManager().closeAudioConnection(); } }
GuildAudioController(MusicBot bot, Guild guild, long textChannelId, AudioPlayerManager playerManager, ExecutorService executorService) { this.playerManager = playerManager; this.state = new GuildAudioControllerState(); this.connector = new GuildAudioControllerConnector(bot.getShardManager(), state, executorService, guild.getIdLong()); this.player = playerManager.createPlayer(); this.scheduler = new TrackScheduler(bot, this, this.player, textChannelId); this.player.addListener(scheduler); AudioPlayerSendHandler sendHandler = new AudioPlayerSendHandler(this.player); guild.getAudioManager().setSendingHandler(sendHandler); }
@Override public void doCommand(CommandEvent event) { AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); User u = event.getJDA().getUserById(handler.getRequester()); event.reply(event.getClient().getSuccess()+" Skipped **"+handler.getPlayer().getPlayingTrack().getInfo().title +"** (requested by "+(u==null ? "someone" : "**"+u.getName()+"**")+")"); handler.getPlayer().stopTrack(); } }
@Override public void doCommand(CommandEvent event) { AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); if(handler.getPlayer().isPaused()) { event.replyWarning("The player is already paused! Use `"+event.getClient().getPrefix()+"play` to unpause!"); return; } handler.getPlayer().setPaused(true); event.replySuccess("Paused **"+handler.getPlayer().getPlayingTrack().getInfo().title+"**. Type `"+event.getClient().getPrefix()+"play` to unpause!"); } }
private void loadSingle(AudioTrack track) { if(bot.getConfig().isTooLong(track)) { m.editMessage(FormatUtil.filter(event.getClient().getWarning()+" This track (**"+track.getInfo().title+"**) is longer than the allowed maximum: `" +FormatUtil.formatTime(track.getDuration())+"` > `"+FormatUtil.formatTime(bot.getConfig().getMaxSeconds()*1000)+"`")).queue(); return; } AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); int pos = handler.addTrackToFront(new QueuedTrack(track, event.getAuthor()))+1; String addMsg = FormatUtil.filter(event.getClient().getSuccess()+" Added **"+track.getInfo().title +"** (`"+FormatUtil.formatTime(track.getDuration())+"`) "+(pos==0?"to begin playing":" to the queue at position "+pos)); m.editMessage(addMsg).queue(); }