Guest User

Untitled

a guest
Aug 15th, 2018
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. public enum AccessLevel {
  2. user(0), moderator(1), serverOwner(2), op(3), jarza(4);
  3.  
  4. public int accessLevel;
  5.  
  6. AccessLevel(int lvl) {
  7. this.accessLevel = lvl;
  8. }
  9.  
  10. public static Mono<AccessLevel> get(Member user, Guild guild) {
  11. return Mono.create(s -> {
  12. user.getRoles().any(role ->
  13. Database.getModRolesForGuild(guild.getId().asLong())
  14. .contains(role.getId().asLong()))
  15. .subscribe(bool -> {
  16. if (bool)
  17. s.success(AccessLevel.moderator);
  18. });
  19.  
  20. guild.getOwner().filter(owner -> owner.getId().equals(user.getId()))
  21. .subscribe(owner -> s.success(AccessLevel.serverOwner));
  22.  
  23. if (Database.OP.contains(user.getId().asLong()))
  24. s.success(AccessLevel.op);
  25. else if (user.getId().asLong() == Database.JARZA)
  26. s.success(AccessLevel.jarza);
  27.  
  28. s.success(AccessLevel.user);
  29. });
  30. }
  31.  
  32. public boolean hasAccessTo(AccessLevel al) {
  33. return (this.accessLevel >= al.accessLevel);
  34. }
  35.  
  36. public int get() {
  37. return this.accessLevel;
  38. }
  39. }
Add Comment
Please, Sign In to add comment