Commit Graph

67 Commits

Author SHA1 Message Date
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
Awesome Stickz
b93d1f9294 feat(utils): support animated webps in formatImageUrl() (#4725) 2026-02-01 09:47:40 +01:00
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
Louis Johnson
288904fef9 feat(user)!: add more getters for user transformer (#4661)
* feat: enhance user tag getter

* feat(user): add `0000` condition and better jsdoc for tag

* chore(user): use this keyword instead of destructuring assignment

* fix(user): correct isLegacy logic

* feat(images): add ImageOptions

* refactor(images)!: split avatarUrl into more specific functions and add displayAvatarUrl

* feat(user)!: add more useful getters for user

* fix: update tests for images

* chore: using n suffix for bigint instead of converting to bigint

Co-authored-by: Fleny <Fleny113@outlook.com>

* fix: update dependencies for avatarUrl

Co-authored-by: Fleny <Fleny113@outlook.com>

* fix(user): correct the avatarUrl second parameter to avatar hash

Co-authored-by: Fleny <Fleny113@outlook.com>

* chore: undo unnecessary // from auto comment hotkey

Co-authored-by: Fleny <Fleny113@outlook.com>

---------

Co-authored-by: Fleny <Fleny113@outlook.com>
2025-12-31 17:46:11 +01:00
Fleny
3d2ff13e4d feat(oauth2): PKCE support (#4425)
* feat(utils): Add base64url encoding

RFC 7636 (Proof Key for Code Exchange by OAuth Public Clients) requires to encode the data with base64url encoding.

We don't support decoding as we don't need it for PKCE.

* feat(oauth2): Add PKCE support

* make PKCE code verifier optional, fixup comments

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2025-10-27 19:43:55 +01:00
Fleny
269a5bf5f5 chore: Bump version to v22-beta.1 (#4377)
Co-authored-by: Link <link20050703@gmail.com>
2025-08-22 10:55:03 -07:00
Fleny
8996169b9d build(deps-dev): Update typescript & @types/node (#4325)
Co-authored-by: Link <link20050703@gmail.com>
2025-08-22 09:39:52 -07:00
Fleny
702b252396 fix(types)!: Fix discordeno/interactions.ts (#4360)
Co-authored-by: Link <link20050703@gmail.com>
2025-08-17 20:20:23 -07:00
Fleny
6679f2c0e4 chore(bot,utils): Move snowflake utils to @discordeno/utils (#4345) 2025-08-14 12:08:19 -07:00
Fleny
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
Fleny
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
Fleny
90f0507af0 feat(utils): animated webp emojis (#4199) 2025-06-01 08:28:27 +02:00
Max Zargov
dff9df5a59 fix: Unexpected TypeError in GatewayManager.requestMembers (#4197)
* fix: Unexpected TypeError in `GatewayManager.requestMembers` debug message

closes #4196

* refactor: prefer JSON.stringify replacer parameter when serializing

* Order functions in utils.ts
2025-05-24 08:19:51 +02:00
Awesome Stickz
8eeda31769 refactor: set default format to webp instead of jpg in formatImageUrl() (#4193)
* refactor: set default format to webp instead of jpg in formatImageUrl

* fix: tests
2025-05-12 21:43:50 +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
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
Dominik Koch
a0fec368fa fix(default-timestamp): add fallback to current date (#4081)
Uses a fallback value if nothing is passed because the timestamp property is marked as optional. This prevents errors when using the function without arguments.
2025-01-01 09:26:09 -08:00
Dominik Koch
21e81c087b feat(utils): add EmbedsBuilder.addFields() (#4077)
* feat(embed-builder): add addFields function

* feat(embed-builder): add tests for addField and addFields function

* Update packages/utils/src/builders/embeds.ts

Co-authored-by: Fleny <Fleny113@outlook.com>

* feat(embed-builder): add undefined check to addFields

* fix: make inline field optional in push

* revert: EmbedBuilder tsdoc rename

* Update packages/utils/src/builders/embeds.ts

Co-authored-by: Fleny <Fleny113@outlook.com>

* fix(embed-builder): expect inline to be undefined

* revert: outdated changes

* fix(embed-builder): fix embed unit test

* feat(embed-builder): add stickz jsdoc suggestions

---------

Co-authored-by: Fleny <Fleny113@outlook.com>
2024-12-30 16:06:51 -08:00
Dominik Koch
ceec87f3c7 fix: EmbedsBuilder missing s typo (#4078) 2024-12-30 19:05:13 +01:00
Fleny
afb9e3a453 chore: Bump to v21 (#4062) 2024-12-28 21:51:59 +01:00
Awesome Stickz
3fd075a80f feat(utils): add an export for DISCORDENO_VERSION (#4060) 2024-12-29 00:43:34 +05:30
Fleny
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
Fleny
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
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
b1bfe94b7d Use atob instead of node:buffer for getBotIdFromToken (#3893) 2024-09-02 15:12:09 +02:00
Fleny
919474069d chore: Migrate ESLint and prettier to Biome (#3634)
* Migrate eslint and prettier to biomejs

This does NOT include examples/bigbot as it has its own formatter

* Update to biome 1.8.0

* Readd dotenv dev dependency to rest

During a merge it got lost
2024-07-13 13:05:02 -05:00
Fleny
3daf71a507 Use bigint for permission flags (#3726)
Also convert the enum to an object as typescript doesn't like bigint in an enum
2024-07-09 09:23:46 -05:00
Fleny
a1af1ff910 Adds premium interaction (#3680)
Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
2024-07-06 17:04:05 -05:00
Fleny
e12142daf6 Use %20 instead of ' ' for joining scopes (#3709) 2024-07-06 15:56:48 -05:00
Fleny
5290078044 fix(bot,types,utils)!: change avatar decoration url link (#3621)
* Change the avatarDecorationUrl link

* Add User#avatarDecorationData & Member#avatarDecorationData

* Fix type error

* Fix format error

---------

Co-authored-by: Awesome Stickz <awesome@stickz.dev>
2024-05-26 19:14:11 +00:00
Fleny
c570a881cf fix(utils): Use media.discordapp.net for gif stickers (#3625)
* Use media.discordapp.net for gif stickers

And add Gif to StickerFromatTypes as it was missing

* remove return undefined, use return
2024-05-26 18:39:42 +00:00
Fleny
a361a53d57 Add poll transformer export (#3550)
& fix a typedoc warning for the oauth2 func
2024-05-06 07:40:08 +00:00
Fleny
687c29dd7a feat(bot,rest,types,utils): Support User-Installed apps, Interaction contexts and install types (#3502)
* Support integrationTypesConfig in Application

* Add support for commands with integrationTypes and contexts

And deprecate the dmPermission boolean, it is being replaced by contexts

* Update contexts comment to make it more clear

* User-Installed apps

* Add integrationType oauth parameter

fixes #3517

* Add null to contexts

closes #3523

* Mark oauth2 install params as nullable

closes #3525

* Fix typescript errors

* Add preview notices

---------

Co-authored-by: Matt Hatcher <3768988+MatthewSH@users.noreply.github.com>
2024-04-29 15:36:29 +00:00
Fleny
efe56fbe06 feat(bot, rest, gateway, utils): Add support for custom loggers (#3383)
* Add support for custom loggers

* update docs for loggerFactory

* Use union for names in the bot logger factory

* Fix formaating errors
2024-03-17 11:22:45 +00:00
Fleny
f0ac958903 chore(website): Cleanup docusaurus setup (#3355)
* Update docusaurus typescript setup for v3

And fix lint-staged and eslint

* Enable automatic JSX runtime

* Remove babel config and dependencies

* update yarn.lock

* add typecheck to site workflow

* update typedoc config

* downgrade docusaurus packages

* Update site.yml

* Type context and options in webpack-docusaurus-plugin.ts

---------

Co-authored-by: Matt Hatcher <3768988+MatthewSH@users.noreply.github.com>
2024-02-09 20:34:59 +00:00
dependabot[bot]
a2d6ae836e build(deps-dev): bump eslint-config-standard-with-typescript from 42.0.0 to 43.0.0 (#3318)
* build(deps-dev): bump eslint-config-standard-with-typescript

Bumps [eslint-config-standard-with-typescript](https://github.com/standard/eslint-config-standard-with-typescript) from 42.0.0 to 43.0.0.
- [Release notes](https://github.com/standard/eslint-config-standard-with-typescript/releases)
- [Changelog](https://github.com/standard/eslint-config-standard-with-typescript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/standard/eslint-config-standard-with-typescript/compare/v42.0.0...v43.0.0)

---
updated-dependencies:
- dependency-name: eslint-config-standard-with-typescript
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix lint error

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Fleny <fleny113@outlook.com>
2023-12-18 13:33:56 +00:00
dependabot[bot]
e31c4d0a8a build(deps-dev): bump eslint-config-standard-with-typescript from 40.0.0 to 42.0.0 (#3297)
* build(deps-dev): bump eslint-config-standard-with-typescript

Bumps [eslint-config-standard-with-typescript](https://github.com/standard/eslint-config-standard-with-typescript) from 40.0.0 to 42.0.0.
- [Release notes](https://github.com/standard/eslint-config-standard-with-typescript/releases)
- [Changelog](https://github.com/standard/eslint-config-standard-with-typescript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/standard/eslint-config-standard-with-typescript/compare/v40.0.0...v42.0.0)

---
updated-dependencies:
- dependency-name: eslint-config-standard-with-typescript
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Disable @typescript-eslint/no-unsafe-argument for the logger

* Fix eslint errors

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Fleny <Fleny113@outlook.com>
2023-12-11 22:04:40 +00:00
Matthew Hatcher
e47242a9e0 feat: api docs catchup part 1 (#3257)
* feat: add voice message support

Closes #3009

* fix: pre-commit hook EACCESS npx issue

* feat: add channel to interaction

Closes #2979

* feat: add role flags

Closes #3070

* feat: adds creator monetization, message flagged, and member timeout audit log event

Closes #3075

* feat: add attachment flags

Closes #3071

* feat: add avatar decorations

Closes #3081

* feat: update description for guild and channel permissions

Closes #3106

* feat: rename Nitro sticker packs to just sticker packs

Closes #3107

* feat: add integration type to audit log entry

Closes #3108

* feat: make position optional on modify guild channel position

Closes #3086

* feat: add guild media channel type and associated flag

Closes #3093

* feat: update remark for activities.write scope

Closes  #3213

* feat: add support for super reactions

Closes #3113

* fix: attempt to fix benchmarks

* fix: benchmark attempt #2

---------

Co-authored-by: Fleny <Fleny113@outlook.com>
2023-12-04 21:54:39 +00:00
Fleny
c56bb063cb Add missing image url function (#3259)
Exceptions:
- Achievement Icon and Store Page Asset - Game SDK
- Guild Member Banner - Doesn't have documented the banner asset hash
- User Avatar Decoration - Already included in #3257
2023-12-04 19:12:34 +00:00
Matthew Hatcher
a62f06c3e8 chore(deps)!: upgrade all deps to new major versions (#3195)
* chore(deps): upgrade deps to latest in range

* feat: upgrade node engine minimum

Closes #3173

* fix: typing errors after dep upgrade

* chore(deps): upgrade benchmark typescript version

* feat: upgrade eslint, lint staged, and es version

* fix: lint-staged failures

* style: formatting

* chore(deps): major version upgrades

* chore(deps): upgrade yarn to 4.0

* fix: lock typescript to 5.2.2 until ts-node/mocha fix

bug: https://github.com/mochajs/mocha/issues/5031

* chore: remove old Deno file

Went through history and can't find any reference to this after Deno rewrite

* chore(deps): more dep updates

* feat: typedoc config upgrade

* fix: temporarily reset docusaurus to main

* chore(deps): minor range upgrades

* chore(deps)!: docusaurus major upgrade

* revert: go back to original 2.x docusaurus
2023-12-04 13:57:15 +00:00
Fleny
eb6dd978ed fix LeakyBucket to handle refills, queue process (#3159) 2023-10-28 12:51:06 +00:00
Matthew Hatcher
9f5e3ab9ff feat(utils): add embed builder (#3145)
* feat: add embed builder

* feat: account for if a parsed color is NaN

* feat: add code doc

* feat: add example to JSDoc

* feat: add ability to override the current embed index

* style: remove extra whitespace

* feat: add validate method logic

* feat: finish remaining todo

* fix: account for length value in the setCurrentEmbed call

* feat: removing custom error and throw generic

* feat: add initial tests

* feat: add builder object with embeds function

* feat: changing to a method instead of object

* feat: add more tests

* style: lint
2023-10-06 03:54:11 +00:00
Skillz4Killz
6e8f15557c Pr/livelove1987/3138 (#3143)
* feat: Adding invite helper use transformer

* fix: Fix type error

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

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

* fixes

* fix: Fixed invite transformer

* Remove < > in comment

* Fix: remove useless const

* fix invite

* fix: ts error

---------

Co-authored-by: livelove1987 <mateusz.luboinski@gmail.com>
Co-authored-by: livelove1987 <82705913+livelove1987@users.noreply.github.com>
2023-09-30 14:58:14 -05:00
Sam Teeuwisse
1355d54035 Fix commandOptionsParser and move to bot package (#3135) 2023-09-20 14:04:41 +00:00
Sam Teeuwisse
940ef8dc39 fix(utils): Add missing export for interactions.ts (#3123) 2023-09-19 16:25:36 +00:00
Fleny
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
Fleny
6bcb529f9a Bug(utils) Fix bucket refill after the first time (#3097)
* bug(bucket) Fix LeakyBucket refill

* Fix formating
2023-08-08 16:37:41 +00:00
Awesome Stickz
f9a5fc1afe feat: add support for new username system (#3035)
* feat: add support for new username system

* fix: default avatar calculation in avatarUrl(), also remove support for old system

* fix: use description from docs for user.globalName

* fix: typings

* fix: avatarUrl() to support both old and new username system
2023-06-13 15:39:06 +00:00
Jonathan Ho
dda4d75de1 fix(rest,utils): reverse "refactor: use node-fetch" 6a6a334 (#2995) 2023-04-13 22:05:18 +00:00