Search in sources :

Example 16 with Track

use of com.arsenarsen.lavaplayerbridge.player.Track in project FlareBot by FlareBot.

the class QueueCommand method send.

private void send(TextChannel channel, Member sender) {
    PlayerManager manager = FlareBot.instance().getMusicManager();
    Track currentTrack = manager.getPlayer(channel.getGuild().getId()).getPlayingTrack();
    if (!manager.getPlayer(channel.getGuild().getId()).getPlaylist().isEmpty() || currentTrack != null) {
        List<String> songs = new ArrayList<>();
        songs.add("Current Song: " + String.format("[`%s`](%s) | Requested by <@!%s>\n", currentTrack.getTrack().getInfo().title, YouTubeExtractor.WATCH_URL + currentTrack.getTrack().getIdentifier(), currentTrack.getMeta().get("requester")));
        AtomicInteger i = new AtomicInteger(1);
        manager.getPlayer(channel.getGuild().getId()).getPlaylist().forEach(track -> songs.add(String.format("%s. [`%s`](%s) | Requested by <@!%s>\n", i.getAndIncrement(), track.getTrack().getInfo().title, YouTubeExtractor.WATCH_URL + track.getTrack().getIdentifier(), track.getMeta().get("requester"))));
        PagedEmbedBuilder pe = new PagedEmbedBuilder<>(PaginationUtil.splitStringToList(songs.stream().collect(Collectors.joining("\n")) + "\n", PaginationUtil.SplitMethod.NEW_LINES, 21)).setTitle("Queued Songs");
        PaginationUtil.sendEmbedPagedMessage(pe.build(), 0, channel, sender.getUser(), ButtonGroupConstants.QUEUE);
    } else {
        MessageUtils.sendErrorMessage(MessageUtils.getEmbed().setDescription("No songs in the playlist!"), channel);
    }
}
Also used : PlayerManager(com.arsenarsen.lavaplayerbridge.PlayerManager) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) PagedEmbedBuilder(stream.flarebot.flarebot.util.pagination.PagedEmbedBuilder) ArrayList(java.util.ArrayList) Track(com.arsenarsen.lavaplayerbridge.player.Track)

Aggregations

Track (com.arsenarsen.lavaplayerbridge.player.Track)16 EmbedBuilder (net.dv8tion.jda.core.EmbedBuilder)7 Message (net.dv8tion.jda.core.entities.Message)6 TextChannel (net.dv8tion.jda.core.entities.TextChannel)6 User (net.dv8tion.jda.core.entities.User)6 GuildWrapper (stream.flarebot.flarebot.objects.GuildWrapper)6 MessageUtils (stream.flarebot.flarebot.util.MessageUtils)6 ArrayList (java.util.ArrayList)5 Member (net.dv8tion.jda.core.entities.Member)5 FlareBot (stream.flarebot.flarebot.FlareBot)5 PlayerManager (com.arsenarsen.lavaplayerbridge.PlayerManager)4 Player (com.arsenarsen.lavaplayerbridge.player.Player)4 AudioTrack (com.sedmelluq.discord.lavaplayer.track.AudioTrack)4 Collectors (java.util.stream.Collectors)4 CommandType (stream.flarebot.flarebot.commands.CommandType)4 List (java.util.List)3 Getters (stream.flarebot.flarebot.Getters)3 Permission (stream.flarebot.flarebot.permissions.Permission)3 Playlist (com.arsenarsen.lavaplayerbridge.player.Playlist)2 FriendlyException (com.sedmelluq.discord.lavaplayer.tools.FriendlyException)2