Files
discordeno/packages/rest
FlenyandSkillz4Killz a7d645ec4b feat: Implement OAuth2 endpoints (#3114)
* add OAuth2 routes

* Add oauth2 methods to rest

* Add rest manager methods, Add token params

* Add authorization headers

* Add auth to editUserApplicationRoleConnection

* fix logging header always displaying bot as auth

* Add OAuth2Scope enum

* Start testing ratelimit handling

* Fix now scopes are separated by a space

* move webhook object to DiscordAccessTokenResponse

* convert payload to snake_case

* fix some typings

* more types fixes

* add support for upserting commands with tokens

* handle correctly ratelimit and concurrently

* add guild to DiscordAccessTokenResponse

* Add oauth2 create link function

* Fix removeTokenPrefix to support Bearer tokens

* update jsdoc comment for removeTokenPrefix

* fix removeTokenPrefix unit tests

* fix see link on getMember and getCurrentMember

* add bot helpers and fix some types

* Use objects to pass the bearer tokens

* fix Deno issue with Buffer.from

* Merge 'upstream/main' into feat/oauth2 to fix merge conflict

* Fix debug queue logging

* keep only 1 route for current user

* add Bearer prefixed url to the rest of the logs

---------

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
2023-09-19 16:23:22 +00:00
..
2023-03-02 09:43:23 -06:00
2023-04-01 02:46:46 +02:00
2023-04-01 02:46:46 +02:00

Discordeno Rest

A standalone and server-less REST module with functionality of REST, independently.

  • Easily host on any serverless infrastructure.
    • Easy to use and setup with Cloudflare Workers (FREE for 100K requests per day!)
  • Freedom from global rate limit errors
    • As your bot grows, you want to handle global rate limits better. Shards don't communicate fast enough to truly handle it properly so this allows 1 rest handler across the entire bot.
    • In fact, you can host multiple instances of your bot and all connect to the same rest server.
  • REST does not rest!
    • Separate rest means if your bot for whatever reason crashes, your requests that are queued will still keep going and will not be lost.
    • Seamless updates! When you want to update and reboot the bot, you could potentially lose tons of messages or responses that are in queue. Using this you could restart your bot without ever worrying about losing any responses.
  • Scalability! Scalability! Scalability!