Skip to content

Improve DSharpPlus.Rest for oauth2 (bearer) tokens. #1354

@Naamloos

Description

@Naamloos

Summary

As of right now, the DiscordRestClient is just a dum subset of the built-in rest client. To some degree I feel like it would be appropriate to update this rest client to more properly reflect what is actually possible with Bearer tokens.

Details

As of right now, the DiscordRestClient is just a rest-only client based on the bot client. It may or may not be favorable to update this client to:

  • Properly document what endpoints can be used with which scopes (xmldocs)
  • Implement OAuth2 endpoint (/oauth2/authorize, /oauth2/token, /oauth2/token/revoke)
  • Implement additional rest endpoint not supported for bot tokens (/users/@me stuff, joining guilds for users, attach email address to /users/@me, etc etc etc)
  • Create a new config type for oauth2 clients, might be breaking change but come on, who actually uses the DiscordRestClient right now?
  • Implement client credentials
  • Throw errors before making requests when the right scopes aren't available

Steps to reproduce

Not applicable

Notes

  • This would mean a minor version bump for v4.x to implicate minor breaking changes
  • A more concrete TODO list would have to be constructed.
  • This may or may not bring minor (breaking?) changes to the internal rest client.
  • Yes, I only thought about this because I need it for a web dashboard lol
  • I'd be down to work on this myself, let me know

Metadata

Metadata

Assignees

No one assigned

    Effort

    None yet

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions