public GenericGuildVoiceEvent(JDA api, long responseNumber, Member member) { super(api, responseNumber, member.getGuild()); this.member = member; }
public GenericGuildMemberEvent(JDA api, long responseNumber, Member member) { super(api, responseNumber, member.getGuild()); this.member = member; }
@Override public boolean equals(Object o) { if (!(o instanceof Member)) return false; Member oMember = (Member) o; return this == oMember || (oMember.getUser().equals(user) && oMember.getGuild().equals(getGuild())); }
@Override public boolean canTalk(Member member) { if (!getGuild().equals(member.getGuild())) throw new IllegalArgumentException("Provided Member is not from the Guild that this TextChannel is part of."); return member.hasPermission(this, Permission.MESSAGE_READ, Permission.MESSAGE_WRITE); }
/** * 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))); }
/** * 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); }
Checks.notNull(member, "Member"); final Guild guild = member.getGuild(); checkGuild(channel.getGuild(), guild, "Member");
@Override public PermissionOverrideAction putPermissionOverride(Member member) { checkPermission(Permission.MANAGE_PERMISSIONS); Checks.notNull(member, "member"); if (!getGuild().equals(member.getGuild())) throw new IllegalArgumentException("Provided member is not from the same guild as this channel!"); Route.CompiledRoute route = Route.Channels.CREATE_PERM_OVERRIDE.compile(getId(), member.getUser().getId()); return new PermissionOverrideAction(getJDA(), route, this, member); }
/** * 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; }
Checks.notNull(member, "Member"); Checks.check(channel.getGuild().equals(member.getGuild()), "Provided channel and provided member are not of the same guild!");
PermissionOverride override = channel.getPermissionOverride(member.getGuild().getPublicRole()); long allowRaw = 0; long denyRaw = 0;
Checks.notNull(emote, "Target Emote"); if (!issuer.getGuild().equals(emote.getGuild())) throw new IllegalArgumentException("The issuer and target are not in the same Guild");
checkGuild(newOwner.getGuild(), "Member"); if (!getGuild().getOwner().equals(getGuild().getSelfMember())) throw new PermissionException("The logged in account must be the owner of this Guild to be able to transfer ownership");
checkGuild(member.getGuild(), "Member"); checkPermission(Permission.VOICE_DEAF_OTHERS);
checkGuild(member.getGuild(), "Member"); checkPermission(Permission.VOICE_MUTE_OTHERS);
return Permission.ALL_PERMISSIONS; long permission = member.getGuild().getPublicRole().getPermissionsRaw(); for (Role role : member.getRoles())
checkGuild(member.getGuild(), "member"); checkPermission(Permission.KICK_MEMBERS); checkPosition(member);
checkGuild(guild, member.getGuild(), "Member");
checkGuild(member.getGuild(), "Member"); checkGuild(role.getGuild(), "Role"); checkPermission(Permission.MANAGE_ROLES);
checkGuild(member.getGuild(), "Member"); checkGuild(role.getGuild(), "Role"); checkPermission(Permission.MANAGE_ROLES);