@Override public List<Member> getElementsWithRoles(Collection<Role> roles) { Checks.noneNull(roles, "Roles"); List<Member> members = new ArrayList<>(); for (Member member : this) { if (member.getRoles().containsAll(roles)) members.add(member); } return members; } }
@Override public List<Member> getElementsWithRoles(Role... roles) { Checks.notNull(roles, "Roles"); for (Role role : roles) Checks.notNull(role, "Roles"); List<Member> members = new ArrayList<>(); List<Role> match = Arrays.asList(roles); for (Member member : this) { if (member.getRoles().containsAll(match)) members.add(member); } return members; }
/** * Checks if one given Member can interact with a 2nd given Member - in a permission sense (kick/ban/modify perms). * This only checks the Role-Position and does not check the actual permission (kick/ban/manage_role/...) * * @param issuer * The member that tries to interact with 2nd member * @param target * The member that is the target of the interaction * * @throws IllegalArgumentException * if any of the provided parameters is {@code null} * or the provided entities are not from the same guild * * @return True, if issuer can interact with target in guild */ public static boolean canInteract(Member issuer, Member target) { Checks.notNull(issuer, "Issuer Member"); Checks.notNull(target, "Target Member"); Guild guild = issuer.getGuild(); if (!guild.equals(target.getGuild())) throw new IllegalArgumentException("Provided members must both be Member objects of the same Guild!"); if(guild.getOwner().equals(issuer)) return true; if(guild.getOwner().equals(target)) return false; List<Role> issuerRoles = issuer.getRoles(); List<Role> targetRoles = target.getRoles(); return !issuerRoles.isEmpty() && (targetRoles.isEmpty() || canInteract(issuerRoles.get(0), targetRoles.get(0))); }
if (self.getRoles().isEmpty()) throw new IllegalStateException("Cannot move roles above your highest role unless you are the guild owner"); if (!self.hasPermission(Permission.MANAGE_ROLES))
/** * Checks if a given Member can interact with a given Role - in a permission sense (kick/ban/modify perms). * This only checks the Role-Position and does not check the actual permission (kick/ban/manage_role/...) * * @param issuer * The member that tries to interact with the role * @param target * The role that is the target of the interaction * * @throws IllegalArgumentException * if any of the provided parameters is {@code null} * or the provided entities are not from the same guild * * @return True, if issuer can interact with target */ public static boolean canInteract(Member issuer, Role target) { Checks.notNull(issuer, "Issuer Member"); Checks.notNull(target, "Target Role"); Guild guild = issuer.getGuild(); if (!guild.equals(target.getGuild())) throw new IllegalArgumentException("Provided Member issuer and Role target must be from the same Guild!"); if(guild.getOwner().equals(issuer)) return true; List<Role> issuerRoles = issuer.getRoles(); return !issuerRoles.isEmpty() && canInteract(issuerRoles.get(0), target); }
private boolean isRoleMentioned(IMentionable mentionable) { if (mentionable instanceof Role) { return getMentionedRoles().contains(mentionable); } else if (mentionable instanceof Member) { final Member member = (Member) mentionable; return CollectionUtils.containsAny(getMentionedRoles(), member.getRoles()); } else if (isFromType(ChannelType.TEXT) && mentionable instanceof User) { final Member member = getGuild().getMember((User) mentionable); return member != null && CollectionUtils.containsAny(getMentionedRoles(), member.getRoles()); } return false; }
final List<Role> memberRoles = member.getRoles(); if (memberRoles.size() == roles.size() && memberRoles.containsAll(roles)) return new AuditableRestAction.EmptyRestAction<>(getGuild().getJDA());
/** * Retrieves the explicit permissions of the specified {@link net.dv8tion.jda.core.entities.Member Member} * in its hosting {@link net.dv8tion.jda.core.entities.Guild Guild}. * <br>This method does not calculate the owner in. * * <p>All permissions returned are explicitly granted to this Member via its {@link net.dv8tion.jda.core.entities.Role Roles}. * <br>Permissions like {@link net.dv8tion.jda.core.Permission#ADMINISTRATOR Permission.ADMINISTRATOR} do not * grant other permissions in this value. * * @param member * The non-null {@link net.dv8tion.jda.core.entities.Member Member} for which to get implicit permissions * * @throws IllegalArgumentException * If the specified member is {@code null} * * @return Primitive (unsigned) long value with the implicit permissions of the specified member * * @since 3.1 */ public static long getExplicitPermission(Member member) { Checks.notNull(member, "Member"); final Guild guild = member.getGuild(); long permission = guild.getPublicRole().getPermissionsRaw(); for (Role role : member.getRoles()) permission |= role.getPermissionsRaw(); return permission; }
long denyRole = 0; for (Role role : member.getRoles())
|| CollectionUtils.containsAny(issuer.getRoles(), emote.getRoles()));
for (Role role : member.getRoles())
private static boolean canUseCommand(Member m, String command) { if (MagiBridge.getConfig().CHANNELS.COMMANDS_ROLE_OVERRIDE == null) return false; if (MagiBridge.getConfig().CHANNELS.COMMANDS_ROLE_OVERRIDE.get(command) != null) { if (MagiBridge.getConfig().CHANNELS.COMMANDS_ROLE_OVERRIDE.get(command).equalsIgnoreCase("everyone")) { return true; } } if (m.getRoles().stream().anyMatch(r -> r.getName().equalsIgnoreCase(MagiBridge.getConfig().CHANNELS.CONSOLE_REQUIRED_ROLE))) { return true; } return MagiBridge.getConfig().CHANNELS.COMMANDS_ROLE_OVERRIDE.get(command) != null && m.getRoles().stream().anyMatch(role -> role.getName().equalsIgnoreCase(MagiBridge.getConfig().CHANNELS.COMMANDS_ROLE_OVERRIDE.get(command))); }
private boolean hasDJRole(Message message) { if (message.getMember().hasPermission(Permissions.ADMINISTRATOR.getPermission())) { return true; } for (Role role : message.getMember().getRoles()) { if (role.getName().equalsIgnoreCase("DJ")) { return true; } } return false; } }
private boolean userHasHigherRole(User user, Member author) { Role role = RoleUtil.getHighestFrom(author.getGuild().getMember(user)); return role != null && RoleUtil.isRoleHierarchyHigher(author.getRoles(), role); }
private boolean userHasHigherRole(User user, Member author) { Role role = RoleUtil.getHighestFrom(author.getGuild().getMember(user)); return role != null && RoleUtil.isRoleHierarchyHigher(author.getRoles(), role); }
private boolean userHasHigherRole(User user, Member author) { Role role = RoleUtil.getHighestFrom(author.getGuild().getMember(user)); return role != null && RoleUtil.isRoleHierarchyHigher(author.getRoles(), role); }
public void unmuteUser(GuildWrapper guild, Member member) { if (guild == null || member == null) return; if (guild.getMutedRole() != null && member.getRoles().contains(guild.getMutedRole())) guild.getGuild().getController().removeSingleRoleFromMember(member, guild.getMutedRole()).queue(); } }
public boolean allowedSuperSupporterPatronAccess(User user) { Config config = this.bot.getConfigs().config; Guild dabbotGuild = user.getJDA().asBot().getShardManager().getGuildById(config.discordServer); Role superSupporterRole = dabbotGuild.getRoleById(config.superSupporterRole); Member dabbotMember = dabbotGuild.getMember(user); return dabbotMember != null && dabbotMember.getRoles().contains(superSupporterRole); } }
private static boolean checkOfficialGuildForRole(net.dv8tion.jda.core.entities.User user, long roleId) { if (!FlareBot.instance().isReady() || Constants.getOfficialGuild() == null) return false; return Constants.getOfficialGuild().getMember(user) != null && Constants.getOfficialGuild().getMember(user).getRoles() .contains(Constants.getOfficialGuild().getRoleById(roleId)); }
public boolean canUseMusicCommands(User user, SimpleRank userRank) { Role requiredRole = getRoleValue(GSetting.MUSIC_ROLE_REQUIREMENT, user.getJDA().getGuildById(guildId)); if (requiredRole == null || userRank.isAtLeast(SimpleRank.GUILD_BOT_ADMIN)) { return true; } List<Role> roles = user.getJDA().getGuildById(Long.toString(guildId)).getMember(user).getRoles(); for (Role role : roles) { if (role.getIdLong() == requiredRole.getIdLong()) { return true; } } return false; } }