Search in sources :

Example 1 with Permission

use of stream.flarebot.flarebot.permissions.Permission in project FlareBot by FlareBot.

the class PermissionsCommand method onCommand.

@Override
public void onCommand(User sender, GuildWrapper guild, TextChannel channel, Message message, String[] args, Member member) {
    if (args.length >= 2) {
        if (args[0].equalsIgnoreCase("group")) {
            String groupString = args[1];
            if (!groupNamePattern.matcher(groupString).matches()) {
                if (groupString.length() > 32)
                    MessageUtils.sendWarningMessage("Please make sure the group name is a maximum of 32 chars!", channel);
                else if (groupString.length() < 3)
                    MessageUtils.sendWarningMessage("Please make sure the group name is a minimum of 3 chars!", channel);
                else
                    MessageUtils.sendWarningMessage("You used some invalid characters in your group name!\n" + "Please only use alphanumeric (letters and numbers) and `-`, `_`.", channel);
                return;
            }
            Group group = getPermissions(channel).getGroup(groupString);
            if (args.length >= 3) {
                if (group == null && !args[2].equalsIgnoreCase("create")) {
                    MessageUtils.sendErrorMessage("That group doesn't exist! You can create it with `{%}permissions group " + groupString + " create`", channel);
                    return;
                } else if (args[2].equalsIgnoreCase("add")) {
                    if (args.length == 4) {
                        if (!Permission.isValidPermission(args[3])) {
                            MessageUtils.sendErrorMessage("That is an invalid permission! Permissions start with `flarebot.` followed with a command name!\n" + "**Example:** `flarebot.play`\n" + "See `_permissions list` for a full list!", channel);
                            return;
                        }
                        if (group.addPermission(args[3])) {
                            MessageUtils.sendSuccessMessage("Successfully added the permission `" + args[3] + "` to the group `" + groupString + "`", channel, sender);
                            return;
                        } else {
                            MessageUtils.sendErrorMessage("Couldn't add the permission (it probably already exists)", channel);
                            return;
                        }
                    }
                } else if (args[2].equalsIgnoreCase("remove")) {
                    if (args.length == 4) {
                        if (group.removePermission(args[3])) {
                            MessageUtils.sendSuccessMessage("Successfully removed the permission `" + args[3] + "` from the group `" + groupString + "`", channel, sender);
                            return;
                        } else {
                            MessageUtils.sendErrorMessage("Couldn't remove the permission (it probably didn't exist)", channel);
                            return;
                        }
                    }
                } else if (args[2].equalsIgnoreCase("create")) {
                    if (!GuildWrapperLoader.ALLOWED_CHARS_REGEX.matcher(groupString).matches()) {
                        MessageUtils.sendErrorMessage("This group name has invalid characters! Please only use word characters and any of these: `" + new String(GuildWrapperLoader.ALLOWED_SPECIAL_CHARACTERS) + "`", channel);
                    }
                    if (getPermissions(channel).addGroup(groupString)) {
                        MessageUtils.sendSuccessMessage("Successfully created group: `" + groupString + "`", channel, sender);
                        return;
                    } else {
                        MessageUtils.sendErrorMessage("That group already exists!!", channel);
                        return;
                    }
                } else if (args[2].equalsIgnoreCase("delete")) {
                    getPermissions(channel).deleteGroup(groupString);
                    MessageUtils.sendSuccessMessage("Deleted group `" + groupString + "`", channel, sender);
                    return;
                } else if (args[2].equalsIgnoreCase("link")) {
                    if (args.length == 4) {
                        Role role = GuildUtils.getRole(args[3], guild.getGuildId());
                        if (role != null) {
                            group.linkRole(role.getId());
                            MessageUtils.sendSuccessMessage("Successfully linked the group `" + groupString + "` to the role `" + role.getName() + "`", channel, sender);
                            return;
                        } else {
                            MessageUtils.sendErrorMessage("That role doesn't exist!", channel);
                            return;
                        }
                    }
                } else if (args[2].equalsIgnoreCase("unlink")) {
                    Role role;
                    if (group.getRoleId() == null || (role = guild.getGuild().getRoleById(group.getRoleId())) == null) {
                        MessageUtils.sendErrorMessage("Cannot unlink if a role isn't linked!!", channel);
                        return;
                    } else {
                        group.linkRole(null);
                        MessageUtils.sendSuccessMessage("Successfully unlinked the role " + role.getName() + " from the group " + group.getName(), channel, sender);
                        return;
                    }
                } else if (args[2].equalsIgnoreCase("list")) {
                    if (args.length <= 4) {
                        int page = args.length == 4 ? Integer.valueOf(args[3]) : 1;
                        Set<String> perms = group.getPermissions();
                        List<String> permList = GeneralUtils.orderList(perms);
                        String list = permList.stream().collect(Collectors.joining("\n"));
                        PagedEmbedBuilder<String> pe = new PagedEmbedBuilder<>(PaginationUtil.splitStringToList(list, PaginationUtil.SplitMethod.NEW_LINES, 25));
                        pe.setTitle("Permissions for the group: " + group.getName());
                        pe.enableCodeBlock();
                        PaginationUtil.sendEmbedPagedMessage(pe.build(), page - 1, channel, sender, ButtonGroupConstants.PERMISSIONS_GROUP);
                        return;
                    }
                } else if (args[2].equalsIgnoreCase("massadd")) {
                    if (args.length == 4) {
                        List<Member> roleMembers;
                        String roleName = "";
                        switch(args[3]) {
                            case "@everyone":
                                roleMembers = guild.getGuild().getMembers();
                                roleName = "everyone";
                                break;
                            case "@here":
                                roleMembers = channel.getMembers();
                                roleName = "here";
                                break;
                            default:
                                Role role = GuildUtils.getRole(args[3], guild.getGuildId());
                                if (role != null) {
                                    roleMembers = guild.getGuild().getMembersWithRoles(role);
                                } else {
                                    MessageUtils.sendErrorMessage("That role doesn't exist!!", channel);
                                    return;
                                }
                                break;
                        }
                        for (Member user : roleMembers) {
                            getPermissions(channel).getUser(user).addGroup(group);
                        }
                        MessageUtils.sendSuccessMessage("Successfully added the group `" + groupString + "` to everyone in the role @" + roleName, channel, sender);
                        return;
                    }
                } else if (args[2].equalsIgnoreCase("clear")) {
                    group.getPermissions().clear();
                    MessageUtils.sendSuccessMessage("Cleared all permissions from the group: " + group.getName(), channel);
                    return;
                } else if (args[2].equalsIgnoreCase("move") && args.length >= 4) {
                    int pos = GeneralUtils.getInt(args[3], -1);
                    if (pos < 1 || pos >= guild.getPermissions().getGroups().size()) {
                        MessageUtils.sendWarningMessage("Invalid Position: " + args[3], channel);
                        return;
                    } else {
                        guild.getPermissions().moveGroup(group, pos - 1);
                        MessageUtils.sendSuccessMessage("Moved group `" + groupString + "` to position " + pos, channel, sender);
                        return;
                    }
                } else if (args[2].equalsIgnoreCase("clone") && args.length >= 4) {
                    if (guild.getPermissions().cloneGroup(group, args[3])) {
                        MessageUtils.sendMessage("Cloned group Successfully", channel);
                        return;
                    } else {
                        MessageUtils.sendWarningMessage("Error cloning group (The group might already exist)", channel);
                        return;
                    }
                } else if (args[2].equalsIgnoreCase("rename") && args.length >= 4) {
                    if (guild.getPermissions().renameGroup(group, args[3])) {
                        MessageUtils.sendMessage("Renamed group Successfully", channel);
                        return;
                    } else {
                        MessageUtils.sendWarningMessage("Error renaming group (The destination group might already exist)", channel);
                        return;
                    }
                }
            }
        } else if (args[0].equalsIgnoreCase("user")) {
            String userString = args[1];
            User user = GuildUtils.getUser(userString, guild.getGuildId());
            if (user == null) {
                MessageUtils.sendErrorMessage("That user doesn't exist!!", channel);
                return;
            }
            stream.flarebot.flarebot.permissions.User permUser = getPermissions(channel).getUser(guild.getGuild().getMember(user));
            if (args.length >= 3) {
                if (args[2].equalsIgnoreCase("group")) {
                    if (args.length >= 4) {
                        if (args[3].equalsIgnoreCase("add")) {
                            if (args.length == 5) {
                                String groupString = args[4];
                                Group group = getPermissions(channel).getGroup(groupString);
                                if (group == null) {
                                    MessageUtils.sendErrorMessage("That group doesn't exists!! You can create it with `" + getPrefix(channel.getGuild()) + "permissions group " + groupString + " create`", channel);
                                    return;
                                }
                                permUser.addGroup(group);
                                MessageUtils.sendSuccessMessage("Successfully added the group `" + groupString + "` to " + user.getAsMention(), channel, sender);
                                return;
                            }
                        } else if (args[3].equalsIgnoreCase("remove")) {
                            if (args.length == 5) {
                                String groupString = args[4];
                                Group group = getPermissions(channel).getGroup(groupString);
                                if (group == null) {
                                    MessageUtils.sendErrorMessage("That group doesn't exists!!", channel);
                                    return;
                                }
                                if (permUser.removeGroup(group)) {
                                    MessageUtils.sendSuccessMessage("Successfully removed the group `" + groupString + "` from " + user.getAsMention(), channel, sender);
                                    return;
                                } else {
                                    MessageUtils.sendErrorMessage("The user doesn't have that group!!", channel);
                                    return;
                                }
                            }
                        } else if (args[3].equalsIgnoreCase("list")) {
                            int page = (args.length == 5 ? GeneralUtils.getInt(args[4], 1) : 1) - 1;
                            Set<String> groups = new HashSet<>(permUser.getGroups());
                            groups.addAll(getPermissions(channel).getGroups().stream().filter(g -> guild.getGuild().getMember(user).getRoles().contains(guild.getGuild().getRoleById(g.getRoleId())) || g.getRoleId().equals(guild.getGuildId())).map(Group::getName).collect(Collectors.toList()));
                            List<String> groupList = GeneralUtils.orderList(groups);
                            String list = groupList.stream().collect(Collectors.joining("\n"));
                            PagedEmbedBuilder pe = new PagedEmbedBuilder<>(PaginationUtil.splitStringToList(list, PaginationUtil.SplitMethod.NEW_LINES, 25)).setTitle("Groups for " + MessageUtils.getTag(user)).enableCodeBlock();
                            PaginationUtil.sendEmbedPagedMessage(pe.build(), page, channel, sender, ButtonGroupConstants.PERMISSIONS_USER_GROUPS);
                            return;
                        }
                    }
                } else if (args[2].equalsIgnoreCase("permission")) {
                    if (args.length >= 4) {
                        if (args[3].equalsIgnoreCase("add")) {
                            if (args.length == 5) {
                                if (!Permission.isValidPermission(args[4])) {
                                    MessageUtils.sendErrorMessage("That is an invalid permission! Permissions start with `flarebot.` followed with a command name!\n" + "**Example:** `flarebot.play`\n" + "See `_permissions list` for a full list!", channel);
                                    return;
                                }
                                if (permUser.addPermission(args[4])) {
                                    MessageUtils.sendSuccessMessage("Successfully added the permission `" + args[4] + "` to " + user.getAsMention(), channel, sender);
                                    return;
                                } else {
                                    MessageUtils.sendErrorMessage("The user doesn't have that permission!!", channel);
                                    return;
                                }
                            }
                        } else if (args[3].equalsIgnoreCase("remove")) {
                            if (args.length == 5) {
                                if (permUser.removePermission(args[4])) {
                                    MessageUtils.sendSuccessMessage("Successfully removed the permission `" + args[4] + "` from " + user.getAsMention(), channel, sender);
                                    return;
                                } else {
                                    MessageUtils.sendErrorMessage("The user already has that permission!!", channel);
                                    return;
                                }
                            }
                        } else if (args[3].equalsIgnoreCase("list")) {
                            int page = (args.length == 5 ? Integer.valueOf(args[4]) : 1) - 1;
                            Set<String> perms = permUser.getPermissions();
                            List<String> permList = GeneralUtils.orderList(perms);
                            String list = permList.stream().collect(Collectors.joining("\n"));
                            PagedEmbedBuilder<String> pe = new PagedEmbedBuilder<>(PaginationUtil.splitStringToList(list, PaginationUtil.SplitMethod.NEW_LINES, 25));
                            pe.setTitle("Permissions for " + MessageUtils.getTag(user));
                            pe.enableCodeBlock();
                            PaginationUtil.sendEmbedPagedMessage(pe.build(), page, channel, sender, ButtonGroupConstants.PERMISSIONS_USER_PERMISSIONS);
                            return;
                        }
                    }
                } else if (args[2].equalsIgnoreCase("check")) {
                    if (getPermissions(channel).hasPermission(guild.getGuild().getMember(user), Permission.ALL_PERMISSIONS)) {
                        EmbedBuilder builder = new EmbedBuilder();
                        builder.setTitle("Permissions for " + user.getName());
                        builder.setDescription("**All Permissions!**");
                        channel.sendMessage(builder.build()).queue();
                        return;
                    } else {
                        String perms = Arrays.stream(Permission.values()).filter(p -> getPermissions(channel).hasPermission(guild.getGuild().getMember(user), p)).map(m -> "`" + m + "`").collect(Collectors.joining("\n"));
                        PagedEmbedBuilder<String> embedBuilder = new PagedEmbedBuilder<>(PaginationUtil.splitStringToList(perms, PaginationUtil.SplitMethod.NEW_LINES, 20));
                        embedBuilder.setTitle("Permissions for " + MessageUtils.getTag(user));
                        PaginationUtil.sendEmbedPagedMessage(embedBuilder.build(), 0, channel, sender, ButtonGroupConstants.PERMISSIONS_USER_CHECK);
                        return;
                    }
                } else if (args[2].equalsIgnoreCase("clear")) {
                    permUser.getPermissions().clear();
                    MessageUtils.sendSuccessMessage("Cleared all permissions from: " + MessageUtils.getTag(user), channel);
                    return;
                }
            }
        }
    } else if (args.length >= 1) {
        if (args[0].equalsIgnoreCase("groups")) {
            if (this.getPermissions(channel).getGroups().isEmpty()) {
                channel.sendMessage(MessageUtils.getEmbed(sender).setColor(Color.RED).setDescription("There are no groups for this guild!").build()).queue();
                return;
            } else {
                int page = args.length == 2 ? Integer.valueOf(args[1]) : 1;
                StringBuilder stringBuilder = new StringBuilder();
                int i = 1;
                for (Group group : guild.getPermissions().getGroups()) {
                    stringBuilder.append(i).append(". ").append(group.getName()).append("\n");
                    i++;
                }
                PagedEmbedBuilder<String> pe = new PagedEmbedBuilder<>(PaginationUtil.splitStringToList(stringBuilder.toString(), PaginationUtil.SplitMethod.NEW_LINES, 20));
                pe.setTitle("Groups");
                pe.enableCodeBlock();
                PaginationUtil.sendEmbedPagedMessage(pe.build(), page - 1, channel, sender, ButtonGroupConstants.PERMISSIONS_GROUPS);
                return;
            }
        } else if (args[0].equalsIgnoreCase("list")) {
            StringBuilder defaultPerms = new StringBuilder("**Default Permissions**\n");
            StringBuilder nonDefaultPerms = new StringBuilder("**Non-Default Permissions**\n");
            for (Permission p : Permission.values()) {
                if (p == Permission.ALL_PERMISSIONS)
                    continue;
                if (p.isDefaultPerm())
                    defaultPerms.append("`").append(p).append("`").append("\n");
                else
                    nonDefaultPerms.append("`").append(p).append("`").append("\n");
            }
            PagedEmbedBuilder<String> embedBuilder = new PagedEmbedBuilder<>(PaginationUtil.splitStringToList(defaultPerms.append("\n").append(nonDefaultPerms.toString()).toString(), PaginationUtil.SplitMethod.NEW_LINES, 20));
            embedBuilder.setTitle("Permissions");
            PaginationUtil.sendEmbedPagedMessage(embedBuilder.build(), 0, channel, sender, ButtonGroupConstants.PERMISSIONS_LIST);
            return;
        } else if (args[0].equalsIgnoreCase("reset")) {
            guild.setPermissions(new PerGuildPermissions());
            MessageUtils.sendSuccessMessage("Successfully reset perms", channel, sender);
            return;
        }
    }
    MessageUtils.sendUsage(this, channel, sender, args);
}
Also used : Color(java.awt.Color) Group(stream.flarebot.flarebot.permissions.Group) java.util(java.util) GuildWrapperLoader(stream.flarebot.flarebot.objects.GuildWrapperLoader) PaginationUtil(stream.flarebot.flarebot.util.pagination.PaginationUtil) net.dv8tion.jda.core.entities(net.dv8tion.jda.core.entities) GuildWrapper(stream.flarebot.flarebot.objects.GuildWrapper) GeneralUtils(stream.flarebot.flarebot.util.general.GeneralUtils) Collectors(java.util.stream.Collectors) EmbedBuilder(net.dv8tion.jda.core.EmbedBuilder) ButtonGroupConstants(stream.flarebot.flarebot.util.buttons.ButtonGroupConstants) Permission(stream.flarebot.flarebot.permissions.Permission) PagedEmbedBuilder(stream.flarebot.flarebot.util.pagination.PagedEmbedBuilder) Command(stream.flarebot.flarebot.commands.Command) PerGuildPermissions(stream.flarebot.flarebot.permissions.PerGuildPermissions) MessageUtils(stream.flarebot.flarebot.util.MessageUtils) Pattern(java.util.regex.Pattern) CommandType(stream.flarebot.flarebot.commands.CommandType) GuildUtils(stream.flarebot.flarebot.util.general.GuildUtils) Group(stream.flarebot.flarebot.permissions.Group) PerGuildPermissions(stream.flarebot.flarebot.permissions.PerGuildPermissions) EmbedBuilder(net.dv8tion.jda.core.EmbedBuilder) PagedEmbedBuilder(stream.flarebot.flarebot.util.pagination.PagedEmbedBuilder) PagedEmbedBuilder(stream.flarebot.flarebot.util.pagination.PagedEmbedBuilder) Permission(stream.flarebot.flarebot.permissions.Permission)

