Commit Graph
127 Commits
Author SHA1 Message Date
ITOH e3549a8675 fix(rest): does not need to set the absolute url (#2966) 2023-04-03 20:00:30 +00:00
ITOH 895db84d34 refactor(rest): add header constants (#2962)
* refactor(rest): add header constants

* spelling error

* export
2023-04-03 19:01:14 +00:00
Skillz4KillzandITOH 04d7db89a5 fix: export transformers na dhandler (#2959)
Co-authored-by: ITOH <to@itoh.at>
2023-04-03 17:28:11 +00:00
ITOHandSkillz4Killz 088fd12513 fix(bot)!: rename auditLogEntryCreate to guildAuditLogEntryCreate (#2952)
* fix(bot)!: rename `auditLogEntryCreate` to `guildAuditLogEntryCreate`

* need to start small

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>

* also remove this

* suggestions

---------

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
2023-04-03 15:52:34 +00:00
ITOH 7f9459b435 feat(rest): add isProxied (#2957)
Adds the `isProxied` property to rest.
This effectively removes the `startWith('https://discord.com/api')` check.
2023-04-03 15:51:47 +00:00
ITOH 50282f9190 refactor(rest)!: improve sendRequest (#2956)
* refactor(rest)!: refactor `sendRequest`
 - Removed `url` in favour of `route`. This change will effectively remove a bunch of unnecessary checks from dd. Also this changes how rest proxies have to pass the route to the `makeRequest` function. But since it will just require you to pass `req.route + req.query` it is an improvement compared to `rest.baseUrl + req.route + req.query`.
 - Introduced `HttpResponseCodes` an internal enum to remove magic numbers.
 - Improved the rate limted response handling. Made it simpler.
 - Removed unnecessary `JSON.stringify(await result.json())` since `await result.text()` does effectively the same.
 - Changed the anti memor leak `response.json()` to `response.arrayBuffer()` since latter does not do any additional processing.

* .

* forgot to fix that
2023-04-03 15:23:01 +00:00
Jonathan Ho fda9ef25f2 fix(bench): missing app id (#2955) 2023-04-03 03:05:20 +00:00
ITOH af64b18518 forgot to commit that 2023-04-03 00:16:25 +02:00
ITOH 1f26dd58d1 need to end with .js 2023-04-03 00:08:16 +02:00
ITOH 1aa053a29a more fixes 2023-04-03 00:04:44 +02:00
ITOH 56ae189812 ci: fix benchmarks 2023-04-02 23:58:40 +02:00
ITOH 43844571cc feat(bot): allow passing of applicationId (#2954)
* feat(bot): allow passing of applicationId

* Update packages/bot/src/bot.ts
2023-04-02 23:20:00 +02:00
ITOH 0f41cd302e ci: fix benchmarks (#2953) 2023-04-02 21:06:55 +00:00
ITOH da74ea7e55 docs(types)!: update intents (#2951)
- Added missing event docs
 - Added a note for privileged intents
 - Renamed `GuildBans` to `GuildModeration`
2023-04-02 21:05:08 +00:00
ITOH fd357aeace refactor(rest)!: move routes to their own creator function (#2950)
Currently the route definitions make `createRestManager` massive. Moving them to their own creator function makes it a bit easier to handle.

Also `sessionInfo` has been removed since it's just an alias to `gatewayBot`. Instead `gatewayBot` should be used.
It has been removed since the routes are mainly used internally in the lib. Almost no one should need to touch them outside, but if they do they should know how routes are called.
2023-04-02 21:04:33 +00:00
ITOH 7c031df875 refactor(rest)!: remove falsy token check (#2949)
* refactor(rest): remove falsy token check
This is in favour for interaction only bots, which still need rest but cannot provide a valid bot token.
If you want to use rest for your normal bot it should be your own responsibility to pass a valid token.

Further more `applicationId` is now a required property since we cannot extract the id from the token anymore.

* forgot to commit that

* fix error

* make appid optional again

* app id throw error if undefined

* fix test
2023-04-02 21:39:08 +02:00
ITOH 5e1e56146e fix: eslint no async error (#2947)
* fix: eslint no async error

* just ignore
2023-04-02 19:47:29 +02:00
ITOH 7c51f731cb refactor(rest): improve unauthorized readability (#2946)
Currently we use a double negation in the code which makes it harder to understand what it actually does.

Therefore the check has been changed to be understood easier.
2023-04-02 16:54:36 +00:00
ITOH 7b5d99e5dd refactor(rest): interaction handling (#2944)
* refactor(rest): interaction handling
Currently some interaction handling uses `sendRequest` directly.
This adds the `runThroughQueue` option, which prevents the request to be handled by a queue effectively giving the same effect as using `sendRequest` directly.
This prevents code repetition and supports future endpoints which might not have a rate limit too.

Further more all interaction related endpoints have now been set to not send the bots authorization header.

* fix invalid file

* fix eslint

* fix: followups have a rate limit

* fix awaiting
2023-04-02 16:27:48 +00:00
ITOH 66869ce00b refactor(utils)!: remove unused files utility (#2945)
Since we have changed how files get send to the rest proxy, we do not need this utility anymore.
2023-04-02 16:21:48 +00:00
ITOH 1cb1b09460 refactor!(rest): rest proxy attachment sending (#2924)
* refactor!(rest): rest proxy attachment sending
Currently attachments get encoded as base64 before being send to the proxy. This is not really necessary, instead we can just send `FormData` to the proxy.

* fix lint
2023-04-02 15:43:08 +00:00
Jonathan HoandITOH 7a69c02d13 feat(site): add back benchmark to site (also change cpu model) (#2939)
* ci: add concurrency for deploy site

* feat(site): add benchmark

* refactor(bench): overwrite old result with new

* Update packages/benchmark/src/generateMessage.ts

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

* Update scripts/generateMessage.js

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

* Update site.yml

---------

Co-authored-by: ITOH <to@itoh.at>
2023-04-02 15:39:52 +00:00
ITOH 17a52fec1b fix(rest, types)!: support auditlog reason (#2940)
* fix(rest, types)!: support auditlog reason
Improved the consistency by separating the audit log reason to an optional function parameter.
Also added support for 100% documented reason endpoints.

* missing stuff

* fix this

* fix e3e
2023-04-02 15:38:06 +00:00
Skillz4KillzandJonathan Ho dea9d1d152 fix(transformers): message transformer using different style (#2916)
* fix(transformers): message transformer using different style

* fix: more bench tests

* fix(bench): token can not be empty

* more desired props

* fix: bug on message.id props

* fix: transfomrer errors on bench

---------

Co-authored-by: Jonathan Ho <heiheiho000@gmail.com>
2023-04-01 21:26:46 -05:00
Jonathan Ho 782a778a1d ci: add git reset before store benchmark (#2938) 2023-04-02 02:25:01 +00:00
Jonathan Ho 9c7b2b832e Fix(bench): wrong location (#2932)
* Update commentBenchResult.yml

* ci: fix ext

* refactor(bench): better table
2023-04-01 23:27:54 +00:00
ITOH 6359972e38 docs(rest): webhook names cannot contain 'discord' (#2936)
Closes: https://github.com/discordeno/discordeno/issues/2928
2023-04-01 19:18:59 +00:00
ITOH bcfeb5b6ae feat(bot,types): add Guild.maxStageVideoChannelUsers (#2935)
Closes: https://github.com/discordeno/discordeno/issues/2927
2023-04-01 19:18:26 +00:00
ITOH 6890b34d84 feat(types)!: add guild expression & view monetization permissions (#2934)
Closes: https://github.com/discordeno/discordeno/issues/2926
2023-04-01 19:16:14 +00:00
Jonathan Ho a29e45218d feat(bench): commit benchmark benchies (#2918)
* refactor(bench): better readdir

* Update retryBenchmark.yml

* Update benchmark.yml

* Update benchmark.yml

* Update benchmark.yml

* Update benchmark.yml

* ci: comment the result

* ci: fix missing data
2023-04-01 04:53:35 +00:00
ITOH 05fc3fbeba style: format (#2925) 2023-04-01 02:46:46 +02:00
ITOH f6a9d96ab2 feat(types): add ApplicationFlags.ApplicationAutoModerationRuleCreateBadge (#2921)
Closes: https://github.com/discordeno/discordeno/issues/2920
2023-03-31 20:53:09 +00:00
ITOH f5abd83cc5 fix(bot,rest,types)!: attachment sending (#2917)
* fix(bot,rest,types)!: attachment sending

* apply code suggestions

* forgot to add that

* this should not be there i guess

* maybe spell it right

* actually revert the attachments rename

* Change how method gets passed

* more stuff

* improve function name
2023-03-31 20:50:53 +00:00
Jonathan Ho aba7de6e3b benchmark test (#2830)
* ci: test

* ci: add script

* ci: change to js

* ci: test

* ci: fix error

* ci: fix script

* chore: add benchmark

* ci: fix need input

* fix: read file with dir

* ci: change push to trigger on main only

* ci: try new method

* ci: fix "true"

* chore: fix set output

* fix: set output

* ci: increase number of try

* chore: clean up dir

* fix needs

* bench: add memory bench

* bench: import memory bench

* bench: fix v19 syntax

* bench: more fix

* bench: add filter

* bench: minor fix

* ci: read file in sync

* chore: yarn install

* chore: add db to ignore

* refactor(bench): use loader

* bench: only bench on one event

* bench: add type to db event

* chore(bench): better type

* bench: add rest simplifyUrl bench

* chore: add microtime

* refactor: add fall back

* Revert "ci: change push to trigger on main only"

This reverts commit 04df971025.

* chore: yarn install

* ci: trigger push event only on main branch

* chore(bench): use node-fetch

* refactor(bench): make it work with other function and event

* chore(bench): better name
2023-03-31 07:57:53 +00:00
ITOH 1093befcad fix(website): move to new url (#2914) 2023-03-30 18:09:02 +00:00
ITOHandJonathan Ho d757773e95 perf(rest): remove regex check from RestManager.simplifyUrl (#2910)
Co-authored-by: Jonathan Ho <heiheiho000@gmail.com>
2023-03-30 10:05:01 -05:00
ITOHandJonathan Ho 4fe621ef76 fix(utils): leaky bucket slow refill test (#2907)
* fix(utils): leaky bucket slow refill test

* fix the fix

* remove left comments

* Update packages/utils/tests/bucket.spec.ts

Co-authored-by: Jonathan Ho <heiheiho000@gmail.com>

---------

Co-authored-by: Jonathan Ho <heiheiho000@gmail.com>
2023-03-30 09:54:37 -05:00
ITOHandSkillz4Killz fdf0d53f9e refactor(rest)!: improve RestManager.createRequest (#2906)
* refactor(rest): simplify `manager.simplifyUrl`
The changes improve readability and performance by a small margin.

* refactor(rest)!: improve `RestManager.createRequest`
- AuditLog Reasons: options.body.reason => options.reason
- options.body can now be FormData

* forgot those

* suggestions

---------

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
2023-03-30 09:54:02 -05:00
Skillz4KillzandITOH 701d8b6dbb chore: remove client pkg (#2903)
* chore: remove client pkg

* yarn install

* fix: yarn install

---------

Co-authored-by: ITOH <to@itoh.at>
2023-03-30 09:48:19 -05:00
ITOH 7fae8c0315 refactor(rest): simplify manager.simplifyUrl (#2905)
* refactor(rest): simplify `manager.simplifyUrl`
The changes improve readability and performance by a small margin.

* fix tests
2023-03-29 22:35:17 +02:00
ITOH 28cbcee61d fix(client): remove 2023-03-29 19:14:20 +02:00
ITOH 69d818cf84 fix(bot): channel transformer managed 2023-03-29 19:08:19 +02:00
ITOHandSkillz4Killz bfd1936581 feat(bot,client,types): add role subscriptions (#2899)
Closes: https://github.com/discordeno/discordeno/issues/2859

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
2023-03-29 10:49:04 -05:00
ITOHandSkillz4Killz a715140df6 feat(client,rest,types): add GetAuditLog.after (#2898)
* feat(client,rest,types): add `GetAuditLog.after`

closes: https://github.com/discordeno/discordeno/issues/2860

* Apply suggestions from code review

---------

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
2023-03-29 10:46:21 -05:00
ITOH 08fb3fc5b5 feat(client,types): add FormLayout enum (#2900) 2023-03-29 10:45:15 -05:00
ITOHandSkillz4Killz 6d43ca11a7 feat(bot,types): add Channel.managed (#2897)
Closes: https://github.com/discordeno/discordeno/issues/2871

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
2023-03-29 10:41:05 -05:00
ITOH 520de0fb70 docs(types): update CreateGuildStickerOptions file size (#2889)
Previously the maximum file size has been documented as 500 KB. This has
now been updated to 512 KB.

Closes: https://github.com/discordeno/discordeno/issues/2875
2023-03-29 15:46:32 +02:00
ITOH 776cacc183 feat(client): make MessageTypes up to date (#2888)
Added all missing `MessageTypes`:
 - AUTO_MODERATION_ACTION (24)
 - ROLE_SUBSCRIPTION_PURCHASE (25)
 - INTERACTION_PREMIUM_UPSELL (26)
 - STAGE_START (27)
 - STAGE_END (28)
 - STAGE_SPEAKER (29)
 - STAGE_TOPIC (31)
 - GUILD_APPLICATION_PREMIUM_SUBSCRIPTION (32)

Closes: https://github.com/discordeno/discordeno/issues/2877
2023-03-29 15:46:32 +02:00
ITOH 9cfcc971ca feat(bot,types): add customMessage to AutoModerationActionMetadata (#2887)
* feat(bot,types): add `customMessage` to `AutoModerationActionMetadata`

Closes: https://github.com/discordeno/discordeno/issues/2881

* docs(types):  add clarification for the supported action type
2023-03-29 15:46:31 +02:00
Skillz4Killz bb57e39fed fix: update message type with new types 2023-03-29 15:46:31 +02:00