Commit Graph
145 Commits
Author SHA1 Message Date
Awesome Stickz ff1a349e1a docs(types): fix typos and duplicate words across docs (#4981) 2026-04-22 19:49:22 +02:00
Fleny 8939cc8492 fix!: Community invites updates (#4724)
* Update permissions for community invites

Use payload_json for invite creation with file upload

The TODO in INVITE_CREATE is to be done after #4436 gets merged as it splits the transformer logic between gateway and the normal invite object, placing the event transformation code in the event itself

* Community invites breaking changes
2026-02-16 23:20:42 +05:30
Fleny a4a5f172d4 feat: update documentation links to new domain (#4767)
* feat: update documentation links to new domain

* fix some links in the docs
2026-02-16 07:46:51 +05:30
FlenyandAwesome Stickz a88aa33341 fix(rest): Use Retry-After header for retrying requests (#4739)
* fix(rest): Use Retry-After header for retrying requests

According to discord docs: Your application should rely on the Retry-After header [...] to determine when to retry the request.

* also use in processHeaders()

---------

Co-authored-by: Awesome Stickz <kiran121102@gmail.com>
2026-02-10 17:48:19 +01:00
Fleny bd01ded6bf feat: Community Invites (#4685)
* api-docs: Community Invites

Add support for invites that gives roles to users.
Add support for target users on invites.

Sort-of unrleated change required: `restManager.makeRequest` `resolve` function had to changed or else the `getTargetUsers` would hang forever due to a JSON parsing issue.

* fix type error & add bot helpers
2026-01-27 19:08:08 +01:00
Fleny 4eccbea89f fix(rest)!: Remove calculateBits from changeToDiscordFormat (#4557)
* fix(rest)!: Remove calculateBits from changeToDiscordFormat

The rest manager currently has to assume that request bodies that have "permissions", "allow", "deny", "defaultMemberPermissions" fields are always meant as a permissions.
If these are not, for user error or future discord changes, this will break.

Also Discord expects these as strings, and discordeno does not abstract too much from the discord api, so it doesn't really makes sense for us to accept PermissionStrings[], the user should call calculateBits themselves, there is an argument to be made about accepting bigints since these are bitfields but that's another discussion.

* Channel.permissionOverwrites use PermissionStrings

For the transformed type we can keep the fact that it uses PermissionStrings

* Fix e2e test

* remove comment
2026-01-27 18:46:19 +01:00
Fleny 9085f4a454 fix(rest): Make sure to not suppress non-api errors (#4691)
Queues currenly suppress errors, making it very hard to figure out if there is a parse error for example
This fixes it as it add debug logs and passes the error object along with the rejection in sendRequest and does reject the promise in the queue instead of silently ignoring it
2026-01-27 18:41:37 +01:00
Fleny 6a5c346546 feat(rest): unref queue timers to prevent process hang (#4693)
Currently if a queue is pending deletion or waiting to refill its ratelimit will keep the process alive, this is not ideal for scripts like command deployment ones
This does not impact the functionality of the queues in any way, just allows the process to exit if nothing else is pending in which case you would be loosing the ratelimit information anyway
2026-01-20 12:00:21 +05:30
Fleny 27c261fee2 formatter: Use semicolons (#4686)
I prefer semicolors, they also help avoiding certain pitfalls in JavaScript/TypeScript, such as the following code sample:
```js
const xyz = "test"
(something.else as string) = "another"
```
This results in a TypeError: "test" is not a function, this is because js thinks we are trying to call the string "test" as a function.
To fix this it requires a `;` somewhere before the `(`, such as `;(something ... ` which in my opinion is ugly and less clean overall.
2026-01-17 21:54:15 +01:00
Fleny c1445e4600 fix(rest): Always encode URI component in routes (#4609)
* fix(rest): Always encode URI component in routes

Instead of using the implicit behavior of `fetch` and `Request` we do it explicitly in the routes.

* Add checks for numbers and digits-only strings

* Add option to disable uri encode
2026-01-12 12:12:54 -05:00
Fleny 1b9394244b api-docs: Guild Role Member Counts endpoint (#4628) 2026-01-07 13:55:42 -06:00
Fleny 0832500f01 docs(rest): Update documentation for get invites endpoint (#4427) 2025-09-04 08:47:45 +02:00
Fleny ae650a04d9 refactor(typedoc): update typedoc configuration and mark internal APIs as private (#4405)
The typedoc config is now only in the top-level config file instead of also being one per package
and all internal APIs are now marked as private so typedoc won't generate documentation for them, however we still need to export them to avoid typedoc warnings

The new internal APIs that are exported, since are marked as `@private` can have breaking changes without notices
2025-09-02 08:17:59 +02:00
Fleny 33ea279714 feat(types): Add PIN_MESSAGES permission (#4390) 2025-08-24 14:01:40 -07:00
FlenyandLink 27e53b801a fix(types)!: Fix discordeno/user.ts (#4365)
Co-authored-by: Link <link20050703@gmail.com>
2025-08-20 11:11:14 -07:00
Fleny 0b073a151d chore(rest): Remove todo about GET bodies (#4375)
We do not need to do anythng with GET bodies, fetch() will even throw if a body is passed to a GET
2025-08-17 09:10:46 +02:00
Link 8b41c9fe24 feat(bot,rest,types)!: Remove Discord JSON Params (#4351)
- Remove `createApplicationCommand` reverse transformer (Unused - `createGuildApplicationCommand` and `createGlobalApplicationCommand` use `snakelize`)
- Remove `DiscordModifyChannel`, `DiscordFollowAnnouncementChannel`, `DiscordCreateForumPostWithMessage`, `DiscordCreateGuildEmoji`, `DiscordModifyGuildEmoji`, `DiscordCreateGuildChannel`, `DiscordModifyGuildChannelPositions`, `DiscordCreateApplicationCommand`, `DiscordCreateMessage`, and `DiscordCreateWebhook` (unused)
- Remove `DiscordModifyGuildWelcomeScreen` (and replace it with `ModifyGuildWelcomeScreen`)

Fixes: https://github.com/discordeno/discordeno/issues/4308
2025-08-15 13:35:25 -04:00
Link 8baea8c771 feat(bot,rest,types): Add withLocalization (#4350)
- Add `withLocalization` to `getGlobalApplicationCommands` and `getGuildApplicationCommands`

fixes: https://github.com/discordeno/discordeno/issues/4340
2025-08-15 08:20:29 +02:00
Link af2b0cca2e fix(types)!: Rename CreateEntitlement to CreateTestEntitlement (#4346) 2025-08-14 21:12:16 +02:00
Fleny 6679f2c0e4 chore(bot,utils): Move snowflake utils to @discordeno/utils (#4345) 2025-08-14 12:08:19 -07:00
FlenyandLink 247fd4b348 fix(rest): Rewrite rest.simplifyUrl (#4305)
* fix(rest): Rewrite rest.simplifyUrl

* Update packages/rest/src/manager.ts

Co-authored-by: Link <lts20050703@gmail.com>

---------

Co-authored-by: Link <lts20050703@gmail.com>
2025-08-14 20:38:03 +02:00
FlenyandLink 65cbe5d1e6 fix(types)!: Split and fix discordeno.ts (#4301)
* fix(types)!: Split and fix discordeno.ts

* fix some mistakes

* remove now not needed @ts-expect-error

* Apply code review suggestions

* Fix test type errors

* Revert "Apply code review suggestions"

This reverts commit 7a0cea84b3.

* Restore some of the changes from the revert

---------

Co-authored-by: Link <lts20050703@gmail.com>
2025-08-14 18:37:52 +02:00
Fleny 51158071ad api-docs!: remove GetInvite.withExpiration, remove optional from DiscordInvite.expires_at (#4321) 2025-08-13 11:09:39 +02:00
Fleny 09d2697d37 api-docs: Update comment on getMessages (#4306) 2025-08-11 18:55:41 +02:00
FlenyandLink f199bbf71c build(dev-deps): Update biome to v2 (#4246)
* update biome to v2

* Run biome check --write

* Update biome.jsonc

Co-authored-by: Link <lts20050703@gmail.com>

* Fix config error

* Bump biome version

* Update website/yarn.lock

* Update biome to 2.1.3

---------

Co-authored-by: Link <lts20050703@gmail.com>
2025-08-09 12:45:04 -05:00
4792ad2721 feat(rest): Add events (#4245)
* feat(rest): Add events

* Apply suggestions from code review

Co-authored-by: Awesome Stickz <awesome@stickz.dev>

* Remove timeTook, consolidate event types

* Update packages/rest/src/manager.ts

Co-authored-by: Awesome Stickz <awesome@stickz.dev>

* Fix type error

* Apply suggestions from code review

Co-authored-by: Link <lts20050703@gmail.com>

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
Co-authored-by: Link <lts20050703@gmail.com>
2025-08-04 19:49:44 +02:00
Fleny 068ecf897b api-docs!: Remove deleteGuild & EditGuild.ownerId (#4269)
* Remove deleteGuild & EditGuild.ownerId

* Change E2E test
2025-07-31 21:05:31 +02:00
Fleny 5983af8c9b api-docs!: remove editGuildMFA (#4270) 2025-07-30 17:47:51 +02:00
Fleny 979f1a248c api-docs!: Remove createGuild and createGuildFromTemplate (#4268) 2025-07-30 17:45:01 +02:00
Fleny 936a09ec6c fix(rest): Use .startsWith on the Content-Type check (#4244)
* fix(rest): Use `.startsWith` on the Content-Type check

* Fix type error
2025-07-13 09:02:20 +02:00
FlenyandLink 612ac26ea7 feat(types,rest,bot): Updated message pin endpoints (#4228)
* feat: Updated message pin endpoints

* Apply suggestions from code review

Co-authored-by: Link <lts20050703@gmail.com>

---------

Co-authored-by: Link <lts20050703@gmail.com>
2025-07-12 09:30:35 +02:00
Fleny 8e637731e8 feat(rest): use a custom inspect for errors 2025-07-12 11:38:08 +05:30
LTS (Link) 4b96d9fe02 fix(bot,types)!: Remove editOriginalWebhookMessage (#4175)
(and fix editWebhookMessage options type as well)

Fixes: https://github.com/discordeno/discordeno/issues/4174
2025-05-04 09:23:11 +02:00
Fleny 80509a1420 Update manager.ts (#4176) 2025-04-28 18:28:55 +02:00
Fleny b3de175f13 feat(types,rest,bot): Add with_components to webhooks (#4152)
* Add with_components to webhook execute and edit

* Fix query param building

* update comments
2025-04-27 09:42:51 +02:00
FlenyandLTS 24703f13dd fix(types)!: Remove incorrect, reorder and fixes in channel (#4151)
* Remove incorrect, reorder and fixes in channel

- Updated comments to be more clear
- Remove `Channel.newly_created`, doesn't seem to exist in the api docs
- Fix nullability for some fields
- Remove DiscordActiveThreads, DiscordArchivedThreads and DiscordListActiveThreads as they don't seem to match anything in the api

* Add back DiscordListActiveThreads but under Guild
and fix type errors

* Update packages/types/src/discord/channel.ts

Co-authored-by: LTS (Link) <lts20050703@gmail.com>

* Revert newly_created removal

* Apply suggestions from code review

Co-authored-by: LTS (Link) <lts20050703@gmail.com>

---------

Co-authored-by: LTS (Link) <lts20050703@gmail.com>
2025-04-26 08:31:01 +02:00
Fleny 22012fc288 feat(types, rest, bot): Add lobby support (#4158)
* Add lobby support

* Fix CI
Apparently for extends a bot was a LobbyMember since both had
a required id property and even if LobbyMember had other properties
as well that did not matter

* update LobbyMember flags to use ToggleBitfield
2025-04-25 21:15:42 +02:00
FlenyandAwesome Stickz d063655e56 Deprecate createGuild and createGuildFromTemplate (#4169)
While discord does not say anything explicit about deprecating the
createGuildFromTemplate endpoint, it is a fair assumption to make that
it is included in this change

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2025-04-23 19:32:39 +05:30
Awesome Stickz ab7f3705c4 fix(rest): deleteWebhookMessage() and editOriginalInteractionResponse() doesn't require auth (#4155) 2025-03-21 18:15:40 +05:30
Awesome StickzandFleny 4d3bdf233d feat!: add missing params to getThreadMember() and getThreadMembers() (#4135)
* feat: add missing params to getThreadMember() and getThreadMembers()

* add member property from payload in threadMember transformer

* mark guildId as BigString | undefined and pass undefined in threadMember transformer

* fix type of after, limit params of ListThreadMembers

* add tsdoc for GetThreadMember and GetGuildAuditLog

* make options param of getThreadMember() and getThreadMembers() optional

---------

Co-authored-by: Fleny <Fleny113@outlook.com>
2025-02-23 11:50:26 +01:00
FlenyandAwesome Stickz e7ebbaa31e feat(rest): Improve error message for rest errors (#4136)
* Improve error message for rest errors

* Update packages/rest/src/manager.ts

Co-authored-by: Awesome Stickz <awesome@stickz.dev>

* Add new line

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2025-02-23 15:43:28 +05:30
FlenyandLTS e387f2cae2 feat(types,rest,bot): Add ApplicationRoleConnectionMetadata types (#4125)
* add applicationRoleConnectionMetadata types

* Update packages/rest/src/manager.ts

Co-authored-by: LTS (Link) <lts20050703@gmail.com>

* Update packages/rest/src/manager.ts

Co-authored-by: LTS (Link) <lts20050703@gmail.com>

---------

Co-authored-by: LTS (Link) <lts20050703@gmail.com>
2025-02-07 16:42:46 +01:00
Fleny 6b577c3f3d feat(bot,rest,types): Guild incidents data (#4123)
* Guild incidents data

* Update comments on ModifyGuildIncidentActions
2025-02-06 17:24:44 +01:00
FlenyandITOH d8cfccb914 feat(rest)!: Parse json body when possibile in rest proxy (#4090)
* Parse json body when possibile in rest proxy

* Fix typo

Co-authored-by: ITOH <to@itoh.at>

---------

Co-authored-by: ITOH <to@itoh.at>
2025-01-16 22:26:54 -06:00
Fleny cd396cf6bd Simplify proxy error code (#4086) 2025-01-06 14:30:46 +05:30
Fleny afb9e3a453 chore: Bump to v21 (#4062) 2024-12-28 21:51:59 +01:00
d478e679db chore: use DISCORDENO_VERSION from utils for docs and rest manager (#4059)
* docs: update header to v20

* Update to upcoming version instead

* Use the new DISCORDENO_VERSION

* Use the new DISCORDENO_VERSION

* Update website/docs/bigbot/step-2-rest.md

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
Co-authored-by: Fleny <Fleny113@outlook.com>
2024-12-29 01:05:13 +05:30
Fleny 848285968c Use the correct name for files (#4037) 2024-12-04 16:47:06 +05:30
Fleny ffdef6c74e feat(types,rest,bot): Document new entitlement endpoint behavior (#4021)
* Add getEntitlement endpoint

* use camelCase for excludeDeleted
2024-11-27 05:37:42 +05:30
Awesome Stickz e8391e8724 fix(rest): errors returned from makeRequest() doesn't provide more info rest is proxied (#4012) 2024-11-23 14:54:18 -06:00