Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public enum AccessLevel {
- user(0), moderator(1), serverOwner(2), op(3), jarza(4);
- public int accessLevel;
- AccessLevel(int lvl) {
- this.accessLevel = lvl;
- }
- public static Mono<AccessLevel> get(Member user, Guild guild) {
- return Mono.create(s -> {
- user.getRoles().any(role ->
- Database.getModRolesForGuild(guild.getId().asLong())
- .contains(role.getId().asLong()))
- .subscribe(bool -> {
- if (bool)
- s.success(AccessLevel.moderator);
- });
- guild.getOwner().filter(owner -> owner.getId().equals(user.getId()))
- .subscribe(owner -> s.success(AccessLevel.serverOwner));
- if (Database.OP.contains(user.getId().asLong()))
- s.success(AccessLevel.op);
- else if (user.getId().asLong() == Database.JARZA)
- s.success(AccessLevel.jarza);
- s.success(AccessLevel.user);
- });
- }
- public boolean hasAccessTo(AccessLevel al) {
- return (this.accessLevel >= al.accessLevel);
- }
- public int get() {
- return this.accessLevel;
- }
- }
Add Comment
Please, Sign In to add comment