Commit Graph
100 Commits
Author SHA1 Message Date
Fleny 039c1945cc Use tsc to build instead of swc (#4128) 2025-02-12 19:23:28 +01:00
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
Fleny e2d7b5b63d Add hasSnapshot flag to Message (#4122) 2025-02-02 10:03:55 +01:00
Fleny 0fb403a332 refactor(types): split discord.ts into multiple files (#4088)
* Split reference types

* Split webhook events types

* Split interactions types

* Split gateway types

* Move application related types to applications.ts

* Split auditLog types

* Split autoModeration types

* Split channel types

* Split emoji types

* Split entitlement types

* Split guild types

* Split guildScheduledEvent types

* Split GuildTemplate types

* Split Invite types

* Split message types

* Split poll types

* Split sku types

* Split soundboard types

* Split stageInstances types

* Split sticker types

* Split subscription types

* Split user types

* Split voice types

* Split webhooks types

* Split oauth2 types

* Split opcodes types

* Split permission types

* Split teams types

* Sort out remaining types

* Rename to singlar to match discord docs
2025-02-01 18:32:42 +01:00
Fleny 0059056d77 Use as instead of specifying the generic (#4111) 2025-01-31 17:58:58 +01:00
Fleny ebbb5f5541 Fix double socket bug on zombie (#4109) 2025-01-31 01:18:45 +05:30
Fleny 10731a180a chore(utils)!: Remove logger code related to Depth (#4106)
* Deprecate logger code related to Depth

* remove logger depth

* fix tests
2025-01-30 18:42:22 +01:00
Fleny f4f4665b89 Use desired properties in InteractionResolvedXYZ (#4099) 2025-01-24 21:23:24 -05:00
Fleny b177eb40f8 chore: Update yarn, refactor packages setup (#4085)
* Update yarn, refactor packages setup

* Rename some jobs in lib-check.yml

* Update website/yarn.lock

* Revert build-type-and-test job name change
2025-01-16 22:27:10 -06: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 9914d38797 Add memberBannerUrl (#4091) 2025-01-16 22:25:39 -06:00
Fleny a55127fb93 feat(utils): Support 'random' in setColor (#4093)
* support 'random' in setColor

* use toLowerCase for color in setColor
2025-01-16 22:25:13 -06:00
Fleny 27808bea7d test(bot,gateway): Fix Bot E2E and Gateway Integration tests (#4084)
* Fix bot e2e, refactor gateway integration tests

* use debug for bot e2e log

* Discard changes to packages/bot/src/bot.ts
2025-01-06 04:04:12 -05:00
Fleny cd396cf6bd Simplify proxy error code (#4086) 2025-01-06 14:30:46 +05:30
Fleny b0c1b9f795 ci: Use mocha for both deno and bun (#4067)
* Use mocha for both deno and bun

* Use any Bun 1.1

* remove build:type dependency in lib-check.yml

* Pin point 1.1.42

* remove packages/bot/.mocharc.json
2025-01-01 09:59:06 -08:00
Fleny 8aea9e3d58 fix(bigbot): Fix docker rabbitmq (#4066) 2024-12-30 18:10:06 +01:00
Fleny 46c7dbf491 Remove yarn postinstall mention (#4063) 2024-12-29 02:30:08 +05:30
Fleny afb9e3a453 chore: Bump to v21 (#4062) 2024-12-28 21:51:59 +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 01638a075f Add renewalSkuIds to subscription (#4049) 2024-12-26 12:47:54 +01:00
Fleny bee999b001 Add bluesky and mastodon to the connections (#4051) 2024-12-23 00:16:04 +05:30
Fleny 618d8dd108 fix(gateway): close not resolving in some cases (#4046)
* Fix close not resolving in some cases

* update some logging in close()
2024-12-10 11:01:51 +05:30
Fleny 41c614c31e Dates are nullable not optional in Entitilement (#4042) 2024-12-05 09:21:12 +05:30
Fleny 848285968c Use the correct name for files (#4037) 2024-12-04 16:47:06 +05:30
Fleny 527ef5d733 Update examples to v20 (#4032) 2024-11-28 16:48:14 -06:00
Fleny 58fccd8d14 Update package.json(s) for v20 (#4030) 2024-11-28 19:29:59 +01:00
Fleny f137efa539 Add the crunchyroll connection (#4029) 2024-11-28 23:23:21 +05:30
Fleny 87de1ac16d Remove withAtLeast, a & { ... } is the same thing (#4028) 2024-11-28 10:26:48 -06:00
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
Fleny c6f04be311 Add the /desired-props redirect (#4013)
And update docusaurus dependencies
2024-11-24 17:40:17 +05:30
Fleny cdf0be41b6 fix(bot)!: fix type errors when using commandOptionsParser (#3994)
* Fix type errors when using commandOptionsParser

* remove export from TransformProperty

* use TransformProperty in InteractionResolvedData

* Fix CI

* Remove the union on GetErrorWhenUndesired
2024-11-23 14:50:16 -06:00
Fleny 078036f626 fix: add breaks to component transformer switch (#4009) 2024-11-22 21:31:02 +05:30
FlenyandH01001000 376b29db47 fix(utils): Fix broken urlToBase64 test (#4002)
* Rework the test for urlToBase64.

Currently urlToBase64 used the website logo however with #3990 the test
started failing as the logo changed so the base64 of it changed.

The test now mocks fetch() to return 8 empty bytes and checks for that
base64 string instead

* test: explicity import beforeeach and aftereach

* test: stub depend on runtime

* test: use try catch instead

* test: try itoh typeof

---------

Co-authored-by: H01001000 <heiheiho000@gmail.com>
2024-11-20 21:44:56 +01:00
FlenyandSkillz4Killz 3e48af1b4c Remove migrations, reorder stuff in website (#3991)
Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
2024-11-20 07:38:47 -06:00
Fleny fb9aac0531 Remove turbo cache from release (#3995) 2024-11-19 16:43:17 -06:00
Fleny 4939822434 docs: Update desired properties docs (#3940)
* Update docs for desired properties

* Update examples to use createBot desiredProperties

The BigBot and reaction roles examples use the Discordeno CLI

* Migrate examples to v19 stable

* Docs work
2024-11-19 16:40:01 -06:00
Fleny cf5e0336c4 Add id-token permission to release workflow (#3989) 2024-11-17 11:34:47 -06:00
Fleny 1e8873b3cb ci: Release v19 (#3988)
* Bump to 19.0.0, Add conditions for CI release

* Use next tag instead
2024-11-17 11:25:37 -06:00
Fleny 2762b483ec chore(discordeno)!: Remove CLI (#3980)
* Remove the CLI

* Update lockfile

* Fix CI
2024-11-17 08:39:18 -06:00
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
Fleny 5f1ee0f42c Fix incorrect type in interaction.respond (#3979)
This also changes the way we type our base structures, as using as was
suppressing errors such as the one fixed in this pr
2024-11-10 19:53:34 +05:30
Fleny 8188e85115 chore(website): Enable docusaurus future.experimental_faster (#3978)
This will use rspack and swc to speed up the build process
2024-11-09 18:30:30 +01: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
FlenyandAwesome Stickz 61acc5781f fix(gateway): Fix shard reconnecting in a loop (#3907)
* Attempt to fix shard reconnecting in a loop

* Add a bit of logging on READY & RESUMED

* Fix integration tests

* Revert turbo.json change

* Pass down the logger to LeakyBucket on HELLO

* Update some logs

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-11-08 19:46:10 +05:30
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
Fleny b1036b24cf feat(types,bot): Add banners to members (#3949)
* Add banners to members

* Fix comments on Member and DiscordMember
2024-11-05 13:17:45 +01:00
Fleny b42de2ebf7 Fix the remark on getWebhook (#3950) 2024-11-05 13:17:30 +01:00
Fleny 7cf2ad3862 Use numbers in the template partial source guild (#3952) 2024-11-05 13:17:15 +01:00
FlenyandAwesome Stickz 81b3b28e0e feat(bot,types): Add webhook events types (#3953)
* Add webhook events types

We will not support all the signing part for the handling of http
requests, however we do still provide the types for these requests

* Apply suggestions from code review

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

* Use union on DiscordEventWebhookEventBody data

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-11-05 13:16:56 +01:00
Fleny d58de64704 Add command target to interaction response messages (#3959) 2024-11-05 13:16:41 +01:00
Fleny 84d20a2648 FIx error when transforming a partial message (#3961) 2024-11-05 13:16:10 +01:00
Fleny eb20050745 Always include the message content if desired (#3965) 2024-11-05 13:15:46 +01:00
Fleny 2d02c3246c fix(website): Fix docusaurus build/typedoc warnings (#3929)
* Fix docusaurus build/typedoc warnings

* include the jsdoc fixes
2024-10-22 16:48:06 +02:00
Fleny b85c6d54bd Add missing comments on DiscordInteractionCallback (#3945) 2024-10-21 10:59:11 +02:00
Fleny df5d8630c6 Add null to application urls (#3908) 2024-10-06 23:44:49 -05:00
Fleny 6098d68a9a Add the poll object to InteractionCallbackData (#3905) 2024-10-06 23:40:27 -05:00
FlenyandLTS 6f601f0d50 feat(types)!: Action rows are not always the top-level (#3904)
* Action rows are not always the top-level

* Update packages/types/src/discordeno.ts

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

---------

Co-authored-by: LTS (Link) <lts20050703@gmail.com>
2024-10-06 23:40:15 -05:00
Fleny 6ff0c9aae8 Add amazon music connection (#3903) 2024-10-06 23:39:55 -05:00
Fleny b9200cfd39 Entry Point commands and Interactions updates (#3883) 2024-10-06 23:38:14 -05:00
Fleny a749905740 update DiscordAuditLogChange to be less manual (#3823) 2024-10-06 23:37:17 -05:00
Fleny 2c6ad258f0 chore(gateway): Refactor gateway integration test (#3850) 2024-10-05 19:55:05 +02:00
FlenyandLTS 7303a20d7a feat(gateway): Add transport compression support (#3815)
* Add zlib-stream transport-compression support

* remove external buffer, add the url param

this also fixes the CI Deno error

* use a queue and promises

instead of calling handleDiscordPacket from the callback of inflate.on('data')

* Add zstd support

* Re-add payload compression, set fzstd as optional, refactor

* add comment for decompressionPromisesQueue

* fix comment for isCompressed

* Don't create a new Uint8Array if the input is a Buffer

* Use a Uint8Array buffer instead of parsing incomplete JSON chunks

* remove old commented code

* Change ts expect error message

* use type import for ShardGatewayConfig

* Apply suggestions from code review

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

---------

Co-authored-by: LTS (Link) <lts20050703@gmail.com>
2024-10-05 19:48:05 +02:00
Fleny 57fa3d4d22 Add new fields to message snapshots (#3897) 2024-09-07 08:40:42 +02:00
Fleny 48902bcb8e Add new member flags (#3896) 2024-09-07 08:27:40 +02:00
Fleny 45bfa059b5 feat(bot,rest,types): Add get activity instance endpoint (#3891)
* Add get activity instance endpoint

* Add ActivityInstance & ActivityLocation transformers
2024-09-07 08:21:14 +02:00
Fleny b1bfe94b7d Use atob instead of node:buffer for getBotIdFromToken (#3893) 2024-09-02 15:12:09 +02:00
Fleny 6a5f446c06 build(website): Update website deps, remove 1s load time (#3858)
* Update website deps, remove 1s load time

* Run biome migrate

* Test without terser plugin

* Do not always default to MDX

* remove webpack terser plugin

* Add some exclusions to website/tsconfig
2024-08-29 11:22:40 +02:00
Fleny 6584a3bf00 set recurrenceRule as nullable in update (#3871) 2024-08-21 22:01:09 +05:30
Fleny 9e516a09da Add poll_result Message/Embed Type (#3870) 2024-08-21 17:40:20 +02:00
FlenyandAwesome Stickz b3a8c866b4 feat(gateway): Expose makePresence from GatewayManager (#3851)
* Expose makePresence from GatewayManager

* Pass down the makePresence method on resharding shards

* inline makePresence option

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-08-18 18:03:38 +02:00
Fleny a0510da166 Add voiceChannelEffectSend event (#3869) 2024-08-18 14:44:39 +05:30
Fleny c1b0dc925d fix(bot)!: Remove direct calls to transformers (#3863)
* Remove direct calls to transformers

* Sort transformers by name

* Fix error
2024-08-18 09:04:18 +02:00
Fleny a80036fc12 Add get guild role endpoint (#3861) 2024-08-18 08:57:22 +02:00
Fleny 03f17ee36a Add commands dir import to examples register commands (#3848) 2024-08-18 08:49:27 +02:00
FlenyandAwesome Stickz 40ad08238a Update description for 4003 close code (#3868)
Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-08-17 11:45:09 +05:30
Fleny 943821ff9a use camelCase for body members (#3849) 2024-08-16 20:30:46 +02:00
FlenyandAwesome Stickz 08a5e4456f fix(gateway): change logLevel for some resharding logs (#3855)
* change logLevel for some resharding logs

* Apply suggestions from code review

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

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-08-12 16:41:36 +02:00
Fleny b7063580e0 feat(gateway): Make resharding.getSessionInfo optional (#3854)
* Make getSessionInfo optional

* change resharding.getSessionInfo to throw in checkIfReshardingIsNeeded

* Change warn message on spawnShards
2024-08-12 16:32:59 +02:00
Fleny 4899d0aa66 Add approximate_user_install_count (#3845)
And also a few missing values*
The values were not added to the reverse transformers as well, as a few
reverse transformers are missing for it
2024-08-10 19:36:46 -05:00
Fleny bb6b8df2cf Add get sticker pack endpoint (#3844) 2024-08-10 19:36:29 -05:00
Fleny 895cc17106 Add voice state http endpoints (#3841) 2024-08-10 19:36:15 -05:00
Fleny 62b3122e89 Add recurrence rule to scheduled event (#3834) 2024-08-10 19:34:55 -05:00
Fleny ab2930ce34 Add attachments to CreateMessageOptions (#3830) 2024-08-07 01:21:49 -05:00
Fleny 304a61c786 Add the propriety if it has _ to the object (#3828) 2024-08-07 01:20:50 -05:00
FlenyandAwesome Stickz d6898f2b7b feat(gateway): Use the native WebSocket implementation when available (#3808)
* Use the native WebSocket implementation when available

* merge types.js import in shard

* Apply suggestions from code review

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

* Do not use the WebSocket global on Node

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-08-07 01:16:55 -05:00
FlenyandAwesome Stickz 746f0a99ac fix(discordeno)!: Fix some errors in DiscordenoConfig (#3824)
* Fix typo, remove RecursivePartial from DiscordenoConfig.desiredProperties.properties

* Fix properties typo

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-08-03 10:26:21 +05:30
FlenyandAwesome Stickz 9e1ada64b8 fix(rest): Use a _ check instead of the manual one on the switch (#3825)
* Use a _ check instead of the manual one on the switch

* invert the check, as the current one is wrong

* move the check to before indexing the object

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-08-03 10:17:26 +05:30
Fleny 22a611761b Make token in rest and gateway for createBot optional (#3820) 2024-08-03 10:10:09 +05:30
FlenyandAwesome Stickz 791943a652 fix(rest): ignore snakelized properties in changeToDiscordFormat (#3795)
* fixes #3666

* Update packages/rest/src/manager.ts

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

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-07-30 23:38:15 -05:00
Fleny e315ee6d95 fix(bot)!: Remove old unprovided params from event params (#3794)
* Remove oldMessage from messageUpdate params

* Remove oldPresence from presenceUpdate as well
2024-07-30 23:36:26 -05:00
658acfb906 fix(gateway): Make heartbeat logging clearer (#3793)
* Make heartbeat logging clearer

* Update packages/gateway/src/Shard.ts

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

---------

Co-authored-by: LTS20050703 <lts20050703@gmail.com>
Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-07-30 23:36:03 -05:00
Fleny e32c670ab1 fix(ci): Add env to test:e2e turbo task (#3809)
* Add env to test:e2e turbo task

Turbo in v2 does not pass down the environment variables unless manually specified (by default)

* use the correct env name for the test guild
2024-07-30 21:18:07 +02:00
FlenyandAwesome Stickz ef4cc80c63 fix(bot,gateway): Fix (some) resharding bugs (#3792)
* Improve logging, keep shard collections separated

* revert to erroring in getSessionInfo. Fill the value in createBot

* removed useless if

* remove same number of shards check

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

* Update manager.ts

* revert shard.events.message assignment for the spread

* use new Collection instead of .clear() + for-of

* Use fixed formula and note in the comment the inaccuracy

* Apply suggestions from code review

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

* Add a remark to shardsFullPercentage to let the user know of the inaccuracy

* Update comment and add a clearInterval

The clearInterval is not strictly needed, however it is better to ensure there is always one and only one internal running at a given point

* revert check for all shards online
It was bugged as gateway.resharding.shards gets populated overtime and not instantly

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-07-30 23:34:32 +05:30
Fleny e0209cf7f5 Rename game activity type to playing (#3807) 2024-07-30 04:25:53 +05:30
FlenyandAwesome Stickz faaa8af48a clear offlineSendQueue after resolving all the promises (#3806)
Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-07-30 04:15:21 +05:30
Fleny ee11d39744 Add discordeno to the release workflow (#3790) 2024-07-23 00:29:42 -05:00
Fleny 8ad8b5d6e8 Add shebang (#3789) 2024-07-23 00:29:23 -05:00
Fleny c7b44e5e30 feat(bot): Add desiredProperties to createBot (#3787)
* Add `desiredProperties` to createBot

* remove not used default
2024-07-23 00:29:11 -05:00