Example 2 with Permission

use of stream.flarebot.flarebot.permissions.Permission in project FlareBot by FlareBot.

the class SkipCommand method onCommand.

@Override
public void onCommand(User sender, GuildWrapper guild, TextChannel channel, Message message, String[] args, Member member) {
    boolean songMessage = message.getAuthor().getIdLong() == Getters.getSelfUser().getIdLong();
    PlayerManager musicManager = FlareBot.instance().getMusicManager();
    if (!channel.getGuild().getAudioManager().isConnected() || musicManager.getPlayer(channel.getGuild().getId()).getPlayingTrack() == null) {
        channel.sendMessage("I am not playing anything!").queue();
        return;
    }
    if (member.getVoiceState().inVoiceChannel() && !channel.getGuild().getSelfMember().getVoiceState().getChannel().getId().equals(member.getVoiceState().getChannel().getId()) && !getPermissions(channel).hasPermission(member, Permission.SKIP_FORCE)) {
        channel.sendMessage("You must be in the channel in order to skip songs!").queue();
        return;
    }
    Track currentTrack = musicManager.getPlayer(guild.getGuildId()).getPlayingTrack();
    if (args.length == 0 && currentTrack.getMeta().get("requester").equals(sender.getId())) {
        channel.sendMessage("Skipped your own song!").queue();
        musicManager.getPlayer(guild.getGuildId()).skip();
        if (songMessage)
            SongCommand.updateSongMessage(sender, message, channel);
        return;
    }
    if (args.length != 1) {
        if (!channel.getGuild().getMember(sender).getVoiceState().inVoiceChannel() || channel.getGuild().getMember(sender).getVoiceState().getChannel().getIdLong() != channel.getGuild().getSelfMember().getVoiceState().getChannel().getIdLong()) {
            MessageUtils.sendErrorMessage("You cannot skip if you aren't listening to it!", channel);
            return;
        }
        if (VoteUtil.contains(skipUUID, guild.getGuild()))
            MessageUtils.sendWarningMessage("There is already a vote to skip current song! Vote with `{%}skip yes | no`", channel, sender);
        else {
            VoteGroup group = new VoteGroup("Skip current song", skipUUID);
            List<User> users = new ArrayList<>();
            for (Member inChannelMember : channel.getGuild().getSelfMember().getVoiceState().getChannel().getMembers()) {
                if (channel.getGuild().getSelfMember().getUser().getIdLong() != inChannelMember.getUser().getIdLong()) {
                    users.add(inChannelMember.getUser());
                }
            }
            group.limitUsers(users);
            VoteUtil.sendVoteMessage(skipUUID, (vote) -> {
                if (vote.equals(VoteGroup.Vote.NONE) || vote.equals(VoteGroup.Vote.NO)) {
                    MessageUtils.sendMessage("Results are in: Keep!", channel);
                } else {
                    MessageUtils.sendMessage("Skipping!", channel);
                    if (songMessage)
                        SongCommand.updateSongMessage(sender, message, channel);
                    musicManager.getPlayer(guild.getGuildId()).skip();
                }
            }, group, TimeUnit.MINUTES.toMillis(1), channel, sender, ButtonGroupConstants.VOTE_SKIP, new ButtonGroup.Button("\u23ED", (owner, user, message1) -> {
                if (getPermissions(channel).hasPermission(channel.getGuild().getMember(user), Permission.SKIP_FORCE)) {
                    musicManager.getPlayer(channel.getGuild().getId()).skip();
                    if (songMessage) {
                        SongCommand.updateSongMessage(user, message1, channel);
                    }
                    musicManager.getPlayer(guild.getGuildId()).skip();
                    VoteUtil.remove(skipUUID, guild.getGuild());
                } else {
                    channel.sendMessage("You are missing the permission `" + Permission.SKIP_FORCE + "` which is required for use of this button!").queue();
                }
            }));
        }
    } else {
        if (args[0].equalsIgnoreCase("force")) {
            if (getPermissions(channel).hasPermission(member, Permission.SKIP_FORCE)) {
                if (songMessage)
                    SongCommand.updateSongMessage(sender, message, channel);
                VoteUtil.remove(skipUUID, guild.getGuild());
                musicManager.getPlayer(guild.getGuildId()).skip();
            } else {
                channel.sendMessage("You are missing the permission `" + Permission.SKIP_FORCE + "` which is required for use of this command!").queue();
            }
            return;
        } else if (args[0].equalsIgnoreCase("cancel")) {
            if (getPermissions(channel).hasPermission(member, Permission.SKIP_CANCEL)) {
                VoteUtil.remove(skipUUID, channel.getGuild());
            } else
                channel.sendMessage("You are missing the permission `" + Permission.SKIP_CANCEL + "` which is required for use of this command!").queue();
            return;
        }
        if (!channel.getGuild().getMember(sender).getVoiceState().inVoiceChannel() || channel.getGuild().getMember(sender).getVoiceState().getChannel().getIdLong() != channel.getGuild().getSelfMember().getVoiceState().getChannel().getIdLong()) {
            MessageUtils.sendWarningMessage("You cannot vote to skip if you aren't listening to it!", channel);
            return;
        }
        VoteGroup.Vote vote = VoteGroup.Vote.parseVote(args[0]);
        if (vote != null) {
            if (!VoteUtil.contains(skipUUID, guild.getGuild()))
                MessageUtils.sendWarningMessage("Their is no vote currently running!", channel, sender);
            else
                VoteUtil.getVoteGroup(skipUUID, guild.getGuild()).addVote(vote, sender);
        } else
            MessageUtils.sendUsage(this, channel, sender, args);
    }
}
Also used : stream.flarebot.flarebot.commands(stream.flarebot.flarebot.commands) ButtonGroup(stream.flarebot.flarebot.util.objects.ButtonGroup) Track(com.arsenarsen.lavaplayerbridge.player.Track) Member(net.dv8tion.jda.core.entities.Member) TextChannel(net.dv8tion.jda.core.entities.TextChannel) FlareBot(stream.flarebot.flarebot.FlareBot) PlayerManager(com.arsenarsen.lavaplayerbridge.PlayerManager) UUID(java.util.UUID) GuildWrapper(stream.flarebot.flarebot.objects.GuildWrapper) Message(net.dv8tion.jda.core.entities.Message) Getters(stream.flarebot.flarebot.Getters) ButtonGroupConstants(stream.flarebot.flarebot.util.buttons.ButtonGroupConstants) VoteGroup(stream.flarebot.flarebot.util.votes.VoteGroup) VoteUtil(stream.flarebot.flarebot.util.votes.VoteUtil) ArrayList(java.util.ArrayList) TimeUnit(java.util.concurrent.TimeUnit) List(java.util.List) Permission(stream.flarebot.flarebot.permissions.Permission) User(net.dv8tion.jda.core.entities.User) MessageUtils(stream.flarebot.flarebot.util.MessageUtils) User(net.dv8tion.jda.core.entities.User) PlayerManager(com.arsenarsen.lavaplayerbridge.PlayerManager) ButtonGroup(stream.flarebot.flarebot.util.objects.ButtonGroup) ArrayList(java.util.ArrayList) Member(net.dv8tion.jda.core.entities.Member) Track(com.arsenarsen.lavaplayerbridge.player.Track) VoteGroup(stream.flarebot.flarebot.util.votes.VoteGroup)

Aggregations

GuildWrapper (stream.flarebot.flarebot.objects.GuildWrapper)2 Permission (stream.flarebot.flarebot.permissions.Permission)2 MessageUtils (stream.flarebot.flarebot.util.MessageUtils)2 ButtonGroupConstants (stream.flarebot.flarebot.util.buttons.ButtonGroupConstants)2 PlayerManager (com.arsenarsen.lavaplayerbridge.PlayerManager)1 Track (com.arsenarsen.lavaplayerbridge.player.Track)1 Color (java.awt.Color)1 java.util (java.util)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 UUID (java.util.UUID)1 TimeUnit (java.util.concurrent.TimeUnit)1 Pattern (java.util.regex.Pattern)1 Collectors (java.util.stream.Collectors)1 EmbedBuilder (net.dv8tion.jda.core.EmbedBuilder)1 net.dv8tion.jda.core.entities (net.dv8tion.jda.core.entities)1 Member (net.dv8tion.jda.core.entities.Member)1 Message (net.dv8tion.jda.core.entities.Message)1 TextChannel (net.dv8tion.jda.core.entities.TextChannel)1 User (net.dv8tion.jda.core.entities.User)1