Allow bots to manage their own permissions #4862
Unanswered
applebee1558
asked this question in
API Feature Requests & Ideas
Replies: 2 comments 13 replies
-
At least allow bots to demote their own permissions without additional auth. |
Beta Was this translation helpful? Give feedback.
0 replies
-
The concerns about this were a bot would be able to change its own permissions without moderators knowing. (Ironically, the rollout of perms v2 made commands that were previously locked now available to everyone) However, what about a guild-wide or per-app setting in server settings that allows bots to manage their own permissions? If this was floated around internally, why was it denied? |
Beta Was this translation helpful? Give feedback.
13 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
With the sudden release of permissions v2, an important functionality of the Discord API has been removed. Bots are no longer able to manage permissions and must use the Oauth2 API in order to do so. There are multiple reasons why this brings unnecessary burdens and complexities to the end user and bot developer.
While Oauth2 permission managing could be useful for something like a bot's web panel, there are much more reasons a bot would manage its own command permissions outside of a website panel such as syncing a bot's own permission system that everyone already uses with Discord's command permissions v2. Requiring oauth2 for an API feature brings the following complexities.
People associate Oauth2 with "giving access" to their account. While adding a bot uses Oauth2, everyone knows that. However, people will find it suspicious that a bot needs "access" to their account again just to change permissions.
The Oauth2 screen is additional complexity for a feature that can literally be gated correctly with permissions. If a bot is granted permissions to do certain tasks in a guild, it should be expected that the bot can do it without additional authorizations and redirect loops.
Oauth2 tokens do not last forever. They need constant renewal if you want to keep using them. Running an auto-renew script is added complexity along with extra api calls that could be avoided.
The Oauth2 user could also be demoted or leave a certain guild, and then another user would need to auth the bot in order to bring back functionality.
I'm not sure why Discord requires Oauth2 for command permissions, as bots have historically always been able to edit things like channel permissions, role permissions, or modify anything on a guild as long as they have permissions. This change completely changes how the API functions and is very inconsistent with how the API works in general.
Beta Was this translation helpful? Give feedback.
All reactions