getMemberHighestRole static method

IRole getMemberHighestRole(
  1. IMember member
)

Implementation

static IRole getMemberHighestRole(IMember member) {
  var currentRole = member.roles.first.getFromCache();

  if (currentRole == null) {
    return member.guild.getFromCache()!.everyoneRole;
  }

  for (final roleCacheable in member.roles.skip(1)) {
    final nextRole = roleCacheable.getFromCache();

    if (nextRole == null) {
      continue;
    }

    if (nextRole.position > currentRole!.position) {
      currentRole = nextRole;
    }
  }

  return currentRole!;
}