Almeida
f60d3d65fe
refactor!: move embedLength function to util package ( #11327 )
...
BREAKING CHANGE: Builders no longer exports a `embedLength` function. Import it from `@discordjs/util` instead.
Co-authored-by: Danial Raza <danialrazafb@gmail.com >
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
2025-12-09 18:40:34 +00:00
Jiralite
d90a86a048
fix(Message): Optional parameter for setting allowed mentions ( #11338 )
...
feat: allow empty allowed mentions
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2025-12-08 23:14:34 +00:00
Egologics
fa43c40d34
fix(builders): handle 0 as valid attachment ID ( #11330 )
...
* fix(builders): handle 0 as valid attachment ID
Fixes #11314
The AttachmentBuilder.getRawFile() method was using a falsy check that treated 0 as invalid. Changed to use the 'in' operator to properly check for the existence of the id property.
* Update packages/builders/__tests__/messages/fileBody.test.ts
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
* Apply suggestion from @almeidx
* fix: lint
---------
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
Co-authored-by: Almeida <github@almeidx.dev >
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2025-12-08 23:08:36 +00:00
Denis-Adrian Cristea
9005c8ae9c
refactor!: remove AttachmentBuilder and support new file body encodables ( #11278 )
...
BREAKING CHANGE: Remove AttachmentBuilder
---------
Co-authored-by: Vlad Frangu <me@vladfrangu.dev >
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
2025-12-08 10:19:43 +02:00
Jiralite
5e6bd4b3d7
build: Bump dependencies ( #11333 )
...
* build: bump dependencies
* fix: guide build
* build: amend package.json.hbs
* build: create-discord-bot
* style: formatting
* build: final change
---------
Co-authored-by: almeidx <github@almeidx.dev >
2025-12-06 22:55:07 +00:00
Rie
d59857e901
fix(builders): add proper snowflake validation ( #11290 )
...
* fix(builders): add proper snowflake validation
close #11289
* fix(builders): use snowflake validation for attachment id
* test(builders): add validation tests for snowflake attachment IDs
* fix: better regex
Co-authored-by: Almeida <github@almeidx.dev >
* test(builders): fix snowflake validation in fileBody test
* Update packages/builders/src/Assertions.ts
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
* fix: update regex
---------
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
Co-authored-by: Almeida <github@almeidx.dev >
Co-authored-by: Vlad Frangu <me@vladfrangu.dev >
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2025-11-30 15:30:04 +00:00
Denis-Adrian Cristea
68bb8af58a
feat(builders): multipart form data output support ( #11248 )
...
* feat(builders): multipart form data output support
* refactor: proper key management
* chore: add missing remarks
* chore: requested changes
* chore: rename encodables file
* chore: requested changes
* chore: requested changes
* chore: nits
Co-authored-by: Almeida <github@almeidx.dev >
* chore: requested change
* chore: requested change
---------
Co-authored-by: Almeida <github@almeidx.dev >
2025-11-19 21:59:51 +00:00
Almeida
de2b2dd330
chore: bump dependencies ( #10967 )
2025-07-13 19:39:47 +00:00
Almeida
a5bd4cfe73
feat!: use zod v4 ( #10922 )
...
* feat: zod 4
* feat: zod v3, but v4
feat: validation error class
Co-authored-by: Qjuh <76154676+Qjuh@users.noreply.github.com >
* chore: bump
---------
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
Co-authored-by: Qjuh <76154676+Qjuh@users.noreply.github.com >
2025-07-03 01:02:45 +01:00
Almeida
e094faf225
docs: add missing, fix existing ( #10842 )
...
* docs: add missing, fix existing
* refactor: new stuff
* fix: requested changes
* fix: use `@link` for `@mixes`
Co-authored-by: Qjuh <76154676+Qjuh@users.noreply.github.com >
* chore: disable bad eslint rule
---------
Co-authored-by: Qjuh <76154676+Qjuh@users.noreply.github.com >
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2025-06-02 17:35:43 +00:00
Almeida
8f375275ca
fix: message builders ( #10802 )
...
* fix: message builders
- Added `clearParse`, `clearRoles`, and `clearUsers` methods to the `AllowedMentionsBuilder`, since passing an empty array and omitting the these fields behave differently
- Strictened assertions
- Removed `AttachmentBuilder#clearId`, as it is a required field
- Added missing `MessageBuilder#setEmbeds`
- Added missing `MessageReferenceBuilder#setFailIfNotExists`
- Improve/fix documentation
- Consistency™️
* fix: updater functions return type
---------
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2025-04-25 20:52:00 +00:00
Vlad Frangu
abc5d99ce8
feat: components v2 in builders ( #10788 )
...
* feat: thumbnail component
* chore: just a temp file to track remaining components
* feat: file component
* feat: section component
* feat: text display component
* chore: bump alpha version of dtypes
* chore: simplify ComponentBuilder base type
* feat: MediaGallery
* feat: Section builder
* chore: tests for sections
* chore: forgot you
* chore: docs
* fix: missing comma
* fix: my bad
* feat: container builder
* chore: requested changes
* chore: missed u
* chore: type tests
* chore: setId/clearId
* chore: apply suggestions from code review
* chore: unify pick
* chore: some requested changes
* chore: tests and small fixes
* chore: added tests that need fixing
* fix: tests
* chore: cleanup on isle protected
* docs: remove locale
* chore: types for new message builder
* chore: fix tests
* chore: attempt 1 at message builder assertions
* chore: apply suggestions
* Update packages/builders/src/messages/Assertions.ts
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
* Update packages/builders/src/components/v2/Thumbnail.ts
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
* fix: tests
* chore: fmt
* Apply suggestions from code review
Co-authored-by: Denis-Adrian Cristea <didinele.dev@gmail.com >
* chore: fix pnpm lockfile revert
---------
Co-authored-by: Qjuh <76154676+Qjuh@users.noreply.github.com >
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
Co-authored-by: Denis-Adrian Cristea <didinele.dev@gmail.com >
2025-04-23 17:29:15 +00:00
Vlad Frangu
42ce116226
chore(deps): bump discord-api-types ( #10841 )
...
* chore(deps): bump discord-api-types
* chore: tests
* chore: tests 2
* chore: replace ImageSize type with dtypes type
2025-04-22 17:12:34 +00:00
Noel
f580de8025
chore: upgrade deps ( #10824 )
2025-04-05 13:18:56 +02:00
Denis-Adrian Cristea
09beb8a6a0
feat: message builder ( #10793 )
...
* feat: attachment builder
* feat: message builder
* chore: nits
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
* fix: nonce assertion
* chore: strip bad method
* chore: nit
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
* chore: nits
* chore: address final review
---------
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
2025-03-14 08:09:15 +00:00
Almeida
ab6a69401e
docs: remove hardcoded locale from links ( #10794 )
...
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2025-03-07 21:23:42 +00:00
Jiralite
12638cd43c
fix(embed): Allow attachment protocols for thumbnails and images ( #10795 )
...
fix(embed): allow attachment protocols for thumbnails and images
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2025-03-07 20:19:14 +00:00
Almeida
d1f56ffb2a
fix: poll builders ( #10783 )
...
* fix: poll builders
- Fixed validations
- Added missing documentation
- Removed redundant code
- Consistency™️
* fix: tests
* feat: missing answers test
2025-03-01 14:57:00 +00:00
TÆMBØ
88bfeaab22
feat: PollBuilder ( #10324 )
...
* Add PollBuilder
* Add exports
* Update typings
* Update validations
* Use correct enum validator method
* Fix assertion, formatting
* Add tests
* Fix assertion
* Add JSDoc, format
* Make requested changes
* Remove unnecessary blank import
* Add support for PollBuilder in mainlib discord.js
* Add types, fix formatting
* Correct typings & assertions for poll answer emojis
* Improve typings readability
* Add JSDoc typings for overrides
* Add types for using PollBuilder in message payload
* Add tests, allow passing Emoji instance to emoji option
* Fix formatting
* Update max poll duration
* refactor: implement builders v2 pattern
2025-02-28 10:07:27 +00:00
Almeida
2183c5eebb
fix(EmbedFieldBuilder): allow empty name and value ( #10745 )
2025-02-10 21:54:31 +00:00
Denis Cristea
8ab4124ef9
feat: implement zod-validation-error ( #10534 )
...
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2024-10-06 14:43:06 +00:00
Denis Cristea
ab32f26cbb
refactor: builders ( #10448 )
...
BREAKING CHANGE: formatters export removed (prev. deprecated)
BREAKING CHANGE: `SelectMenuBuilder` and `SelectMenuOptionBuilder` have been removed (prev. deprecated)
BREAKING CHANGE: `EmbedBuilder` no longer takes camalCase options
BREAKING CHANGE: `ActionRowBuilder` now has specialized `[add/set]X` methods as opposed to the current `[add/set]Components`
BREAKING CHANGE: Removed `equals` methods
BREAKING CHANGE: Sapphire -> zod for validation
BREAKING CHANGE: Removed the ability to pass `null`/`undefined` to clear fields, use `clearX()` instead
BREAKING CHANGE: Renamed all "slash command" symbols to instead use "chat input command"
BREAKING CHANGE: Removed `ContextMenuCommandBuilder` in favor of `MessageCommandBuilder` and `UserCommandBuilder`
BREAKING CHANGE: Removed support for passing the "string key"s of enums
BREAKING CHANGE: Removed `Button` class in favor for specialized classes depending on the style
BREAKING CHANGE: Removed nested `addX` styled-methods in favor of plural `addXs`
Co-authored-by: Vlad Frangu <me@vladfrangu.dev >
Co-authored-by: Almeida <github@almeidx.dev >
2024-10-01 19:11:56 +03:00
Jeroen Claassens
2d5531f35c
feat(builders): update to @sapphire/shapeshift v4 ( #10291 )
...
feat: update to @sapphire/shapeshift v4
2024-08-19 18:15:30 +00:00
Qjuh
a0c83a254c
refactor: make builders types great again ( #10026 )
...
* refactor: make builders types great again
* fix: subcommands only type
---------
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2024-01-22 15:02:34 +00:00
Jiralite
8073561824
docs(builders): Add some basic documentation ( #9359 )
2023-04-10 22:09:51 +02:00
Jiralite
d66d113333
docs: Use @link in @see ( #9348 )
2023-04-08 23:50:58 +02:00
Synbulat Biishev
4367ab9302
docs(EmbedBuilder#spliceFields): fix a typo ( #9159 )
...
fix(EmbedBuilder#spliceFields): fix a typo
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-05 22:42:35 +00:00
Suneet Tipirneni
3fca638a84
feat: add @discordjs/formatters ( #8889 )
...
* feat: add @discordjs/formatters
* chore: make requested changes
* chore: make requested changes
* chore: fix other places
* chore: make requested changes
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com >
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-12-02 12:55:00 +00:00
MrMythicalYT
ec37f137fd
types(Formatters): allow boolean in formatEmoji ( #8823 )
...
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-11-25 17:42:48 +00:00
Almeida
d08a57cadd
feat: add chatInputApplicationCommandMention formatter ( #8546 )
...
feat: add `chatInputApplicationCommandMention()` formatter
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-09-03 07:17:06 +00:00
iCrawl
3b7ba4062e
chore: fix leftover eslint exceptions
2022-09-01 21:26:09 +02:00
Suneet Tipirneni
edadb9fe5d
refactor: use eslint-config-neon for packages. ( #8579 )
...
Co-authored-by: Noel <buechler.noel@outlook.com >
2022-09-01 20:50:16 +02:00
Suneet Tipirneni
e42fd16369
feat(website): Show constructor information ( #8540 )
2022-08-22 09:45:53 +02:00
Suneet Tipirneni
7f415a2502
feat(website): show parameter descriptions ( #8519 )
...
Co-authored-by: Noel <buechler.noel@outlook.com >
2022-08-18 18:38:27 +02:00
Jiralite
a7deb8f898
feat: Add channel & message URL formatters ( #8371 )
2022-07-29 10:47:23 +02:00
Suneet Tipirneni
26556390a3
fix: use proper format for @link text ( #8384 )
...
fix(collection): use proper format for link text
2022-07-28 20:24:07 +02:00
Parbez
5494791313
docs: use link tags ( #8382 )
2022-07-28 19:18:42 +02:00
A. Román
5d8bd030d6
fix(Formatters): add newline in codeBlock ( #8369 )
2022-07-27 12:09:34 +02:00
Parbez
a4d1862982
refactor(builder): remove unsafe*Builders ( #8074 )
2022-07-06 20:42:51 +02:00
iCrawl
ba10637529
chore: deps
2022-07-06 10:43:06 +02:00
iCrawl
b2776c22d4
ci: api-extractor support for docs
2022-06-30 15:46:14 +02:00
Rodry
ad75be9a9c
feat: allow builders to accept rest params and arrays ( #7874 )
...
Co-authored-by: Parbez <imranbarbhuiya.fsd@gmail.com >
Co-authored-by: Khafra <42794878+KhafraDev@users.noreply.github.com >
2022-06-05 23:29:16 +02:00
Parbez
4515a1ea80
chore: bump shapeshift for faster object validation ( #7914 )
2022-05-12 12:09:50 +02:00
Suneet Tipirneni
29293d7bbb
refactor: use arrays instead of rest parameters for builders ( #7759 )
2022-04-21 18:56:10 +02:00
Ryan Munro
ec8d87f932
feat(builders): improve embed errors and predicates ( #7795 )
...
* feat(builders): improve embed errors
* fix: use imageURLPredicates
Co-authored-by: Synbulat Biishev <arziksin@gmail.com >
Co-authored-by: Synbulat Biishev <arziksin@gmail.com >
2022-04-19 15:58:47 +02:00
iCrawl
bcf7f1cfad
chore: deps
2022-04-17 11:27:36 +02:00
Jiralite
78a3afcd7f
refactor: Remove nickname parsing ( #7736 )
...
* refactor: remove nickname parsing
* types: remove nickname import
* chore: update guildmember
* refactor: keep parsing
* refactor: string from user instead
2022-04-12 17:15:38 +02:00
Parbez
3c0bbac82f
refactor: replace zod with shapeshift ( #7547 )
2022-04-09 11:37:16 +02:00
Suneet Tipirneni
72577c4bfd
feat: add API v10 support ( #7477 )
...
* feat: add API v10 support
* refactor: update deps
* chore: rebase fixes
2022-03-15 21:37:07 +01:00
Suneet Tipirneni
549716e4fc
refactor: Don't return builders from API data ( #7584 )
...
* refactor: don't return builders from API data
* Update packages/discord.js/src/structures/ActionRow.js
Co-authored-by: Antonio Román <kyradiscord@gmail.com >
* fix: circular dependency
* fix: circular dependency pt.2
* chore: make requested changes
* chore: bump dapi-types
* chore: convert text input
* chore: convert text input
* feat: handle cases of unknown component types better
* refactor: refactor modal to builder
* feat: add #from for easy builder conversions
* refactor: make requested changes
* chore: make requested changes
* style: fix linting error
Co-authored-by: Antonio Román <kyradiscord@gmail.com >
Co-authored-by: almeidx <almeidx@pm.me >
2022-03-12 19:39:23 +01:00