Commit Graph
94 Commits
Author SHA1 Message Date
Fleny e020289b7c feat: threadMemberGuildCreate partial transformer 2026-08-20 14:22:49 +02:00
Fleny 4533e908b7 feat: threadMember partial transformer 2026-08-20 14:22:28 +02:00
Fleny 5d7c6cbc5b feat: template partial transformer 2026-08-20 14:21:40 +02:00
Fleny c792010203 feat!: team partial transformer 2026-08-20 14:21:01 +02:00
Fleny 15973c32ee feat!: stickerPack partial transformer 2026-08-20 13:50:40 +02:00
Fleny 0bfd2bd66c feat!: interactionDataOptions partial transformer 2026-08-20 13:49:44 +02:00
Fleny 55c2f337be feat: integration partial transformer 2026-08-20 13:47:47 +02:00
Fleny 29303704f4 feat: gatewayBot partial transformer 2026-08-20 13:41:43 +02:00
Fleny 89610cde2b feat: embed partial transformer 2026-08-20 13:38:36 +02:00
Fleny e692b24ba3 feat!: automodRule partial transformer 2026-08-20 13:31:23 +02:00
Fleny d06749ec43 feat!: automodActionExecution partial transformer 2026-08-20 13:26:11 +02:00
Fleny c7cc8675fd feat: auditLogEntry partial transformer 2026-08-20 13:19:00 +02:00
Fleny 4c9daa1c8f feat!: applicationCommandPermission partial transformer 2026-08-20 13:13:07 +02:00
Fleny e9c45c39e7 feat: applicationCommandOptionChoice partial transformer 2026-08-20 13:04:45 +02:00
Fleny 5fb30b6e8b feat: applicationCommandOption partial transformer 2026-08-20 13:03:19 +02:00
Fleny 82d211b0f0 feat: applicationCommand partial transformer 2026-08-20 13:01:35 +02:00
Fleny 2e98810917 feat: Make activity assets transformers support partial payloads 2026-08-20 12:58:40 +02:00
Fleny 6683557ac3 feat: Make activity transformers support partial payloads 2026-08-20 12:57:02 +02:00
FlenyandLink 4581222cf4 feat(transformers)!: Partial transformers (#4436)
* refactor(bot)!: setup desired properties for all transformers

SetupDesiredProps when is given an object that does not corrispond to a transformer object that supports desired properties will behave like TransformProperty on the entire object as when it tries to get the properties for said object it will find `never` as the props and for `IsKeyDesired` a props of `never` means that all props are desired.

* feat(transformers)!: Handle partials in transformers

* Add expiresAt to invite create event

* Use Equals helper, clean up a bit the code

* Explicit the IsKeyDesired TProps never behavior

* Fix type errors

* format

* Add all trasformer objects to bot.transformers.$inferredTypes

* Use transfromerInformations for bot.transformers.$inferredTypes

* code review

* code review

* fix component transformer

* fix

* Update packages/bot/src/transformers/types.ts

* Fixes from Tri (+ GPT sol) code review

---------

Co-authored-by: Link <link20050703@gmail.com>
2026-07-31 15:12:15 +05:30
Flenyandstickz eb4cdaa0f5 fix: Add missing collectibles field to guild member (#5197)
* fix: Add missing collectibles field to guild member

* Update packages/bot/src/transformers/types.ts

Co-authored-by: stickz <38146668+AwesomeStickz@users.noreply.github.com>
2026-07-30 12:42:05 +05:30
FlenyandAwesome Stickz 15511d2ddf feat: shared client theme (#5195)
* feat: shared client theme

* fix missing ? and comment in CreateMessageOptions

* Apply suggestions from code review

Co-authored-by: Awesome Stickz <38146668+AwesomeStickz@users.noreply.github.com>

* replace message transformer CRLF with LF

* fix type error
2026-07-29 17:47:43 +05:30
FlenyandAwesome Stickz ce2272e359 feat: Add lobby messages and lobby invites (#5232)
* feat: Add lobby messages and lobby invites

* Update packages/bot/src/transformers/lobby.ts

Co-authored-by: Awesome Stickz <38146668+AwesomeStickz@users.noreply.github.com>
2026-07-29 17:13:11 +05:30
Fleny 98f87b9bf7 fix!: Match the Activity and DiscordActivity structure (#5180) 2026-07-26 06:08:51 +05:30
Fleny cf02481086 refactor(bot)!: setup desired properties for all transformers (#4435)
* refactor(bot)!: setup desired properties for all transformers

SetupDesiredProps when is given an object that does not corrispond to a transformer object that supports desired properties will behave like TransformProperty on the entire object as when it tries to get the properties for said object it will find `never` as the props and for `IsKeyDesired` a props of `never` means that all props are desired.

* Use Equals helper, clean up a bit the code

* Explicit the IsKeyDesired TProps never behavior

* Add all trasformer objects to bot.transformers.$inferredTypes
2026-01-28 10:13:35 +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
FlenyandAwesome Stickz d8fc6ec02d feat(bot)!: make desiredProperties generic in transformers (#4469)
Updated desiredProperties in transformers to be generic so that it can be used to retrive the bot desired properties, and removed the option from `CreateBotOptions.transformers.desiredProperties` as that would cause the typings for the bot to be incorrect

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2025-10-27 19:35:27 +01:00
FlenyandAwesome Stickz 87d16dd9ba feat(types,bot): Add Label component and new modal stuff (#4304)
* feat(types,bot): Add Label component and new modal stuff

Since now there are some fields that are only in responses the types got a bit more complicated

* Add char limits to label label & desc

* update comments

* fix format

* Move Require to shared.ts

* code review

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2025-09-18 00:50:59 +05:30
Fleny 2a7cd9b2a5 refactor(transformers)!: Use type helper to define customizers (#4404)
* refactor(transformers)!: Use type helper to define customizers

This allows us to ensure that customizers always follow the correct types for the transformers and we don't have 2 places to add the types.

* remove outdated comment in transformInteractionDataResolved

* remove not needed cast

* remove not needed cast
2025-09-02 06:54:38 +02:00
FlenyandLink e94308c8f2 chore: Imports directly from files instead of index files (#4400)
Currently we import from `index.js` files where we could simply import the actual file(s) or module we need.

This also creates a bit of confusion since it isn't obvious from where stuff is coming from, especially when we are importing types such as `Discord<XYZ>` types both from `@discordeno/types` and a `index.js` in the same file, one such example is `transformers/reverse/component.ts`.

As far as I can tell, this does not have any specific advantage beside readability, maybe something with tree-shaking. (and for us, tree-shaking doesn't really matter)

The only files that still import index.js files are:
- index.js files themself
- bot/src/handlers.js since it does a `import * as handlers from './handlers/index.js'` and the alternative is like 90 lines of imports

Co-authored-by: Link <link20050703@gmail.com>
2025-08-26 20:41:14 +02:00
FlenyandLink b7db305dee refactor: Use TransformerFunction to define transformers (#4402)
Co-authored-by: Link <link20050703@gmail.com>
2025-08-26 10:56:43 -07:00
FlenyandLink c429ec9c36 feat(bot)!: Use an "extra" params for transformers (#4372)
Co-authored-by: Link <link20050703@gmail.com>
2025-08-20 12:10:35 -07: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
Fleny 9de5d93014 feat(bot): Add guildId to ThreadMember (#4335) 2025-08-14 19:21:22 -07:00
Fleny 6679f2c0e4 chore(bot,utils): Move snowflake utils to @discordeno/utils (#4345) 2025-08-14 12:08:19 -07:00
Fleny 86f8fbd589 fix(bot)!: Remove InternalBot, add messagePin transformer (#4302) 2025-08-14 18:43:34 +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
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
FlenyandLink cb8176c623 feat: user tags (#4238)
* feat: user tags

* Apply suggestions from code review

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

---------

Co-authored-by: Link <lts20050703@gmail.com>
2025-07-12 09:25:31 +02:00
FlenyandAwesome Stickz 07a094e7e4 feat: role gradient colors (#4239)
* sort GuildFeatures

* feat: role gradient colors

* Use deprecated jsdoc tag

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2025-07-07 13:06:31 +05:30
FlenyandAwesome Stickz 60c8d3e9ac Add customizers for colleactibles and nameplate (#4241)
They exited in the types but didn't in the runtime object causing a runtime error when the code needed to transform a nameplate

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2025-07-07 12:58:04 +05:30
Fleny c4f2fc2b01 feat(types,bot): add user collectibles (#4225) 2025-06-14 13:38:58 +05:30
3d90d816e7 feat(types,bot)!: Components V2 (#4080)
* UI

* change component names to match Discord's names

* add divider prop to separator component

* rename thumbnail component image property to media

* Rename MessageFlags.IsUiKit to IsComponentsV2

* Rename FileDisplay component to File component

* Added container component

* add id to container component transformers

* add id to all components

* SectionComponent.accessory now accepts ButtonComponent as well

* Update description for FileComponent.file

* fix bad merge

* Change Component.accessory to ButtonComponent | ThumbnailComponent

* Add section to reverse, fix Component#accessory

* remove type cast on section transform

* Add docs link for CreateGuildChannel

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

* Update comments & split components

* fix type errors

* Really fix CI

* transform UnfurledMediaItem

* Apply suggestions from code review

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

* change DiscordInputTextComponent to DiscordTextInputComponent

* fix order in Transformers.customizers

* Fix missing transformers

* update action row components type

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
Co-authored-by: LTS (Link) <lts20050703@gmail.com>
2025-04-26 08:35:06 +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
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
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
FlenyandAwesome Stickz 41219d5417 feat(bot): Remove some clutter from desired proprerties intellisense (#4050)
* Remove TBot, Use SetupDesiredProps

* Remove even more clutter from intellisense

* Use type instead of interfaces for some types

This avoids the need for mapped types in Bot

* docs: add info about removing ts clutter to desired props guide

* docs: improve ts clutter section in desired props guide more

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-12-28 23:08:15 +05:30
Fleny f40da4c1cf feat(bot)!: Add type helpers for type-level based desired props (#3954)
* Add type helpers for typeLevel based desired props

This also fixes / added a few stuff that was missing in exiting
types & transformers, however due to this a few transformers got a
breaking change due to the need to pass down the shardId

* Fix benchmark type error

* Add the generics to createBot / Bot / ..

This caused a lot of breaking changed due to the required generics on a
bunch of types

* Fix benchmark type error?

* Fix benchmarks type error

* Fix E2E test type error

* remove defaultDesiredPropertiesValue

* Remove `internal` jsdoc from CompleteDesiredProprieties

* Add tests for createDesiredPropertiesObject

* Fix interaction.bot type

* Remove Capitalize type helper

It is already built-in into typescript as an intrinsic

* Fix typo

* Update message on missing desired properties

* Fix CI

* Move infer types to 'transformers.$inferredTypes'

* Fix CI

* Fix CI, again

* Use GatewayHandlers in params of create function

* change default behavior to remove key

* Fix CI

* fix types for e2e test
2024-11-17 08:37:41 -06:00
FlenyandAwesome Stickz cfdf77027a refactor(types,utils,rest,bot)!: Cleanup types & files (#3951)
* Cleanup some un-used & sort types, split files

* Remove commented code from reverse/component.ts

* Fix type error on the bot E2E test

* Add comment, remove DiscordInteractionResponse

* Remove camel.ts

* Error on unusedImport, refactor type imports

* Run biome check

* fix: typo

* Update comments for skuId and defaultValues

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-11-09 17:27:55 +01:00
dfa7ff4045 feat(bot,rest,gateway,utils,types)!: Add soundboard support (#3919)
* Add soundboard support

* Add rest endpoints

* add comment to gateway requestSoundboardSounds

* Apply suggestions from code review

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

* Update for discord/discord-api-docs#7207

* Update discord.ts

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
Co-authored-by: ITOH <to@itoh.at>
2024-11-05 19:44:37 +05:30
FlenyandAwesome Stickz 87e6cd0c2e feat(bot,rest,types): Add subscriptions (#3892)
* Add subscriptions

* Apply suggestions from code review

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

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-11-05 13:38:33 +01:00