diff --git a/src/main/java/net/dv8tion/jda/api/entities/Member.java b/src/main/java/net/dv8tion/jda/api/entities/Member.java index 25398c4c0f..8900cc3087 100644 --- a/src/main/java/net/dv8tion/jda/api/entities/Member.java +++ b/src/main/java/net/dv8tion/jda/api/entities/Member.java @@ -386,6 +386,18 @@ default ImageProxy getEffectiveAvatar() @Unmodifiable Set getUnsortedRoles(); + /** + * Checks if this Member has a certain role. + * + * @param role The role that the Member needs to have. + * + * @return True, if this Member has the role. + * + * @see #getRoles() + * @see #getUnsortedRoles() + */ + boolean hasRole(@Nonnull Role role); + /** * The {@link java.awt.Color Color} of this Member's name in a Guild. * diff --git a/src/main/java/net/dv8tion/jda/internal/entities/MemberImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/MemberImpl.java index d33824ace2..fc9b4a86f0 100644 --- a/src/main/java/net/dv8tion/jda/internal/entities/MemberImpl.java +++ b/src/main/java/net/dv8tion/jda/internal/entities/MemberImpl.java @@ -36,10 +36,9 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; -import java.awt.*; +import java.awt.Color; import java.time.OffsetDateTime; import java.util.*; -import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Stream; @@ -223,6 +222,12 @@ public Color getColor() return raw != Role.DEFAULT_COLOR_RAW ? new Color(raw) : null; } + @Override + public boolean hasRole(@Nonnull Role role) + { + return roles.contains(role); + } + @Override public int getColorRaw() { diff --git a/src/main/java/net/dv8tion/jda/internal/entities/detached/DetachedMemberImpl.java b/src/main/java/net/dv8tion/jda/internal/entities/detached/DetachedMemberImpl.java index fdf17a70d5..1aeeb6928f 100644 --- a/src/main/java/net/dv8tion/jda/internal/entities/detached/DetachedMemberImpl.java +++ b/src/main/java/net/dv8tion/jda/internal/entities/detached/DetachedMemberImpl.java @@ -36,10 +36,9 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; -import java.awt.*; +import java.awt.Color; import java.time.OffsetDateTime; import java.util.*; -import java.util.List; public class DetachedMemberImpl implements Member, MemberMixin { @@ -198,6 +197,12 @@ public Set getUnsortedRoles() throw detachedException(); } + @Override + public boolean hasRole(@Nonnull Role role) + { + throw detachedException(); + } + @Override public Color getColor() {