Introduce Channel as ApplicationCommandPermissionType #3363
Unanswered
victorwrotethis
asked this question in
API Feature Requests & Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Description
The introduction of Slash Command Permissions #2737 brought user and role based permissions. However, the only way to currently achieve channel-specific granularity is to sacrifice a role to a specific command. This is the only way (I can see) to be able to force a single command, from a single app, to run in a single channel.
You can do this by using a channel override for that role that has
use slash commands
and adding that role to be the only allowed users of that command through application command permissions. This option is however limits your control over channel usage through roles and creating channel overrides. Especially hurting guilds that are close to the now more enforced role limit.If there is no larger revision of permissions planned I suggest an (intermediate) solution where the current permission system has channels added as a ApplicationCommandPermissionType:
ApplicationCommandPermissionType (v2)
Why This is Needed
The current slash command system seems to be be mostly an all-or-almost-nothing case. A weatherbot can be easily confined because it would allowed to be used by everyone, but just in a single general purpose channel along with other slash commands. Moderator focussed commands can prohibit them to certain roles or users entirely, especially as the admins/mods of a server would likely use them in more private channels anyway (if the result isn't ephemeral). That is where the majority of use cases ends.
I think that guilds would rather not want to sacrifice roles in their huge communities to the many bots and their commands they would like to use slash commands from, but do want more granular channel-wise control over.
Before the current permission system was released I already had a use case being part of a multi-organisation discord that wanted specific commands of specific bots only appear in specific game channels (and certain gamemodes), so implemented that directly. However, by not having to dictate or configure this granularity on the bot/application side, I could significantly reduce the complexity of the application by not needing a permission layer (apart from when the bot/integration has just been added). I also see more and more people appear with questions why they can't confine commands from different bots to a different channels.
As having created a HTTP-only friendly serverless library, I would also appreciate not having to rely on checks on channels if override permissions didn't randomly get removed on them.
By adding this manner of control, I believe slash command adoption could improve even further. It would also allow a single point of control for the majority of slash permission-related efforts. I also hope that this (albeit potentially temporary) solution would not be too complex to implement.
Alternatives Considered
Additional Details
Previously related: #2792.
Beta Was this translation helpful? Give feedback.
All reactions