From 5bc36cb387bbcadd4b73a2cf17371aea0485ae4f Mon Sep 17 00:00:00 2001 From: freya02 <41875020+freya022@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:48:51 +0100 Subject: [PATCH] Remove Interaction#getUserPermissions This will be handled seamlessly when using the usual permission checks --- .../GenericInteractionCreateEvent.java | 7 ------- .../jda/api/interactions/Interaction.java | 6 +----- .../interactions/InteractionImpl.java | 19 +------------------ 3 files changed, 2 insertions(+), 30 deletions(-) diff --git a/src/main/java/net/dv8tion/jda/api/events/interaction/GenericInteractionCreateEvent.java b/src/main/java/net/dv8tion/jda/api/events/interaction/GenericInteractionCreateEvent.java index 137053a9be..26766a4dd8 100644 --- a/src/main/java/net/dv8tion/jda/api/events/interaction/GenericInteractionCreateEvent.java +++ b/src/main/java/net/dv8tion/jda/api/events/interaction/GenericInteractionCreateEvent.java @@ -118,13 +118,6 @@ public InteractionContextType getContext() return interaction.getContext(); } - @Nonnull - @Override - public Set getUserPermissions() - { - return interaction.getUserPermissions(); - } - @Nonnull @Override public Set getApplicationPermissions() diff --git a/src/main/java/net/dv8tion/jda/api/interactions/Interaction.java b/src/main/java/net/dv8tion/jda/api/interactions/Interaction.java index 8e36d1ef69..266a7a442c 100644 --- a/src/main/java/net/dv8tion/jda/api/interactions/Interaction.java +++ b/src/main/java/net/dv8tion/jda/api/interactions/Interaction.java @@ -237,11 +237,7 @@ default DiscordLocale getGuildLocale() @Nullable InteractionContextType getContext(); - //TODO see ~ net/dv8tion/jda/internal/interactions/InteractionImpl.java:86 - @Nonnull - Set getUserPermissions(); - - //TODO see ~ net/dv8tion/jda/internal/interactions/InteractionImpl.java:86 + //TODO document @Nonnull Set getApplicationPermissions(); diff --git a/src/main/java/net/dv8tion/jda/internal/interactions/InteractionImpl.java b/src/main/java/net/dv8tion/jda/internal/interactions/InteractionImpl.java index 2aa34f30f0..7f98fe2441 100644 --- a/src/main/java/net/dv8tion/jda/internal/interactions/InteractionImpl.java +++ b/src/main/java/net/dv8tion/jda/internal/interactions/InteractionImpl.java @@ -58,7 +58,7 @@ public class InteractionImpl implements Interaction protected final DiscordLocale userLocale; protected final InteractionContextType context; protected final IntegrationOwners integrationOwners; - protected final Set userPermissions, appPermissions; + protected final Set appPermissions; protected final JDAImpl api; //This is used to give a proper error when an interaction is ack'd twice @@ -79,16 +79,6 @@ public InteractionImpl(JDAImpl jda, DataObject data) this.context = InteractionContextType.fromKey(data.getString("context")); else this.context = null; - //TODO The bot and user permissions could be added in the temporary GuildChannel - // Meaning that you can still use (Self)Member#hasPermission(GuildChannel, Permission...) transparently - // The drawback is that the user might see the permission overrides and think they have them (document it) - // The code calculating the effective/explicit permissions uses the guild, which doesn't exist - // The user might also mistakenly use (Self)Member#hasPermission(Permission...) which will give unexpected results, - // should it throw if the guild is unknown? - // PermissionUtil.getEffectivePermission/getExplicitPermission(Member) would throw if the guild is unknown - // While the overload using the channel would ignore unknown guilds as it can use the channel overrides - //TODO should the default value really be 0? - this.userPermissions = Collections.unmodifiableSet(Permission.getPermissions(data.getObject("channel").getLong("permissions", 0L))); this.appPermissions = Collections.unmodifiableSet(Permission.getPermissions(data.getLong("app_permissions"))); this.integrationOwners = new IntegrationOwnersImpl(data.getObject("authorizing_integration_owners")); @@ -205,13 +195,6 @@ public InteractionContextType getContext() return context; } - @Nonnull - @Override - public Set getUserPermissions() - { - return userPermissions; - } - @Nonnull @Override public Set getApplicationPermissions()