From 4b9b92d54bf89106124fb13b25da58c6a20f8974 Mon Sep 17 00:00:00 2001 From: ZtereoHYPE <57519662+ZtereoHYPE@users.noreply.github.com> Date: Tue, 10 May 2022 13:07:16 +0200 Subject: [PATCH] new: work on dj role --- .../command/permissions/VoiceChecks.java | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/src/main/java/codes/ztereohype/ztereomusic/command/permissions/VoiceChecks.java b/src/main/java/codes/ztereohype/ztereomusic/command/permissions/VoiceChecks.java index d9bb06e..e38f28c 100644 --- a/src/main/java/codes/ztereohype/ztereomusic/command/permissions/VoiceChecks.java +++ b/src/main/java/codes/ztereohype/ztereomusic/command/permissions/VoiceChecks.java @@ -10,8 +10,7 @@ import java.util.Objects; public enum VoiceChecks { BOT_CONNECTED(new Check() { - @Override - public boolean getResult(Member messageAuthor, VoiceChannel connectedChannel, TrackManager trackManager) { + @Override public boolean getResult(Member messageAuthor, VoiceChannel connectedChannel, TrackManager trackManager) { return connectedChannel != null; } @@ -21,10 +20,7 @@ public enum VoiceChecks { }), BOT_PLAYING(new Check() { - @Override - public boolean getResult(Member messageAuthor, - VoiceChannel connectedChannel, - @Nullable TrackManager trackManager) { + @Override public boolean getResult(Member messageAuthor, VoiceChannel connectedChannel, @Nullable TrackManager trackManager) { return trackManager != null && trackManager.getPlayer().getPlayingTrack() != null; } @@ -34,8 +30,7 @@ public enum VoiceChecks { }), USER_CONNECTED(new Check() { - @Override - public boolean getResult(Member messageAuthor, VoiceChannel connectedChannel, TrackManager trackManager) { + @Override public boolean getResult(Member messageAuthor, VoiceChannel connectedChannel, TrackManager trackManager) { if (messageAuthor.getVoiceState() == null) return false; return messageAuthor.getVoiceState().inVoiceChannel(); } @@ -46,8 +41,7 @@ public enum VoiceChecks { }), SAME_VC_IF_CONNECTED(new Check() { // the "if connected" specifies to the bot: if the bot is not connected always return true since the condition should be ignored basically. if the user is not in vc and the bot is though... - @Override - public boolean getResult(Member messageAuthor, VoiceChannel connectedChannel, TrackManager trackManager) { + @Override public boolean getResult(Member messageAuthor, VoiceChannel connectedChannel, TrackManager trackManager) { if (connectedChannel == null) return true; if (messageAuthor.getVoiceState() == null) return false; return Objects.equals(messageAuthor.getVoiceState().getChannel(), connectedChannel); @@ -60,17 +54,17 @@ public enum VoiceChecks { // Note: this is currently unused but will be used for role-based permissions HAS_ROLE(new Check() { - @Override - public boolean getResult(Member messageAuthor, VoiceChannel connectedChannel, TrackManager trackManager) { - return false; + @Override public boolean getResult(Member messageAuthor, VoiceChannel connectedChannel, TrackManager trackManager) { + return messageAuthor.getRoles().stream().anyMatch(r -> r.getName().equals("DJ")); } @Override public String getErrorCode() { - return "You don't have the *DJ role*."; + return "You don't have the *DJ role*~."; } }); - private @Getter final Check check; + private @Getter + final Check check; VoiceChecks(Check check) { this.check = check;