private void setupPermissions() { if (!shouldUpdate(PERMISSION)) this.permissions = getRole().getPermissionsRaw(); } }
public RoleUpdatePermissionsEvent(JDA api, long responseNumber, Role role, long oldPermissionsRaw) { super(api, responseNumber, role, Permission.getPermissions(oldPermissionsRaw), role.getPermissions(), IDENTIFIER); this.oldPermissionsRaw = oldPermissionsRaw; this.newPermissionsRaw = role.getPermissionsRaw(); }
@Override public boolean hasPermission(Permission... permissions) { long effectivePerms = rawPermissions | getGuild().getPublicRole().getPermissionsRaw(); for (Permission perm : permissions) { final long rawValue = perm.getRawValue(); if ((effectivePerms & rawValue) != rawValue) return false; } return true; }
/** * 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; }
return Permission.ALL_PERMISSIONS; long permission = member.getGuild().getPublicRole().getPermissionsRaw(); for (Role role : member.getRoles()) permission |= role.getPermissionsRaw(); if (isApplied(permission, Permission.ADMINISTRATOR.getRawValue())) return Permission.ALL_PERMISSIONS;
throw new IllegalArgumentException("Provided channel and role are not of the same guild!"); long permissions = role.getPermissionsRaw() | guild.getPublicRole().getPermissionsRaw();
checkGuild(channel.getGuild(), guild, "Role"); long permission = role.getPermissionsRaw() | guild.getPublicRole().getPermissionsRaw(); PermissionOverride override = channel.getPermissionOverride(guild.getPublicRole()); if (override != null)
public static String buildRoleData(List<Role> roles) { List<Map<String, Object>> rolesMap = new ArrayList<>(); for (Role role : roles) { if (role.isPublicRole()) { continue; } Map<String, Object> item = new HashMap<>(); item.put("id", role.getId()); item.put("name", role.getName()); item.put("position", role.getPosition()); item.put("permissions", role.getPermissionsRaw()); item.put("color", role.getColor() == null ? null : Integer.toHexString(role.getColor().getRGB()).substring(2) ); rolesMap.add(item); } return AvaIre.gson.toJson(rolesMap); }