Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Support for Application-Command Permissions V2 (#2113)
* Add ApplicationCommandUpdatePermissionsEvent * Add ActionType#APPLICATION_COMMAND_PERMISSION_UPDATE * Use IntegrationPrivilege and remove CommandData#setDefaultEnabled * Rename retrieveCommandPrivilegesById * Add GenericPrivilegeUpdateEvent * Update SlashBotExample to use perms v2 * Add PrivilegeConfig
- Loading branch information
Showing
25 changed files
with
1,131 additions
and
752 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
68 changes: 68 additions & 0 deletions
68
...t/dv8tion/jda/api/events/interaction/command/ApplicationCommandUpdatePrivilegesEvent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
/* | ||
* Copyright 2015 Austin Keener, Michael Ritter, Florian Spieß, and the JDA contributors | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
package net.dv8tion.jda.api.events.interaction.command; | ||
|
||
import net.dv8tion.jda.api.JDA; | ||
import net.dv8tion.jda.api.entities.*; | ||
import net.dv8tion.jda.api.interactions.commands.privileges.IntegrationPrivilege; | ||
import net.dv8tion.jda.api.interactions.commands.privileges.PrivilegeTargetType; | ||
|
||
import javax.annotation.Nonnull; | ||
import java.util.List; | ||
|
||
/** | ||
* Indicates that the {@link IntegrationPrivilege Privileges} of an application-command on a guild changed. | ||
* <br>If the moderator updates application-wide privileges instead of command, a {@link ApplicationUpdatePrivilegesEvent} will be fired instead. | ||
* | ||
* <p>Can be used to get affected Guild and {@link List} of new {@link IntegrationPrivilege Privileges} | ||
*/ | ||
public class ApplicationCommandUpdatePrivilegesEvent extends GenericPrivilegeUpdateEvent | ||
{ | ||
public ApplicationCommandUpdatePrivilegesEvent(@Nonnull JDA api, long responseNumber, @Nonnull Guild guild, | ||
long targetId, long applicationId, @Nonnull List<IntegrationPrivilege> privileges) | ||
{ | ||
super(api, responseNumber, guild, targetId, applicationId, privileges); | ||
} | ||
|
||
@Nonnull | ||
@Override | ||
public PrivilegeTargetType getTargetType() | ||
{ | ||
return PrivilegeTargetType.COMMAND; | ||
} | ||
|
||
/** | ||
* The id of the command whose privileges have been changed. | ||
* | ||
* @return id of the command whose privileges have been changed. | ||
*/ | ||
public long getCommandIdLong() | ||
{ | ||
return getTargetIdLong(); | ||
} | ||
|
||
/** | ||
* The id of the command whose privileges have been changed. | ||
* | ||
* @return id of the command whose privileges have been changed. | ||
*/ | ||
@Nonnull | ||
public String getCommandId() | ||
{ | ||
return getTargetId(); | ||
} | ||
} |
46 changes: 46 additions & 0 deletions
46
...java/net/dv8tion/jda/api/events/interaction/command/ApplicationUpdatePrivilegesEvent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
/* | ||
* Copyright 2015 Austin Keener, Michael Ritter, Florian Spieß, and the JDA contributors | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
package net.dv8tion.jda.api.events.interaction.command; | ||
|
||
import net.dv8tion.jda.api.JDA; | ||
import net.dv8tion.jda.api.entities.Guild; | ||
import net.dv8tion.jda.api.interactions.commands.privileges.IntegrationPrivilege; | ||
import net.dv8tion.jda.api.interactions.commands.privileges.PrivilegeTargetType; | ||
|
||
import javax.annotation.Nonnull; | ||
import java.util.List; | ||
|
||
/** | ||
* Indicates that the {@link IntegrationPrivilege Privileges} of an application changed. | ||
* <br>If the moderator updates the privileges of a specific command, a {@link ApplicationCommandUpdatePrivilegesEvent} will be fired instead. | ||
* | ||
* <p>Can be used to get affected Guild and {@link List} of new {@link IntegrationPrivilege Privileges} | ||
*/ | ||
public class ApplicationUpdatePrivilegesEvent extends GenericPrivilegeUpdateEvent | ||
{ | ||
public ApplicationUpdatePrivilegesEvent(@Nonnull JDA api, long responseNumber, @Nonnull Guild guild, long applicationId, @Nonnull List<IntegrationPrivilege> privileges) | ||
{ | ||
super(api, responseNumber, guild, applicationId, applicationId, privileges); | ||
} | ||
|
||
@Nonnull | ||
@Override | ||
public PrivilegeTargetType getTargetType() | ||
{ | ||
return PrivilegeTargetType.INTEGRATION; | ||
} | ||
} |
Oops, something went wrong.