From fbcad320471723facc1af351424fd9ce6fa6e6c7 Mon Sep 17 00:00:00 2001 From: 1A3 Date: Tue, 19 Dec 2023 22:09:21 +0000 Subject: [PATCH] corrections --- .../effects/guild/EffPermissionOverride.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/java/me/iblitzkriegi/vixio/effects/guild/EffPermissionOverride.java b/src/main/java/me/iblitzkriegi/vixio/effects/guild/EffPermissionOverride.java index 62caf8d..624bd97 100644 --- a/src/main/java/me/iblitzkriegi/vixio/effects/guild/EffPermissionOverride.java +++ b/src/main/java/me/iblitzkriegi/vixio/effects/guild/EffPermissionOverride.java @@ -17,9 +17,9 @@ public class EffPermissionOverride extends Effect { static { Vixio.getInstance().registerEffect(EffPermissionOverride.class, - "(allow|1¦deny) %roles/members% [the] permission[s] %permissions% [in %channels%] [with %bot/string%]") + "(allow|1¦deny|2¦reset) %roles/members% [the] permission[s] %permissions% [in %channels%] [with %bot/string%]") .setName("Member Permission in GuildChannel") - .setDesc("Allow, or deny a role or a member permissions to a channel") + .setDesc("Allow, reset, or deny a role or a member permissions to a channel") .setExample( "discord command grant :", "\ttrigger:", @@ -35,7 +35,7 @@ public class EffPermissionOverride extends Effect { private Expression bot; private Expression permissions; private Expression inputs; - private boolean allow; + private int allow; @Override @@ -52,17 +52,21 @@ protected void execute(Event e) { try { if (input instanceof Role) { Role role = (Role) input; - if (allow) { + if (allow == 0) { channel.getPermissionContainer().upsertPermissionOverride(role).setAllowed(permissions).queue(); - } else { + } else if (allow == 1) { channel.getPermissionContainer().upsertPermissionOverride(role).setDenied(permissions).queue(); + } else { + channel.getPermissionContainer().upsertPermissionOverride(role).clear(permissions).queue(); } } else if (input instanceof Member) { Member member = (Member) input; - if (allow) { + if (allow == 0) { channel.getPermissionContainer().upsertPermissionOverride(member).setAllowed(permissions).queue(); - } else { + } else if (allow == 1) { channel.getPermissionContainer().upsertPermissionOverride(member).setDenied(permissions).queue(); + } else { + channel.getPermissionContainer().upsertPermissionOverride(member).clear(permissions).queue(); } } } catch (PermissionException x) { @@ -76,7 +80,7 @@ protected void execute(Event e) { @Override public String toString(Event e, boolean debug) { - return (allow ? "allow " : "deny ") + inputs.toString(e, debug) + " the permission " + permissions.toString(e, debug) + (channel == null ? "" : " in " + channel.toString(e, debug)) + " with " + bot.toString(e, debug); + return (allow == 0 ? "allow " : (allow == 1 ? "deny " : "reset ")) + inputs.toString(e, debug) + " the permission " + permissions.toString(e, debug) + (channel == null ? "" : " in " + channel.toString(e, debug)) + " with " + bot.toString(e, debug); } @Override @@ -85,7 +89,7 @@ public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelaye permissions = (Expression) exprs[1]; channel = (Expression) exprs[2]; bot = (Expression) exprs[3]; - allow = parseResult.mark == 0; + allow = parseResult.mark; return true; } -} +} \ No newline at end of file