public void closeAudioConnection(long guildId) { Guild guild = jda.getGuildById(guildId); if(guild!=null) threadpool.submit(() -> guild.getAudioManager().closeAudioConnection()); }
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(); } }
public void closeConnection() { final Guild guild = shardManager.getGuildById(guildId); if (guild == null) { // todo handle if guild no longer exists LOGGER.error("Error getting guild with ID {} from shard manager", guildId); return; } executorService.submit(() -> { lock.lock(); try { boolean dec = guild.getAudioManager().isConnected(); guild.getAudioManager().closeAudioConnection(); if (dec) { audioStreams.dec(); } state.setVoiceConnectionClosed(); } finally { lock.unlock(); } }); } }
public boolean leave() { if (isConnected()) { stopMusic(); } Guild guild = bot.getJda().getGuildById(guildId); if (guild != null) { guild.getAudioManager().closeAudioConnection(); } return true; }
/** * Closes a connection connection for the currently connected server. * * @param guild The guild that the bot should close the connection for. */ public void closeConnection(Guild guild) { if (isEnabled()) { JdaLink link = lavalink.getLink(guild); if (!isLinkBeingDestroyed(link)) { link.disconnect(); } } else { guild.getAudioManager().closeAudioConnection(); } }
private void cleanup(Guild guild, Player player, long id) { if (guild != null && guild.getSelfMember().getVoiceState() != null && guild.getSelfMember().getVoiceState().getChannel() != null && guild.getAudioManager().isConnected() && guild.getAudioManager().getConnectionStatus() == ConnectionStatus.CONNECTED && closedConnections.get() < WEBSOCKET_THRESHOLD) { // Cut off at threshold in-case we send too many guild.getAudioManager().closeAudioConnection(); closedConnections.incrementAndGet(); } FlareBot.instance().getMusicManager().deletePlayer(player); VC_LAST_USED.remove(id); }
public void shutdown() { if(shuttingDown) return; shuttingDown = true; threadpool.shutdownNow(); if(jda.getStatus()!=JDA.Status.SHUTTING_DOWN) { jda.getGuilds().stream().forEach(g -> { g.getAudioManager().closeAudioConnection(); AudioHandler ah = (AudioHandler)g.getAudioManager().getSendingHandler(); if(ah!=null) { ah.stopAndClear(); ah.getPlayer().destroy(); nowplaying.updateTopic(g.getIdLong(), ah, true); } }); jda.shutdown(); } if(gui!=null) gui.dispose(); System.exit(0); }
@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(); } }
@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."); } }
@Override public void on(Context context) { Guild guild = context.getEvent().getGuild(); long guildId = guild.getIdLong(); GuildAudioController musicManager = this.bot.getGuildsManager().get(guildId); if (musicManager != null) { musicManager.getConnector().closeConnection(); musicManager.getScheduler().getQueue().clear(); musicManager.getScheduler().next(null); this.bot.getGuildsManager().remove(guildId); context.reply("Stopped playing music & left the voice channel."); } else { AudioManager audioManager = guild.getAudioManager(); audioManager.closeAudioConnection(); context.reply("Left the voice channel."); } } }
@Override public void onCommand(User sender, GuildWrapper guild, TextChannel channel, Message message, String[] args, Member member) { if (channel.getGuild().getSelfMember().getVoiceState().inVoiceChannel()) { if ((!member.getVoiceState().inVoiceChannel() || !channel.getGuild().getSelfMember().getVoiceState() .getAudioChannel().getId() .equals(member.getVoiceState().getAudioChannel() .getId())) && !getPermissions(channel) .hasPermission(member, Permission.LEAVE_OTHER)) { MessageUtils.sendErrorMessage("You need the permission `" + Permission.LEAVE_OTHER + "` for me to leave a different voice channel!", channel, sender); return; } channel.getGuild().getAudioManager().closeAudioConnection(); if (FlareBotManager.instance().getLastActive().containsKey(guild.getGuildIdLong())) FlareBotManager.instance().getLastActive().remove(guild.getGuildIdLong()); MessageUtils.sendInfoMessage("Bye bye! I've left the channel for now", channel, sender); } }
@Override public void onCommand(User sender, GuildWrapper guild, TextChannel channel, Message message, String[] args, Member member) { if (guild.getGuild().getAudioManager().isAttemptingToConnect() || guild.getGuild().getAudioManager().isConnected()) { guild.getGuild().getAudioManager().closeAudioConnection(); FlareBot.instance().getMusicManager().getPlayer(guild.getGuildId()).clean(); } channel.sendMessage("Killed the voice connection, please change voice region and try to use the bot " + "again!").queue(); }