mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 08:03:30 +01:00
1.1 MiB
1.1 MiB
Changelog
All notable changes to this project will be documented in this file.
13.17.1 - (2023-11-12)
Bug Fixes
- ClientPresence: Correctly set activity state on CUSTOM activity type (#9954) (f475336)
13.17.0 - (2023-11-12)
Bug Fixes
- Export
AttachmentFlagsandRoleFlags(#9924) (efc1536) - Action: Conditionally add recipient (#9925) (3d5d957)
- Action: Do not set undefined values (#9755) (65bbed8)
- types: Fixed CachedManager constructor arguments in type (#9761) (142db0e)
- readme: Test badge svg (#9919) (610bdaa)
- Role: Calculate position correctly when rawPositions are equal (#9872) (56b481b)
- ChannelUpdate: Check against unknown channels (#9698) (630b9d5)
Documentation
- Fix
AutoModerationRuleTriggerTypeslink (#9530) (24ac27d)
Features
- Client: Add guildAvailable event (#9692) (67dd30a)
- Attachment: Add flags (#9686) (2ac8be0)
- Role: Add flags (#9694) (a222e53)
- StageInstanceManager: Add
guildScheduledEventtocreate()(#9024) (5f6a82d) - Support
default_thread_rate_limit_per_userin channel creation (#9339) (759c0b0) - User avatar decorations (#9710) (cb11c56)
- Support new username system (#9634) (f9e9843)
- presence: Feature parity in image resolve (#9638) (85338ef)
- Safety alerts channel and mention raid protection (#9073) (5057f04)
- GuildAuditLogsEntry: Add missing channel property to extra (#9527) (c5a42ed)
Performance
- Linear speed position getters (#9528) (90ca028)
Typings
- BaseButtonComponentData: Narrow component type (#9735) (c08230e)
13.16.0 - (2023-05-06)
Bug Fixes
Features
- Update Discord developer documentation links and add new flags (#9473) (d867936)
- Voice messages (#9444) (3386bab)
- Add
ACTIVE_DEVELOPERuser flag (#9428) (420f379) - roleTagData: V13 add guildConnections (#9391) (7116151)
- V13
VIEW_CREATOR_MONETIZATION_ANALYTICSandUSE_SOUNDBOARDpermissions (#9124) (28a5c7b) - StageChannel: V13 support messages (#9145) (7cf9224)
- AutoModeration: V13 support
customMessage(#9173) (add14ac)
13.15.1 - (2023-04-07)
Bug Fixes
- Message: Fix permissions check in locked threads (#9338) (a8d5325)
- ClientUser: Fix modifying self (#9318) (09ca243)
- Typo in
src/util/MessageFlags.js(#9312) (8f12054) - AutocompleteInteraction: Fix responding (#9315) (f79a9b5)
13.15.0 - (2023-04-02)
Bug Fixes
- ThreadChannel: Fetch starter message properly (#9217) (af6a0e5)
- Actions: Inject built data by using a symbol (#9204) (df68520)
Features
- Backport
chatInputApplicationCommandMention(#9245) (51c3bf1) - Add support for gif stickers (v13) (#9158) (4bc25c4)
- V13 support
SUPPRESS_NOTIFICATIONSflag (#9184) (120270e)
13.13.1 - (2023-02-21)
Bug Fixes
- Constants: Enum creation error (#9155) (224f21c)
13.13.0 - (2023-02-21)
Bug Fixes
- Minor forums cleanup (#9033) (eed293f)
- InteractionResponses: Spell
messagescorrectly (#9080) (123d0f1) - ThreadChannel:
reasonas second parameter (#9023) (a941cb6) - Import errors correctly (#9030) (6457519)
- websocketshard: Backport zombie connection fix (#9003) (56e6718)
- Util: Flatten ignoring certain fields (v13) (#8936) (4ec3355)
- Backport allow deletion of ephemeral messages to v13 (#8811) (98846cf)
- Activity: Fix equals() not checking for differing emoji (v13) (#8842) (eecc50b)
- escapeMarkdown: Fix double escaping (v13) (#8799) (caf6f66)
- Fixed TS 4.8 compatibility (#8601) (e6ee7d8)
Documentation
- ThreadEditOptions: Move info tag back to
invitable(#9021) (cf3c7a7) - Add missing
@extends(#9028) (1779e1b) - Update UserContextMenu documentation v13 (#8721) (ea117bf)
- Update misleading
Client#guildMemberAvailableevent description (v13) (#8627) (fcd52d7)
Features
- GuildMemberManager: Add
addRoleandremoveRolemethods (#9108) (fd494a3) - WebSocketShard: V13 add resume url (#9078) (0188e36)
- V13
guildAuditLogEntryCreateevent (#9092) (84d34dc) - Constants: Add auto moderation events to WSEvents (#9102) (61fa6f4)
- Role subscriptions (#9040) (0afa405)
- GuildChannelManager: Add
addFollower(#9050) (86329ad) - Guild: Add
INVITES_DISABLEDfeature support (#9051) (69d71e9) - ClientApplication: Add role connections (#9072) (a7dc40f)
- Webhook: Add
channelgetter (#9074) (32cdaff) - GuildMember: Add
flags(#9098) (d69529e) applicationCommandPermissionsUpdateevent (#9121) (c2968b5)- Backport automod (#8886) (4287983)
- GuildAuditLogs: Support
after(#9012) (f0d4264) - Backport guild forum support to v13 (#8651) (546ac43)
- Add
Message#bulkDeletable(v13) (#8761) (ca662b4) - InteractionResponses: Add message parameter (v13) (#8838) (0e0851a)
- Util: Backport
escapeMarkdownPRs to v13 (#8703) (8a6588a) - GuildBanManager: Add
deleteMessageSeconds(#8575) (ca68fc3)
Refactor
- Move
meand addfetchMe()(#9029) (b01c81d)
Typings
- ThreadEditOptions: Add
appliedTags(#9022) (6854df4) - widget: Add missing
name(#9031) (35f6dad) - Swap message reaction and emoji identifier types (#8970) (6490580)
- GuildChannelManager: Correct fetch return type (v13) (#8551) (f4e8133)
13.10.3 - (2022-08-22)
Documentation
- Fix broken discord support link (#8485) (11d6949)
Typings
- Disallow some channel types from webhook creation (#8535) (10b12cc)
- ModalMessageModalSubmitInteraction: ChannelId is not nullable (v13) (#8505) (526ea74)
13.10.2 - (2022-08-10)
Typings
- Message: Correct
bulkDeletereturn type (v13) (#8469) (03c59e3)
13.10.1 - (2022-08-10)
Bug Fixes
- ThreadChannel: Handle possibly
nullparent (v13) (#8467) (2a46d9f)
13.10.0 - (2022-08-10)
Features
- Guild: Add
max_video_channel_users(v13) (#8424) (ae43bca)
13.9.2 - (2022-07-29)
Bug Fixes
- MessageMentions:
ignoreRepliedUseroption inhas()(v13) (#8365) (d0a4199) - GuildChannelManager: Allow unsetting rtcRegion (v13) (#8362) (9612507)
- ThreadChannel: Omit webhook fetching (v13) (#8352) (4f7c1e3)
13.9.1 - (2022-07-23)
Bug Fixes
- ApplicationCommandManager: Allow passing 0n to defaultMemberPermissions (v13) (#8312) (4cf0555)
Refactor
- embed: Deprecate addField (#8318) (be35db2)
- Presence: Remove redundant date parsing (v13) (#8341) (e95caa7)
13.9.0 - (2022-07-17)
Bug Fixes
- PermissionOverwriteManager: Mutates user (#8282) (4d86cf4)
- GuildChannelManager: Access
resolveIdcorrectly (v13) (#8297) (beb3d8e) - GuildChannelManager: Edit lockPermissions (#8267) (8fe166d)
- applicationcommandmanager: Explicitly allow passing builders to methods (v13) (#8229) (f457cdd)
- Pass in the expected query object type for application commands (#8189) (f704b26)
- Use non-global flag whilst resolving regular expressions (#8178) (4063b90)
- GuildStickerManager.fetchUser: Changed guildId to guild.id (#8176) (0e0f784)
- guildmemberremove: Remove member's presence for v13 (#8182) (e8d72c7)
- WebSocketShard: Backport error handler preservation on connections (#8164) (c198e89)
Documentation
- Add new HTTP Error Codes
50068(v13) (#8273) (00a7057) - Add
MessageActivityType(v13) (#8257) (9cc336c) - MessageInteraction: Update
commandNamedescription (v13) (#8220) (feb8e30) - constants: Document missing constants (#8168) (4ae08ad)
Features
- ApplicationCommand: Add
min_lengthandmax_lengthfor string option (v13) (#8217) (a93f4b1) - interaction: Add
appPermissions(v13) (#8195) (222fc9c) - Partially backport perms v2 for v13 (#8162) (125696f)
Typings
- GuildMemberManager: Non-void return of
edit()(v13) (#8187) (631abee) - Add missing shard types (v13) (#8192) (079973f)
13.8.1 - (2022-06-23)
Bug Fixes
- VoiceChannel: NSFW property (v13) (#8161) (c61fc80)
- ModalSubmitInteraction: Add
isFromMessage()missing method (#8092) (0ab2227) - Destroy options during cleanup (#8082) (afb18b9)
- AuditLog: Default changes to empty array (#8076) (3095f35)
Documentation
TextBasedChannel->TextBasedChannelstypos (v13) (#8155) (65444f5)
Refactor
- Deprecate
$prefix fromws.propertieskeys (#8095) (3638b40)
Typings
- Shard#reconnecting: Backport to v13 - Fix event name (#8126) (70450f6)
- AutocompleteOption: Backport fix and improve types (#8078) (613fd43)
- GuildChannel: Fix type of
.isText()method (#8061) (0d0190a)
13.8.0 - (2022-06-05)
Bug Fixes
- guildchannelmanager: Wrong parameter in _sortedChannels call (#8011) (876816a)
- websocketshard: Deal with zombie connection caused by 4009 (#7581) (114bcc0)
- Video quality mode data property (#7946) (76df9fd)
- ApplicationCommandOptionType: Add attachment to jsdoc (#7952) (a51420f)
Features
- Backport text-in-voice support to v13 (#7999) (ddfe15b)
13.7.0 - (2022-05-13)
Bug Fixes
- MessageEmbed: Fix a typo (#7906) (ea28638)
- GuildEditData: Some fields can be null for v13 (#7633) (816936e)
- Apply v14 fix (#7756) (ab6c2ba)
- GuildChannelManager:
deletemethod accessing wrong id (#7771) (c9e4562) - GuildScheduledEvent: Handle missing
imagefor v13 (#7627) (dfea9c2) - messagementions: Fix
hasmethod for v13 (#7591) (7a52785) - Check if member has admininistrator on
moderatable(v13) (#7578) (13dd82d) - ThreadChannel: Require
sendableforunarchivable(#7555) (49397c0) - Backport
MessageReaction#mebeing incorrectlyfalse(#7553) (5f621c1) - typings: SweepStageInstances typo (#7521) (f096069)
- MessagePayload: V13 don't set reply flags to target flags (#7515) (30baff7)
- Shard: V13 EventEmitter listener warning (#7479) (77b8e01)
- MessageEmbed: Set footer to undefined (#7358) (bc5ddc3)
Documentation
- shardingmanager: Fix type of
execArgvoption (v13) (#7863) (43a7870) - Fix and improve localization docs (v13 backport) (#7807) (6dcf0bd)
- ApplicationCommand: Fix ApplicationCommandOptionChoice (#7798) (1040ce0)
- Backport version 13 fixes (#7552) (69ba067)
Features
- Backport (#7776) (5165b18)
- Backport (#7787) (3eb45e3)
- Backport (#7786) (ab324ea)
- Add support for localized slash commands (v13 backport) (#7766) (022e138)
- App authorization links and tags for v13 (#7731) (9e4a900)
- Backport (#7777) (6c56132)
- Backport (#7778) (ff49b82)
- Backport (#7779) (ae7f991)
- Backport (#7783) (cedc333)
- VoiceChannel: Support
video_quality_mode(v13) (#7785) (6daee1b) - StageInstance: Add support for associated guild event (#7713) (68498a8)
- modals: Modals, input text components and modal submits, v13 style (#7431) (e1cdcfa)
- Backport
Interaction#isRepliable(#7563) (5e8162a) - Add methods to managers for v13 (#7611) (9f09702)
- Add
premiumSubscriptionCounttoInviteGuild(#7629) (8e7d15e) - scheduledevents: Event cover images for v13 (#7613) (a7535a2)
- Backport
MessageMentionschannel type fixes (#7562) (93cdb2f) - Backport cache types resolving to
never(#7561) (611d3a7) - Backport sending message flags (#7560) (29d42ed)
- ThreadChannel: Backport creation timestamp (#7559) (1d97dcf)
- Add custom image support to version 13 (#7557) (679b87c)
- Backport
reasononpinandunpin(#7556) (b231bec) - GuildPreview: Add stickers to version 13 (#7554) (215dfe0)
- Backport
sweepStickersmethod (#7558) (ee1698d) - scheduledevents: Add image option (v13) (#7549) (2fcf8af)
- thread: V13 add
newlyCreatedtothreadCreateevent (#7481) (2b3db73) - commands: Attachment options (#7441) (5bcca8b)
Refactor
Typings
- Fix ModalSubmitInteraction (#7768) (1d09ad4)
- threadchannel: Fix autoArchiveDuration types (#7817) (7afcd95)
- InteractionCollector: Fix guild and channel types (#7624) (7814074)
- V13 channel create overloads fix (#7480) (0b54089)
13.6.0 - (2022-01-13)
Documentation
- interaction: Add locale list link (#7261) (1f4e633)
Features
- Add Locales to Interactions (#7131) (233084a)
13.5.1 - (2022-01-07)
Bug Fixes
- sweepers: Provide default for object param (#7182) (2dabd82)
- GuildMemberManager: Nick endpoint (#7151) (d0c3961)
- Permissions: ToArray shouldn't check admin (#7144) (fc4292e)
- Remove deprecation warning on
Message#cleanContent(#7143) (7e5f16b)
Documentation
- Sweepers: Fix typo (#7165) (780b7ed)
Features
- GuildMember: Add method to check timeout (#7146) (baacd6b)
- ClientOptions: WaitGuildTimeout amount client option (#6576) (2bfc638)
Refactor
- MessageEmbed: Deprecate strings for
setAuthor()(completely) andsetFooter()(#7153) (3496516) - Import timers,
process, andBufferfromnode:(#7157) (3c62bd2)
13.4.0 - (2021-12-24)
Bug Fixes
- BaseMessageComponent: Don't create new class instances (#7140) (e6f41b5)
- Make the followUp function error more clear (#7129) (b763dab)
- StickerPack: Nullify
bannerId(#7119) (6bb03f2) - Webhook typeguards should use string comparisons (#7127) (645b3f8)
- Message: Remove usage of
.deleted(#7109) (a0fe0ac) - GuildAuditLog: Remove
Promises in constructor (#7089) (9cf44d1) - ShardingManager: Fix respawnAll not passing delay correctly (#7084) (de61fe4)
- StoreChannel: Mark as deprecated (#7072) (5ec542d)
- InteractionCollector: Handle thread (and parent) deletion (#7070) (b5cd288)
- ReactionCollector: Check for channel.threads (#7069) (3846f0d)
- GuildChannel: Default to
this.rawPositioninclone()(#7057) (5fcda73) - Interaction channel type should be
GuildTextBasedChannelswhen in guild (#6998) (da86bd4) - Util: Fix sorting for GuildChannels (#7002) (c07207f)
- MessageManager: Do not use
client.emojis(#7039) (fd63139) - ActionsManager: Revert to manual requires (#7034) (0193efa)
- MessagePayload: Prevent spread of
undefined(#7029) (fabd343) - MessageManager: Allow a string for
edit()(#7033) (54f937d) - Avoid sending bot auth on token endpoints (#7022) (7efeff4)
- Sharding: Properly handle errors in fetchClientValues (#6990) (c0ba2d4)
- VoiceState: Set streaming to false when the stream ended (#6992) (fdb09cb)
- MessageReaction: Cache myself when
MessageReaction#meistrue. (#6956) (b001e19)
Documentation
- Deprecate
.deletedgetters (#7107) (d43f684) - Sticker: Fix typo (#7085) (ee91f5a)
- Constants: Document missing errors (#7086) (6e57b65)
- Constants: Adjust
GUILD_STOREwarning placement (#7083) (23513d1) - StoreChannel: Add deprecation warnings (#7080) (fdba146)
- GuildStickerManager: Fix create() example (#7060) (6f58e81)
- Invite: Add info blocks for missing props (#7014) (b183a8e)
- MessageReference: Fix static link (#7041) (85e6812)
- Constants: Fix typo "announcement" (#7016) (a1a8ca4)
- README: Add installation instruction on @discordjs/voice (#6964) (3c857a6)
- Guild: Fix setOwner() example (#6929) (dc64541)
Features
- Add support for GuildScheduledEvent (#6493) (1316fd4)
- GuildMember: Add timeouts (#7104) (aa7c1b2)
- Export Sweepers (#7117) (b9b60a3)
- Add API error code 50109 (#7112) (55960cc)
- Client: Add global sweepers (#6825) (d1ef2f5)
- Add API error code 20029 (#7078) (f410536)
- ApplicationCommand: Add setX methods for easier editing (#7063) (7f980e3)
- Add API error code 50055 (#7068) (f028aea)
- SnowflakeUtil: Add
timestampFrom(#7058) (8b200c0) - Guild: Add premiumProgressbarEnabled (#6887) (552d89f)
- Add
UserContextMenuInteractionandMessageContextMenuInteraction(#7003) (4fe063f) - Shard: Add eval context (#7011) (77aff08)
- ThreadChannel: Add
ThreadChannel#viewable(#6975) (db09d79) - ThreadManager: Add slowmode option on thread creation (#6989) (493e4f9)
- MessageAttachment: Description (alt text) support (#6871) (5e0a7d5)
- ApplicationCommand: Add support for min and max values (#6855) (c30a818)
- SystemChannelFlags: Add new flag (#6870) (49e3ce2)
- UserFlags: Add BOT_HTTP_INTERACTIONS (#6733) (f43140a)
- Add new activity flags (#6699) (47d74eb)
- ApplicationFlags: Add message content intent flags (#6888) (e94073a)
Refactor
- UserManager: Move methods to the manager (#7087) (2ed02f7)
- RoleManager: Move some methods over from Role (#7096) (1e00fc2)
- Guild: Remove duplicate methods (#7100) (717e0e9)
- Util: Replace
Util.delayForwithtp.setTimeout(#7082) (25b8491) - Make
Structure#deleteda getter to a WeakSet (#7074) (b093750) - SnowflakeUtil: Clean up utils and improve perf (#7036) (e59fac3)
- MessageEmbed: Utilise an object approach for
.setAuthor()(#6966) (73854ee) - Deprecate application command events (#6937) (28688e2)
Typings
- CategoryChannel: Fix createChannel return type (#7138) (1626dde)
- CategoryChannel:
createChannelshould default to a text channel (#7132) (a0a5b0e) - Make channel types a lot stricter (#7120) (7b65a04)
- Forward cache types to collector filters (#7126) (77489b9)
- Fix possibly
nullmessage properties (#7111) (bc6a6c5) - Use mapped enums instead of overloads (#7088) (49f9a18)
- MessageComponentInteraction: Ensure
componentis notnull(#7099) (2ce244b) - GuildAuditLog: Strengthen types (#7090) (5a5c045)
- Message:
guildshould be non-null when message is in guild (#6933) (1230bee) - Improve audit logs' typings (#6647) (b6b4570)
- Interaction: Narrow
memberPermissions(#7054) (01f8d1b) - ApplicationCommandManager: Deprecate old
*Datatype usages and allow camel cased dapi types to be used (#6959) (2c91c48) - WebhookMessageOptions: Disallow stickers (#7012) (099536e)
- Remove unneeded collector types (#7008) (c1f2fe2)
- Make event emitters use mapped event types (#7019) (48555cb)
- ApplicationSubcommandData: Allow
autocompleteto betrue(#6981) (ecc61f3) - Fix interaction typeguards (#6976) (06cd16f)
- Strengthen autocomplete option types (#6950) (7630158)
- Fix cache type fallback types (#6961) (9f240ea)
- Unify ApplicationCommandManager#create overloads (#6970) (8e881d2)
- Events: Rest events can be emitted on BaseClient (#6936) (c297829)
13.3.1 - (2021-11-01)
Bug Fixes
- Assert channel types in message actions (#6919) (9bd3689)
- MessageEmbed: Only compare image urls in #equals (#6926) (95d2a4d)
- Correctly access guild IDs inside managers (#6927) (2d9ffb8)
Documentation
- README: Use correct capitalization of npm (#6930) (bb245b7)
Typings
- Improve toJSON methods for message components & embeds (#6925) (204aee7)
13.3.0 - (2021-10-29)
Bug Fixes
- Handle message bulk delete and thread delete in collectors (#6902) (d6685b1)
- ApplicationCommandManager: Update guild command cache on c/u/d (#6841) (f169c8f)
- TextBasedChannel: Return the cached message instead of clone it (#6877) (ceaf738)
- MessageComponentInteraction: Component getter is not null anymore (#6835) (7621e9d)
PartialGuildMember#idis not null (#6840) (4dff279)- Webhook: Resolve source guild only if cached (#6834) (d193d04)
- AllowedImageSizes: Add new image sizes (#6844) (ef01b84)
- MessageReaction: Prevent event double fire from uncached messages (#6818) (267a4b3)
- Guild: Guild.available is never set on new joins (#6769) (29667c9)
- Types: Export more types (#6808) (b474677)
- GuildBanManager: Send reason in the headers instead of json body (#6800) (bfb89de)
- User: Don't generate the banner URL when not cached (#6783) (0d599a1)
- GuildMember: More explicit partial check (#6760) (b1656bf)
- Role: Check for presence of icon and unicode_emoji before patching (#6780) (e31c5ca)
Documentation
- Constants: Document missing autocomplete interaction constants (#6916) (aa4d055)
- InteractionCollector: Add info block about being prone to always running (#6906) (5d987ee)
- GuildStickerManager: Fix create() example (#6900) (bdd841a)
- InteractionResponses: Move embed var position in example (#6896) (8806039)
- Application: Rename Oauth2Application to Application (#6891) (76856b9)
- Util: Deprecate
.removeMentions()(#6866) (b6c9fd6) - Correct tags used for objects (#6846) (f7b7aac)
- Redirect to events correctly (#6845) (38cc89e)
- Typos, consistency and grammar fixes (#6811) (c44ea50)
- Message: Specify
Snowflakein return type ofawaitReactions()(#6822) (4354c37) - Replace
FetchOwnerOptionstype definition (#6814) (b030130) - Remove dangling reference (#6810) (d57ec7a)
- InteractionCollector: Remove repeated "the" (#6802) (b1b9c83)
- MessagePayload: Change the typo of "wether" to "whether" (#6771) (d32956c)
Features
- ThreadMemberManager: Allow individual members to be fetched (#6889) (14716df)
- Add support for autocomplete interactions (#6672) (ddf759c)
- MessageEmbed: Add #equals (#6885) (fae4abf)
- StartThreadOptions: Default autoArchiveDuration to channel's defaultAutoArchiveDuration (#6278) (740d3f0)
- Add
rtcRegiontoGuildManager#create()(#6858) (399e720) - Add typeguards to webhooks (#6850) (e0afcad)
- GuildChannelManager: Add 'rtcRegion' option to 'create' method (#6849) (487d32d)
- Permissions: Add checkAdmin to permission overwrite checks (#6847) (7513b45)
- Interaction: Add
isApplicationCommandcheck (#6801) (6898fa3) - CommandInteraction: Add toString method (#6793) (bd48e6d)
- Client: Add apiResponse and apiRequest events (#6739) (26f927b)
- ModuleImporter: Implement import module compatible with bundlers (#6709) (d399a28)
Refactor
- Move Guild setPositions methods to managers (#6875) (e12a5b6)
- Remove gen-esm-wrapper dependency (#6884) (b278884)
- Fix typos (#6852) (672baa4)
- GuildManager: Remove redundant check (#6859) (579569a)
- Remove redundant user agent parsing (#6820) (460df9e)
- Remove unnecessary checks (#6777) (e24209a)
- Role: Move initialization of delete prop out of _patch (#6776) (872e7a5)
Typings
- fix: BaseCommandInteractionOptionResolver and CommandInteraction (#6910) (673c03f)
- Constants: Remove deleted properties from Package (#6908) (7be9170)
- Shard: Eval returns a promise resolving with T instead of T[] (#6901) (14d9a99)
- ApplicationCommandManager: Add missing overload for
fetch(#6904) (ee93a27) - TextBasedChannel: Text channel interaction collectors should have
messageoption (#6903) (91a432e) - Cache types cleanup (#6867) (b2836da)
- Allow message cached props to be narrowed (#6838) (c3948f8)
- CommandInteractionOptionResolver: Allow narrowing of
getMember()(#6831) (e8b6997) - BaseMessageComponent: Remove third parameter of
create()(#6833) (d27fddb) - Message component cached props narrowing (#6809) (b541d0a)
- ApplicationCommandOptionData: Remove required on subcommands (#6790) (5566404)
- Integration: Add
IntegrationTypevalues (#6815) (187581d) - WelcomeChannelData: Allow store channels (#6778) (45ebea3)
- Make embed author and footer props
nameandtextrequired (#6779) (a84e51b)
13.2.0 - (2021-10-05)
Bug Fixes
- AllowedImageSizes: Add new image sizes (#6754) (d0025be)
- User: Compare flags in #equals (#6750) (00e1e26)
- VoiceState: Patch streaming value (#6747) (7eec061)
- Message: Avoid overwriting properties in _patch (#6738) (a8c21cd)
- ReactionCollector: Only call the filter function once (#6734) (d15dd5f)
- Shard: Use provided timeout when respawning (#6735) (905d100)
- Role: ToJSON() throwing due to permission bigints (#6724) (9e421f6)
- Don't patch set data with undefined (#6694) (9eb9591)
- Invite: #guild never resolving into a Guild (#6742) (b76bb8a)
- GuildManager: Add missing types and converts (#6683) (cdf65f7)
- Util: Default
animatedto false when omitted on resolvePartialEmoji (#6725) (8d80fec) - Message: Throw error on missing channel (#6581) (60aa9ae)
- CachedManager: Return updated data when cache is false (#6685) (8426770)
- GuildEmoji: Cache restricted roles and author data (#6675) (60b8ba6)
- Constants: Allow undefined size (#6686) (d3da833)
- *RoleManager: Create set of role ids correctly (#6674) (f8aa4bd)
- Shard: Eval promise never resolves (#6649) (5070d23)
- xxxable: Follow more properly with discord behavior (#6551) (5d87398)
- Allow null to be passed in order to reset icon/avatar (#6646) (6033506)
- Message: Pinnable returning false in non-DEFAULT messages (#6585) (3183b11)
- threadMembersUpdate: Fixed typo (#6589) (8826e9f)
- ThreadChannel: FetchStarterMessage bug (#6584) (08edc0b)
- Await message component collectors should return component interactions not collectors (#6562) (f49f70a)
- GuildChannel: Fix manageable method for voice-channels (#6447) (9301c9b)
- MessageAttachment: Re-assign name (#6518) (8a8c69a)
- UserUpdateAction: Rely on client.user when ids match (#6511) (1418649)
- Util: Allow empty strings in splitMessage (#6437) (d6e6244)
- BaseClient: Remove selfbot ability (#6429) (9a833b1)
- Sticker: Rename method correctly to _add (#6421) (2c449b6)
- Message: Fix typo (#6435) (ecb6e50)
Documentation
- FetchReply info + example (#6753) (8bc1ece)
- GuildMemberUpdateAction: Event doesn't get emitted on user update (#6752) (1db3e76)
- Better links for
.toJSON()of button and select menu (#6745) (6e5c768) - Undocument private constructors (#6732) (34b2ad0)
- Message: Fix return type for
reply(#6720) (3f11009) - CommandInteractionResolvedData: Fix key type (#6729) (466e796)
- EmojiResolvable: Update description of typedef to remove ambiguity (#6708) (7cba676)
- ApplicationCommandPermissionsManager: Fix example set method (#6658) (839974c)
- Shard: Point to correct events (#6641) (b9a4899)
- VoiceChannel: Deprecate editable (#6613) (88e2622)
- PermissionOverwriteManager: Correct
@returnsof delete (#6632) (3c3522a) - MessagePayload: Correct return type of
resolveFile()(#6605) (ea6a57e) - MessageButton: Fix info tag (#6590) (db73cf9)
- WidgetMember: Fix typo for deaf (#6564) (33f6f82)
- Constants: Fix interaction type link (#6558) (29d5fd1)
- Fix JSDoc for
ClientUser#edit(#6554) (34024f5) - Util: Correct
@paramforcleanContent()(#6531) (b89280a) - Formatters: Fix typo of TimestampStyles (#6523) (7d4a40a)
- GuildChannelCreateOptions: Fix #type type (#6502) (4bfd5d3)
- ThreadManager: Fix typo (#6485) (8a95211)
- Fix wrong type being displayed in docs (#6504) (9ca10cc)
- MessageManager: Fix typo (#6482) (70cc029)
- MessageReference: Add possible message types (#6464) (93a83c2)
- ApplicationCommandType: Add DAPI link (#6463) (17b4079)
- BufferResolvable: Add warning for URL input (#6451) (16493e6)
- Formatters: Use id over ID (#6439) (84bb4f4)
- RoleManager: Error in examples (#6416) (759faa4)
- Rename implementation of deferReply (#6412) (615afab)
Features
- Add support for role icons (#6633) (7129965)
- Interaction: Add memberPermissions (#6741) (28d96e3)
- CategoryChannel: Add createChannel shortcut method (#6614) (3eacf7a)
- Allow webhooks to fetch, edit and delete messages in threads (#6695) (107822d)
- Threads: Update permissions and fix getters (#6466) (10478ad)
- PartialGroupDMChannel: Add recipients & fix name (#6713) (2803db6)
- GuildMember: Add guild avatars (#5696) (dfd7b40)
- MessageAttachment: Add support for ephemeral property (#6652) (c5db0ff)
- ApplicationCommand: Add support for channel_types (#6640) (3b14883)
- UserManager: Allow #fetch to take UserResolvable (#6677) (a06a87a)
- Add api error code 50101 (#6663) (42fdcaa)
- Add support for API command types in
ApplicationCommandManager(#6621) (ecd637f) - Permissions: Add
START_EMBEDDED_ACTIVITIES(#6622) (66a90d3) - Integration: Add missing props and fix docs/types (#6623) (caa3b60)
- Default values for setX boolean methods (#6619) (8add4b0)
- Add api error code 30042 (#6635) (183dbd7)
- Give removed
MessageReactions onmessageReactionRemoveAllevent (#6607) (be8912a) - ApplicationCommand: Add version property (#6603) (f866512)
- MessageTypes: Add CONTEXT_MENU_COMMAND (23) (#6425) (d81590d)
- Add api error code 160002 (#6566) (d16ada9)
- ApplicationCommand: Add #equals (#6414) (581921f)
- Threads: Add support for invitable in private threads (#6501) (a693254)
- BaseGuildTextChannel: Export
BaseGuildTextChannel(#6527) (fc51f61) - User: Banners and accent colors (#6117) (839c6da)
- MessageAttachment: Allow files to be marked as spoilers (#6509) (96e26c4)
- ThreadChannel: Add fetchStarterMessage (#6488) (705c5a1)
- Message: Add method to resolve a component by id (#6484) (57b94b9)
- Set methods for MessageActionRow and MessageSelectMenu (#6490) (fb50dd9)
- Export BaseCommandInteraction (#6478) (c14e594)
- Guild: Add
Guild#maximumBitrategetter. (#6455) (21983de) - Message: Prevent fetching an interaction webhook. (#6468) (f39b597)
- Add maximum prune requests reached api error (#6427) (a4b8623)
- Rest: Expose https.Agent options (#6177) (5eb3553)
- InteractionReponses: Allow fetching of ephemeral messages (#6426) (d289d5c)
- Export ContextMenuInteraction (#6434) (170c0c4)
Performance
- Use logical assignments instead of if statements (#6693) (e9daa31)
Refactor
- User: Set accentColor and banner to undefined when not yet received (#6721) (ba93e85)
- Use optional chaining (#6757) (a194d9c)
- Use the
node:protocol (#6710) (531b46c) - VoiceState: Use manager edit method to remove error (#6631) (29dd319)
- Constants: Better type error in cdn endpoints (#6637) (124e177)
- ES2021 features (#6540) (00bd92a)
- Channel: Make delete async (#6417) (71fdf6f)
Typings
- Interaction: Allow
Interactioncached properties to be type narrowed (#6668) (d873a19) - Rename
Awaited<T>toAwaitable<T>(#6756) (f88f4cc) - GuildBanManager: Remove can return null (#6748) (c3f4de4)
- Add ExcludeEnum utility for easier typings (#6746) (42acc6e)
- Webhook: More accurate type for
sourceChannel(#6751) (32b5c2e) - WebhooksUpdate: Allow
NewsChannels (#6749) (abf158d) - More accurate types instead of
GuildChannelResolvable(#6744) (a8e6010) - ChannelTypes: Remove unknown from CHANNEL options (#6701) (8b4456e)
- TextBasedChannels: Fix awaitMessageComponent return type (#6723) (a7cb314)
- Vanity: Make
usesnon-nullable (#6715) (3a978f3) - Role: Role#comparePositionTo accepts RoleResolvable (#6722) (7c4d1df)
- Presence: Fix ActivityOptions#type and Activity#id types (#6696) (fe95005)
- Fix missing channel type in subcommand options (#6706) (da3ae48)
- Add GuildEmojiManager to Caches (#6671) (1ca8d2c)
- VoiceState: Allow moving members to stage channels (#6684) (94ca0f5)
- Interaction: Improve type guard for inGuild() (#6644) (0347826)
- MessageOptions: Allow APIEmbed (#6656) (92f6471)
- WelcomeChannel: Allow store channels (#6615) (75d85f7)
- MessageEmbed: Allow APIEmbed type (#6629) (256fb90)
- TextBasedChannelFields: Add back createMessageCollector (#6616) (1b016a3)
- Make
channelIdnon-nullable onMessageComponentInteraction(#6600) (8cc3885) Message#createMessageComponentCollectoruseMessageComponentInteractionOptions<T>(#6596) (c62823e)- MessagePayload: Specify typings for
filesandresolveFile(#6608) (ea36955) - Collector filter parameter inference (#6574) (0841956)
- MessageReference: Correctly add undefined type (#6563) (cdb0005)
@typedefforStageChannelResolvable(#6568) (2c219cb)- Allow message component interaction collectors to infer collected interaction types (#6476) (03d5549)
- CommandInteractionOptionResolver: Document & type thread channels (#6521) (774e960)
- MessageComponentInteraction: Fix componentType (#6536) (0fe5f88)
- Mark enums as const enums (#6394) (5c27639)
- MessageEmbed: Allow
nullforsetTimestamp(#6514) (7aff15a) - Require component type in raw object formats (#6452) (c232baa)
- CommandInteractionOptionResolver: Add missing parameter (#6497) (656b518)
- ClientPresence: Add type declarations and docs (#6450) (6cac03a)
- GuildChannel: Added missing typing (#6454) (f294d1e)
- Message#_patch typings return type (#6433) (81bb68d)
13.1.0 - (2021-08-12)
Bug Fixes
- StageInstance: Ensure
discoverableDisabledis notundefined(#6395) (dce8fc7) - WidgetMember: Default to
nulland notundefined(#6399) (44bbfa5) - Guild:
preferredLocaleto always be a string (#6402) (4a64662) - ContextMenuInteractin: Store message as raw value (#6400) (d9456a1)
- Util: Remove truthy check before isNaN check (#6358) (3c17939)
- Constants: Fix CDN endpoint typings (#6332) (47d2ef3)
- Managers: Fix typo in unsupported warning (#6338) (917e71a)
- GuildMemberRoleManager: Typo (#6335) (d87299b)
Documentation
- Remove unparsed examples (#6404) (e6f48d8)
- GuildManager: Increase fetch limit to 200 (#6406) (933d2c5)
- ApplicationCommandData: Fix type property (#6385) (de3c86f)
- Update links for api-docs (#6380) (779e14e)
- Switch urls from upstream rearranging (#6378) (4c8dc4c)
- Correct wrong interaction links (#6274) (49d3c0b)
- Invite:
MANAGE_CHANNELSinstead ofMANAGE_CHANNEL(#6361) (0062aa6) - Options: DefaultMakeCacheSettings typo (#6365) (ea8d77e)
- Grammar fixes (#6345) (f13d27c)
Features
- GuildMemberManager: Add 'list' method (#6403) (2bf0970)
- GuildManager: Allow setting with_counts to false (#6407) (14aea12)
- CommandInteractionResolvedData: Access to "raw" resolved data (#6384) (fff887b)
- Utils: Add additional formatters (#6388) (cd40292)
- Right-clickybois (context menu support for ApplicationCommand and CommandInteraction) (#6176) (0266f28)
- Threads: Max autoArchiveDuration option (#6304) (394d486)
Refactor
- Options: Separate default settings for make cache (#6330) (d14a6bf)
Typings
- ApplicationCommandData: Make
typefield optional (#6405) (dcc556c) - Constants: Add
ApplicationCommandTypestoConstants(#6398) (6342430) - ApplicationCommandOptionData: Align command data options types more with discord API (#6247) (297a911)
- ApplicationCommandData: Stronger typings for
ApplicationCommandDatavariants. (#6382) (75b48d8) - Options: CreateDefaultOptions => createDefault (#6376) (2a3e819)
- Events: Renamed
messageReactionAdd's reaction parameter (#6371) (006edca) - ImageURLOptions: Allow 'gif' format (#6342) (5f1def3)
13.0.1 - (2021-08-07)
Bug Fixes
- GuildMemberManager: Refactor fetchMany (#6328) (909c873)
- Message: Handle fetched messages (#6325) (ceae596)
Documentation
- Fix bad indentation (#6316) (cd1aefb)
Typings
- Util: Fix cleanContent parameter type (#6321) (60ace9a)
13.0.0 - (2021-08-06)
Bug Fixes
- MessageMentions: Check guild exists before adding roles (#6313) (1200bba)
- GuildMemberManager: FetchMany fixes (#6314) (52817fc)
- Caching: Sweep archived threads in all channel caches (#6312) (3725dca)
- Message: Fix thread getter (#6309) (913c9fa)
- BaseGuildTextChannel: Call patch (#6298) (3eb4140)
- Remove support for overriding caches that break functionality (#6282) (a6d4035)
- Message: Make #channel and #guild getters (#6271) (6e3236a)
- WebSocketShard: Mark shard ready if no guilds intent (#6284) (09471be)
- Action: GetChannel interaction DM (#6280) (a72b5a3)
- GuildChannel: SetParent not working (#6276) (7e0618f)
- ChannelUpdate: Restore accidentally removed line (#6263) (774f5b7)
- Util: Fix collection import (#6256) (93e0239)
- Array/keyArray removed (#6245) (bf221f2)
- TextBasedChannel: Fix MessageCreate handling (#6217) (6b85f90)
- PermissionOverwrites: Throw better error if resolving option fails (#6219) (42a0313)
- Channel: Add default for destructured options (#6203) (6872547)
- Use
stringinstead ofSnowflakefor invites (#6202) (f060a3f) - ThreadChannel: Better property handling (#6172) (9679b90)
- Export various classes that are exported in the typings (#6166) (30a58dc)
- Typings: Type attachments to InteractionUpdateOptions (#6162) (4f8ca29)
- GuildAuditLog: Assert
targetto null upon not finding invite codes (#6171) (c8ca7bf) - Message: Fix typo in sticker_items (#6173) (870a0de)
- Sticker: Replace 'this.guildID' (undefined) by 'this.guildId' in fetchUser (#6160) (07017a9)
- CommandInteractionOptionResolver: Type should be USER (#6148) (02f55f0)
- CommandInteractionOptionResolver: Export CommandInteractionOptio… (#6146) (8ccfd6e)
- CommandInteraction: Change options type from Collection to array (#6139) (77784ac)
- GuildChannel: Only fetch invites for the specific channel (#6132) (c40c0f9)
- PermissionsOverwrites: Only convert type if number (#6092) (dee5c83)
- Channel type check in actions (#6086) (d433fe8)
- GuildChannel: Clone its PermissionOverwriteManager too (#6083) (f72ce7c)
- PresenceUpdate: Use added presence over nullable getter (#6077) (637c8e0)
- InviteScope: Added missing 'bot' scope (#6052) (93e2c04)
- SelectMenuInteraction: Set values to empty array if not provided (#6045) (34708d6)
- Guild: Add invite manager property, extend CachedManager (#6049) (e3d877d)
- TeamMember: Fixed incorrect return types. (#6044) (fe5d56c)
- Structures: Remove Structures (#6027) (ab0b3b9)
- GuildChannel: Use map method on cache not its manager (#6032) (d58f0d2)
- PermissionOverwriteManager: Pass ID to API correctly (#6026) (8077e4f)
- GuildChannel: Add missing 'cache' property (#6019) (7e30011)
- Remove
connection.urlfrom open debug message (#6018) (39db953) - Util: SplitMessage not working with array (#6008) (bd25ff5)
- Correct permissions checks and cache on update (#6015) (568691c)
- ThreadManager: Fixed wrong private and fetchAll check (#6012) (e4be666)
- Typings: Improve components typings in MessageEditOptions (#6002) (3a718d8)
- ApplicationCommand: Fix typo in JSDoc (#5994) (6edf55c)
- ThreadChannel: Check for existence of properties when patching (#5961) (9ac6867)
- Typings: Erronous RawMessage (5842e35)
- Thread: Make archive_timestamp not nullable (#5965) (edab5af)
- Sharding: Strict type context and return (#5933) (1925d01)
- Webhook: Return void from #delete for consistency. (#5954) (5ad83a6)
- Collector: Docs and types (#5937) (6c447b1)
- Message: Make author of referenced message nullable (#5929) (dc671c8)
- User: Fix bot and system properties being incorrect in some cases (#5923) (e44ae96)
- ThreadMemberManager: Fix ThreadMemberManager#add and ThreadMemberManager#fetch (#5927) (adecead)
- Webhook: Resolve non-string avatars too (#5914) (4714a96)
- ApplicationCommand: StringType isn't supposed to be sent to the API (#5916) (ca2a36b)
- Permissions: Allow admin to override in the missing method (#5911) (ee025b0)
- InteractionResponses: Set replied status on editReply (#5899) (6d3d00b)
- Message: Flags not being parsed on some edits (#5886) (2d7c12b)
- Guild: Don't patch before instance properties (#5885) (174b7a7)
- presenceUpdate: Fire when only state/details change on an activity (#5846) (1f8f3ab)
- Message: EditedTimestamp defaulting to 0 (#5847) (671436c)
- ApplicationCommand: Default option.required fix (#5848) (a1f94f6)
- Guild: SetChannelPositions null parenting (#5841) (01a1fd6)
- ApplicationCommand: Default option.required to false (#5838) (77c1f15)
- GuildManager: #create throws when systemChannelFlags is undefined (#5832) (29173bf)
- GuildChannel: Don't force parentID/permissionOverwrites to empty on create (#5823) (c585933)
- GuildChannel: Improve empty overwrite handling for permissionsLocked (#5821) (6df3623)
- ApplicationCommands: Allow managing commands for uncached guilds (#5729) (24e5868)
- ClientApplication: Freeze flags (#5811) (e990c35)
- *: Typedefs and typings for image & webhook options (#5805) (a5a6e22)
- TextBasedChannel: Allow passing an APIMessage with split (#5815) (93b0a4e)
- PermissionOverwrites: Optional allow/deny OverwriteData (#5810) (a7ebb21)
- Typings: Fix BitField toJSON/valueOf return types (#5806) (935f819)
- Hooks: Make husky hooks executable (#5812) (77e28cf)
- GuildChannel: Clone errors when options.name isn't provided (#5804) (41673b7)
- WebSocketShard: Don't catch errors thrown in event handlers (#5803) (53d8e49)
- Don't patch missing properties from partial payloads (#5796) (097c7b9)
- GuildChannel: Spread clone options to avoid infinite recursion (#5800) (2f5424b)
- Webhook: Throw an error if no token is available when it's required (#5798) (eb98e33)
- ClientPresence: Produce valid activities for set presences (#5799) (ea0e06f)
- BitField: Ensure missing returns an array of strings (#5795) (68f7aeb)
- ApiMessage: Only pass objects as options directly (#5793) (3578159)
- BitField: Throw an error if bit to resolve is undefined (#5565) (0156f69)
- Remove remnants of awaitMessageComponentInteractions (#5783) (ae78a33)
- *: Add missing imports for custom errors (#5767) (e980948)
- ShardingManager: Client error event cannot be emitted (#5559) (d1c5b6f)
- Add components to MessageOption typedefs (#5768) (657635c)
- Interaction: Add missing types and fix docs lists (#5762) (1d57754)
- Webhook: #editMessage throws error when content is null (#5757) (2901fd5)
- MessageComponentInteraction: Correctly type defer method (#5760) (f0dad26)
- RoleManager: Bug in #create (#5730) (cf22456)
- Message: Update typings and docs related to #edit (#5745) (a2f0c11)
- Typings: Add missing typings for
HttpError->requestData(#5742) (3e9ce35) - MessageEmbed: Import custom RangeError class (#5740) (bfe01b5)
- CommandInteraction: Cmds with no options throw error (#5734) (af2fad9)
- CommandInteraction: Channel type should be text based channels (#5690) (5141ea4)
- GuildMemberManager: Allow moving members to any non-text channel (#5681) (d21e6af)
- Interfaces not importing due to re-export of Snowflake (#5723) (086c3f0)
- PermissionOverwrites: Fix typo in typedef jsdoc (#5704) (6567ba8)
- Types: Make event listeners accept async callbacks (#5602) (a73a5cf)
- GuildEmojiRoleManager: Bug in #remove (#5666) (c89bdd7)
- ApplicationCommandOptionData: Options property should be itself (#5679) (b90b0c3)
- APIMessage: Document Interaction as valid MessageTarget (#5678) (9f491ff)
- Message: Bug in #suppressEmbeds due to #5612 (#5644) (840ad0a)
- Lint-staged for typescript files (5f6ec22)
- DataResolver: Fix circular dependency error with GuildTemplate (#5622) (b376f31)
- ApplicationCommandManager: Limit permission methods to guilds (#5613) (03256bd)
- CommandInteraction: Update typings and docs for #editReply (#5630) (56d44fb)
- ApplicationCommand: Return string equivalent of ApplicationCommandOptionType (#5617) (a6079bc)
- Resolve emoji in Message#react (#5614) (c733436)
- Typo in GuildMemberManager (#5616) (73f4114)
- Message: Editing with MessageEmbed or APIMessage (#5612) (74e97ef)
- VoiceReceiver: Fix memory leak (#5609) (2eac842)
- ApplicationCommandManager: Fix typo in JSDoc (#5603) (3392eb7)
- Sticker: File renamed to SnowflakeUtil (#5573) (f830eb7)
- Emoji: Name can be null (#5513) (5397021)
- GuildMemberRoleManager: Unable to remove roles when passed an array (#5556) (9572521)
- Typings for 'Message' (#5518) (0d68ca8)
- HTTPOptions: Change default value in jsdoc to 8 (#5547) (cb50241)
- GuildAuditLogsEntry: Executor can be missing (#5500) (e9bf206)
- typings: Update GuildMemberRoleManager typings to match implementation (#5497) (900e576)
- MessageMentions#channels: Fix type of channels of mentions (#5370) (565d7b3)
- Resolvables: Valid resolvables throw error when uncached (#5495) (fa5a37e)
- GuildChannel: Check for community required channels in GuildChannel#deletable (#5170) (b710a43)
- GuildMember: Correctly check for premium_since (#5312) (aff3625)
- Voice: Only skip undocumented voice packet byte if present (#5309) (2b52cdc)
- Typings for 'WebhookMessageOptions' (#5476) (67025e6)
- IntegrationApplication: Add missing export to index.js (#5475) (8023250)
- ApplicationFlags: Export class (#5465) (404ce57)
- Voice: Disconnect if voice channel not cached (#5467) (3af8179)
- InviteDelete: Guild can be missing (#5457) (6c6b105)
- ReactionUserManager: Remove before query option (#5281) (43bd568)
- GuildManager: Add missing toString() on Permission#resolve fns (#5324) (0778926)
- GuildChannel: Regression on default channel type (#5251) (e7c4f36)
- Guild/GuildChannel: Methods reason arg usage (#5419) (8411b9e)
- Role: Pass Permissions class, not the bitfield (#5321) (d744e51)
- WebSocketShard: Key name in WebSocketShard#_send. (#5304) (56d8b44)
- ApiMessage: Remove resolve() from typings (#5241) (a6bc39d)
- GuildChannel: Overload permissionsFor and BaseManager#resolve[id] (#5260) (41bd6c2)
- GuildEmoji: Check for cahnges to available in equals (#5201) (f95f5dc)
- VoiceConnection: Make #dispatcher nullable (#5217) (0d5de43)
- Message: Update getters to take null permissions into account (#5066) (98b1c58)
- typings: Return types for 'Webhook(Client)#send()' (#4876) (eb28ee7)
- MessageEmbed: Include
author.namein length getter (#5167) (e37160f) - Collection: ToJSON() errors if the collection includes empty values (#5129) (2c2249e)
- Implement valueOf on pseudomanagers (#4595) (8883a01)
- Add presence to ClientPresence from ClientOptions (#5041) (9c7fe34)
- Filtering of string forms of null and undefined (#5075) (9042d19)
- ChannelManager: Avoid crash in remove method with uncached channel (#4937) (12c909e)
- Message: #system non-zero message types are not guaranteed to be system (#5108) (bb78120)
- UserFlags: Correct early bot dev name, remove deprecated aliases (#5104) (b509862)
- Collector: Throw an error if a non-function was provided as filter (#5034) (7365f40)
- BaseGuildEmoji: Typo in requiresColons (#5076) (e272fd6)
- MessageReaction: Set MessageReaction#me in patch method (#5047) (6b322f4)
- Voice:* Filter out silent audio from video users (#5035) (4fcb9eb)
- GuildTemplate: 'guild' getter (#5040) (53529bd)
- RoleManager: Fix ID return value, change return type to collection (#4935) (12a096b)
Documentation
- Grammatical fix (#6311) (7787a76)
- Grammar fixes (#6308) (0664477)
- General cleanup and improvements (#6299) (b4afcf8)
- Typo in ClientOptions (#6305) (dd3a79e)
- Grammar fix (#6294) (90c2e07)
- Client: Mark _finalize as private (#6281) (35fa3b3)
- Update link of the guide to v13 changes (#6273) (6e0ea02)
- Add missing semicolon to readme (#6270) (2c452df)
- Change example in readme to slash command (#6250) (626ff85)
- InteractionResponses: Correct
@returnson responses (#6257) (bb56f17) - Refactor a few
@returnsdescriptions (#6228) (82daee5) - Widget: Add the typedef WidgetChannel (#6182) (8b52d06)
- Update readme node version requirement (#6241) (797727a)
- GuildManager: Correct
GuildCreateOptionstypo (#6224) (2675b08) - Constants: Document the Constants object for enum-like usage (#6208) (cc5f1ce)
- Guild: Correct
GuildRolePositiontypo (#6223) (40b127e) - WelcomeChannel: Correct guild return type (#6222) (d310e4f)
- Constants: Fix StickerTypes typedef (#6218) (105a194)
- MessageMentions: Fix documentation for members property (#6206) (f44bfc4)
- Guild: Add GuildTextChannelResolvable type definition (#6221) (1009ce1)
- InteractionResponses: Document missing properties (#6178) (5e433b5)
- CommandInteraction: Correct type definition of
CommandInteractionOption(#6169) (5e70694) - InteractionResponses: Reply docs example (#6079) (b170fb5)
- InteractionResponses: Generalize wording in update to fit other component interaction types (#6074) (67e9ce4)
- ClientUser: Fix shardId nullable (#6072) (28b5ffb)
- Fixed several typings and MessagePayload#create JSDoc (#6059) (4c0426c)
- ThreadChannel: Fix documentation for setLocked method (#6053) (8d9ab74)
- MessageManager: Document options param for #edit as required (#6031) (db60e36)
- Add Partial typedef (#6029) (b62d646)
- Fix some missed MessageComponent collector methods (#6023) (610b0b4)
- *: Wrap optional properties with union types in parentheses (#6021) (ec06ba7)
- Collector: Properly document endReason (#6016) (7dd1a8d)
- CreateInviteOptions: Fix TargetType link (#6017) (4adfc45)
- *: Add class links to isX() methods (#6007) (fbdad6e)
- WebSocketShard#send and TextBasedChannel#send (#5998) (726073f)
- Util: Methods removed on the base object (#5990) (d742814)
- Partials: Add link to the guide (#5982) (58183d4)
- MessageSelectMenu: Add link to Discord docs (#5984) (f819416)
- ThreadManager: Fix FetchedThreads typedef and startMessage (#5971) (f108746)
- Message: Add ThreadChannel as a channel type (#5972) (58bc145)
- ThreadManager: Fix reason prop of ThreadCreateOptions (#5970) (5dfd7dd)
- Channel: Fix description of thread channel types (#5968) (853be62)
- Drop string from MessageButtonStyleResolvable (#5944) (41f718f)
- Features: Resolved typo in
FATEWAY_PRESENCE_LIMITED(#5952) (d38b347) - Webhook: Fix thread example in send method (#5953) (d3d19ce)
- Channel: Make the type news_thread an inline code-block (#5940) (630432b)
- Thread: Add links to discord api docs (#5919) (5af2ef5)
- MessageSelectMenu: Fix options typings (#5922) (75837a8)
- *: Add links to Discord's API objects & data (#5862) (e0efcc6)
- Move embeds field into BaseMessageOptions (#5902) (6cebeae)
- Readme: Remove dependencies badge (#5901) (edf6f0c)
- AnonymousGuild: Add missing extends tag (#5896) (3d96a33)
- VoiceState: Channel can be null (#5872) (807ea2d)
- ReplyMessageOptions,MessageEditOptions: Replaced
embedwithembeds(#5860) (e3ed74a) - Consistent application name usage (#5853) (96a4e7b)
- TextBasedChannel#send: Update embeds example (#5857) (a6dae75)
- ButtonInteraction: Fix typo (#5835) (9376ee4)
- Removed topics and FAQ from the repository (#5820) (9e5106d)
- README: Re-add install command, remove voice remnants (#5817) (55ad6f0)
- MessageEmbed: Deprecation advisory for type (#5774) (f5f3f77)
- Messages: Fix examples in messages after changes in #5758 (#5791) (35c2225)
- ApplicationCommand: Typos in ApplicationCommandPermissionData (#5789) (4511624)
- GuildMemberManager: Fix docs for #search() (#5784) (0139e10)
- CommandInteraction#channelID is type of Snowflake (#5776) (32d8c8b)
- InteractionDeferOptions: Correctly define the typedef (#5769) (4567cd4)
- Add new guild features (#5755) (f7e420b)
- Message: Fix content param in #edit not showing as nullable (#5748) (df9b678)
- All the missing object -> Object changes (#5738) (b317d86)
- Remove traces of StringResolvable (#5727) (678b7da)
- Webhook: Update typings and docs for #editMessage (#5713) (256d1b0)
- Message: Add example for message.reply (#5332) (7d7d2a5)
- TextChannel: Warning about setRateLimitPerUser NewsChannel (#5403) (47bbdf4)
- Fix InteractionDeferOptions typedef (#5694) (add924c)
- ColorResolvable: Add Fuchsia to ColorResolvable typedef (#5676) (7d9818e)
- Add new typedef to properly doc InteractionReplyOptions (#5632) (3589e0f)
- Guild: Add proper punctuation to #fetchOwner jsdoc (#5645) (c8d20a4)
- Correct casing of
object->Objectin AuditLogChange (#5636) (ab82caf) - GuildChannelManager: Add stage option (#5608) (d219ecd)
- MessageEmbed: MessageEmbedOptions typedef (#5466) (4a06dd1)
- Update invite link, change version in the intro (#5592) (533c247)
- VoiceState:
#setRequestToSpeakand#setSuppressedreturns aPromiseinstead ofvoid(#5558) (705d7b3) - GuildChannelManager: Fix type options in description (#5440) (936516c)
- ClientUser: #setPresence does not return a promise (#5485) (599f0f5)
- GuildChannel: #members add cached spec, include voice (#5385) (e848d25)
- BanOptions: Make days description more clear (#5327) (dedf432)
- Update docs and examples for #4879 (#5323) (685b260)
- GuildMember: Document owner override in permissions getter (#5320) (62ba249)
- ChannelManager: Fetch can return Promise (#5422) (1c8b109)
- Guild: Clarified description of guild.features (#5352) (941e36f)
- BaseManager: Fix a typo in #resolveID description (#5180) (640a663)
- BitFields: Remove string from BitFieldResolvable (#5122) (9ffcd83)
- MessageEditOptions: Add the flags parameter (#5126) (2aea7dd)
- RoleManager: Fetch description (#4920) (be0f383)
- TextBasedChannel: Indicate that replyTo cannot be system (#5115) (5c4547e)
- Permission overwrite methods descriptions (#5079) (77d4237)
- Client: #emojis is a BaseGuildEmojiManager (#5048) (2685b96)
- User: Fix typos in jsdoc (#5060) (09d0755)
- WebSocketManager: Fix type of status (#5059) (9f3c3e0)
Features
- Collector: Return a boolean on checkEnd (#6289) (f473f43)
- Channel: Add isVoice() (#6297) (5b4efd1)
- Constants: Added more error codes (#6234) (6b2098f)
- MessageEmbed: Add setFields method (#6186) (a25e165)
- ThreadChannel: Add fetchOwner() method (#6207) (331a9d3)
- Util: Add SweptCollection for auto sweeping of caches (#6110) (dbb59ba)
- WebhookClient: Allow creation of clients via URLs (#6192) (e000af5)
- FetchRecommendedShardsOptions: Account for large bot sharding (#6184) (19b242a)
- GuildAuditLogs: Add threads (#6195) (26ba0e1)
- Guild: Add fetchWidget() for getting widget data (#6180) (b22272f)
- ApplicationCommandOptionType: Add NUMBER (10) (#6128) (2f1cc1f)
- CommandInteractionOptionResolver: Add sub-command required option (#6165) (690c121)
- Sticker: Updates, sticker packs, and guild stickers (#5867) (54d6a3a)
- GuildPreview: Add createdAt & createdTimestamp (#6130) (9f039a8)
- CommandInteraction: Add CommandInteractionOptionResolver (#6107) (f293132)
- Make Instance#fetch force true by default, and fix force parameter (#6116) (366f3c9)
- REST: Append additional information to the required User Agent (#6112) (f200f14)
- Client: Add conditional ready typings (#6073) (4206e35)
- Allow channels from uncached guilds to be returned from fetch (#6034) (755c180)
- Collector: Better types for events (#6058) (c0a814f)
- Message: Add 'failIfNotExists' to ClientOptions (#6038) (28c5724)
- LimitedCollection: Export LimitedCollection (#6043) (31d3129)
- Client: Enforce passing scopes to generateInvite (#6024) (c6e5521)
- Managers: ✨ Add GuildInviteManager (#5889) (9e08b02)
- Managers: Add customizable caching for managers (#6013) (8c7cb0e)
- InteractionCollector: Reworked to be more generic (#5999) (374c779)
- PermissionOverwriteManager (#5318) (e7ad2fe)
- Formatters: Added new URL utilities and docs (#6014) (98e45a5)
- RoleManager: Added
editmethod, aliasRole#edit(#5983) (1e73c25) - StageChannel: Add createStageInstance method & use better naming convention (#5951) (71fb33a)
- Channel: Add isThread typeguard for better TS support (#5978) (b7ed675)
- Util: Added formatters (#5976) (8c7a28f)
- Interactions: Option to auto-fetch replies (#5831) (5e28ff8)
- Interaction: Add guild guard (#5955) (87e8cdd)
- Managers: New ApplicationCommandPermissionsManager (#5897) (6264c60)
- MessageComponentInteraction: Component getter (#5840) (1439183)
- MessageMentions: Add repliedUser (#5905) (2616125)
- MessageSelectMenu: Droppybois (#5692) (e5fcf0b)
- Api v9 and threads (#5570) (7346621)
- InteractionCreate: Move to an Action handler (#5906) (ea49f7c)
- Add missing APIError codes (#5898) (d930c81)
- Interactions: Improve error handling for ephemeral responses (#5892) (bd9f56a)
- Add APIError codes for stage instance (#5888) (c850ae1)
- WelcomeScreen: Welcome screens (#5490) (44e2ee7)
- Stage instance invite (#5856) (2d12db0)
- Guild: Add enum for premium_tier (#5868) (a3cbcca)
- *: Use enums for consistency and speed (#5843) (f7eeccb)
- Widget: Wrapper for widget.json (#5619) (038ee99)
- Stage instances (#5749) (918921e)
- *: Document and support embeds field in message create endpoint (#5792) (99ff715)
- Guild: Add enum for mfa_level (#5797) (ffabec3)
- RequestHandler: Emit more info when a rate limit was hit (#5801) (18ac72e)
- Add new APIErrors (#5794) (e0ab836)
- Util: Allow array for StringOptions' char (#5566) (fbcbb29)
- GuildAuditLogs: Make #target a channel for channel related logs (#5781) (eb0291d)
- Sharding:* Contexts for broadcastEval (#5756) (c6aeebb)
- Voice: Implement support for @discordjs/voice (#5402) (7b2e12b)
- General component improvements (#5787) (c4f1c75)
- GuildChannelManager: Add 'fetch' method (#4966) (e798fb7)
- Rest: Optional ratelimit errors (#5659) (16f261e)
- Promisified single interaction collection (#5770) (c2b3ed0)
- Message: ApplicationID for interaction responses (#5765) (65dc00f)
- Client: Make use of with_expiration in #fetchInvite (#5764) (bf191df)
- Interactions: Add InteractionWebhook for better internals (#5712) (dec191a)
- MessageComponents: Clickybois (MessageButton, MessageActionRow, associated Collectors) (#5674) (cbd7f2b)
- Esm: Use
gen-esm-wrapperinstead of manually making the file (#5700) (db0d7d4) - Rest: Show the data that is sent to Discord when an errors occurs (#5701) (ef92339)
- CommandInteraction: Make options a collection (#5705) (fdad140)
- *: Enforce strings (#4880) (7b85a72)
- BREAKING CHANGE: Removes all Resolvables for only string inputs
- Co-authored-by: SpaceEEC spaceeec@yahoo.com
- Message: Allow editing files into messages (#5718) (b212b64)
- Easier guards for channelUpdate (#5716) (d52bcd4)
- Add support for fetching multiple guilds (#5472) (48d6850)
- Guild: Add the new nsfw_level property (#5660) (3fe7add)
- InteractionDeferOptions (#5641) (ed593c9)
- CommandInteraction: Ephemeral followup messages (#5618) (68b40dd)
- GuildChannel: CreateInvite target options (#5514) (f831872)
- MessageEmbed: Remove normalizeField validation (#5459) (ff2f737)
- GuildMemberManager: Extend API coverage (#4872) (2e2464b)
- GuildChannel: Make createOverwrite and updateOverwrite not dependent on cache (#5489) (58763b0)
- MessageManager: Extend API coverage (#4869) (c56c4a8)
- Message: Add ReplyMessageOptions for #reply (#5296) (7ce741d)
- ShardingManager: Add options typings (#5583) (31b4390)
- GuildChannel#clone: Support for position property (#5236) (d455cb6)
- GuildBanManager (#5276) (6d09160)
- APIRequest: Support setting global headers in HTTPOptions (#5586) (135abcc)
- Message: Replace referencedMessage with fetchReference (#5577) (1398431)
- Message: Allow removing attachments (#5557) (ca9e5a0)
- Add support for application command events (#5596) (9f74f95)
- Interactions (#5448) (f7643f7)
- Sticker: Added Sticker (#4909) (026afc2)
- Webhook: Add 'fetchMessage' method (#5530) (63398d6)
- GuildManager: Allow system channel flags in create (#5504) (d9fa180)
- Guild: SetChannelPositions parent, lockPermissions keys (#5507) (4866e26)
- Webhook: SourceGuild, sourceChannel, improve owner (#5508) (116ecf2)
- Guild: Allow description and features in edit (#5505) (8a059cc)
- Util: Make
cleanContenttake a channel instead of a message (#5535) (f1c0c04) - Guild: Nsfw guilds (#5525) (5968323)
- Guild: Replace
ownerwithfetchOwner(#5480) (1be67b8) - GuildFeatures: Added the new screening features (#5328) (3c175cb)
- MessageAttachment: Support for #contentType (#5481) (7b161f9)
- SysChanFlags: New flag and rename in sync with client (#5506) (fe93a7e)
- Move internal regular expressions to static properties (#5384) (207735c)
- typings: Add ShardingManager.shardList to type definitions (#5446) (32b0d71)
- typings: Explicitly type PremiumTier and Collectors (#5458) (7c49612)
- Make changes to PresenceData typings and docs (#5317) (eb43ce4)
- MessageTypes: Add 16 and 17 (#4685) (c9107e3)
- GuildMemberManager: Add 'search' method (#4154) (0ba2bcb)
- Stage channels (#5456) (eec7cf7)
- Activity: Add missing fields (#4984) (63ff6a0)
- Webhook: Add '(edit|delete)Message' methods (#5223) (7cabc1c)
- Rest: Better handling of global rate limit and invalid request tracking (#4711) (9d2d606)
- Application: Application flags (#5147) (06e9d86)
- WebSocketManager: Let identify throw on depleted limits (#5283) (624a446)
- Jsdelivr default file support (#5424) (f469402)
- Client: Add InviteGenerationOptions#additionalScopes (#5215) (ae3c3d8)
- ReactionCollector: Event create (#4108) (09d1f2f)
- ShardingManager: Allow b-Eval/fetchClientValues on a specific shard when not all are ready (#5222) (001676c)
- GuildChannel: Support conversion between text and news (#5022) (5ac3b57)
- BitField: Move problematic bit into the error message (#5228) (273e955)
- ClientEvents: Add tuple labels to event arguments (#5225) (764966e)
- GuildMember: #pending (#5121) (c4c8171)
- GuildEmojiManager: Implement GuildEmojiManager#fetch (#4933) (ffe3140)
- Browser: Remove browser <20> (#5113) (0a591a9)
- Role: Role tags (#4628) (d6234b7)
- APIMessage: Remove disableMentions (#4836) (4107899)
- GuildMember: Make GuildMember#setNickname first param nullable (#5070) (d70127c)
- Message|TextChannel: Inline replies (#4874) (60e5a0e)
- BaseGuildEmojiManager (#4934) (8d650a7)
- Message: Added string type for message nonce (#4782) (4b555fd)
- GuildMemberManager: Throw TypeError on incorrect GuildMemberManager#ban params (#4816) (863734a)
Refactor
- Replace dependency with initial implementation (#6310) (d5e28c2)
- Interaction: Rename defer to deferReply (#6306) (4241feb)
- InteractionCollector: Only keep Ids of objects (#6084) (b639b6c)
- Channels: Fix incorrectly shared properties (#6262) (5be471b)
- Added
TextBasedChannelstype (#6286) (61db5f7) - MessageComponents: Default setDisabled to true (#6279) (3c7c822)
- *: Use async functions (#6210) (e2e4f65)
- GuildChannel: Use filter method for #members (#6253) (7c54076)
- VoiceState: Change kick to disconnect (#6251) (24931d7)
- Merge collections with keeping entries at max (#6242) (bb5e648)
- Message: Accept a single object instead of 3 arguments (#6244) (434e330)
- Move member adding to manager (#6231) (198a5c4)
- Use guild-wide route for fetching active threads (#6193) (2a07055)
- Remove extended collection (#6246) (00bae4f)
- Strengthen channel typings in appropriate places (#6232) (65ae064)
- Message: Make thread a getter for accuracy (#6215) (5f710ae)
- Match subcommand (group) name casing with Discord's (#6204) (a69e2f7)
- Only cache commands from own user (#6161) (4886ae2)
- Message: Combine patch methods (#6071) (cd47a52)
- CommandInteractionOptionResolver: Add readonly data property (#6156) (328501b)
- OptionResolver: Accept single type instead of an array (#6154) (5addcd1)
- Change const enums to interfaces (#6078) (63ce065)
- ActionsManager: Less complex code (#6102) (4d53d0f)
- Remove timer utilities from Client (#6113) (5ca97c9)
- Remove typing caching (#6114) (576eee8)
- Channel: Change channel types to UPPER_CASE (#6035) (6301728)
- Managers: Rename add to _add (#6060) (9cd5e7e)
- ApplicationCommandManager: Remove unused assignment (#6063) (98a5b52)
- Rename
Constants.OPCodetoOpcode, moved objects to enums (#6065) (4eb3a2a) - PresenceManager: Have Presence extend Base and simplify add (#6056) (ded93fe)
- Presences: Remove from User, nullable on GuildMember (#6055) (afbd5db)
- Intents: Remove computed shorts (#6050) (3022b0f)
- Remove
lastMessageproperties fromUserandGuildMember(#6046) (1a27f57) - typings: General cleanup (#6047) (676118a)
- Change
xIDtoxId(#6036) (a7c6678) - Improve typings and docs related to threads (#5991) (4bf4980)
- Util: Make class extend
null(#6000) (2446ff5) - Rename events to be consistent with WS names (#6010) (a11a105)
- New node features (#5132) (1e8f012)
- Presence: Remove second assignment of
syncID(#5956) (fb8d516) - MessagePayload: Rename APIMessage (#5921) (b15d825)
- Removed
codeandsplitoptions (#5918) (985d4d6)- Co-authored-by: Jan 66554238+vaporox@users.noreply.github.com
- BREAKING CHANGE: Removed
APIMessage#split - BREAKING CHANGE: Removed
MessageEditOptions#code - BREAKING CHANGE: Removed
BaseMessageOptions#code - BREAKING CHANGE: Removed
BaseMessageOptions#split
- Collector: Make filter an option (#5903) (0d0c8f0)
- Remove exported shortcuts to util methods (#5904) (1816a93)
- Package: Remove
runkitExampleFilename(#5866) (6cceb93) - awaitMessageComponentInteraction: Use options object for lib consistency (#5852) (9dda9b7)
- *: Make typedefs for all options params (#5785) (1ac9a2e)
- GuildPreviewEmoji: Make roles an array (#5720) (4dbcaf7)
- APIMessage: Remove unused declarations (#5836) (02693bc)
- Fetch options consistency (#5824) (7111b4c)
- GuildChannel: Use Permissions.defaultBit over 0n (#5822) (19d0405)
- Remove all voice code (#5818) (fdef940)
- MessageEmbed: Remove files (#5813) (e3e466d)
- Guild: Remove region from guild and manager methods (#5766) (a1f763e)
- Enforce single param on sending/editing methods (#5758) (0467a90)
- GuildAvailable, typingStop from Constants (#4861) (dda5ee2)
- Interactions: Move Structures import out of switch block (#5763) (84e5b07)
- Remove _roles from pseudo-managers (#5721) (53d952a)
- Deps: Use async-queue package (#5662) (14c6802)
- *: Return the invalid element when erroring from Array (#5314) (eaf332f)
- MessageOptions: Move replyTo to reply#messageReference and add failIfNotExists (#5298) (1ecda83)
- Sticker: Rename Snowflake variable (#5575) (af00ec8)
- RequestHandler: Use x-ratelimit-reset-after when present (#5511) (a5d41c9)
- Remove error-silencing try/catch on event handler imports (#5542) (cdcc50f)
- Sharding: Use options objects (#5510) (c9b5353)
- Add discord-api-types as a dependency (#5539) (1b827fe)
- Rename Snowflake to SnowflakeUtil (#5502) (164ddf6)
- Guild: Remove fetchVanityCode() (#5471) (0a2e0c0)
- Collector: Make endReason a getter (#5271) (8d14ee3)
- Switch api and gateway to V8 (#4879) (ee5bc1a)
- Client: Remove fetchAllMembers option (#5257) (aaed72b)
- GuildMember: Remove GuildMember#hasPermission (#5152) (5401b92)
- Util: Remove convertToBuffer (#5237) (a33eed7)
- Message: Remove stored edit history (#5155) (8c2e6b7)
- RoleManager (#5131) (2a0dcc5)
- Message: Remove options for Message#delete (#4999) (75e6dfb)
- Client: Improve generateInvite() (#5065) (5b51392)
Testing
- Types: Add
notPropertyOftype-only utility (#6051) (03fe6ee) - Client should destroy (#5353) (4099c28)
Typings
- MessageButtonOptions: Clean up and export some button option type definitions (#6291) (ae6200e)
- Make MessageTarget extend on TextBasedChannels (#6296) (5b0621f)
- Caches: Add GuildStickerManager and GuildInviteManager (#6268) (15aea68)
- Use api-types for stricter typings (#6230) (00c2bf8)
- ButtonMessageOptions: Make button/link button typings more specific (#6212) (77c72e6)
- WsEvents: Add thread ws events (#6194) (4f1f32f)
- DataManager: Add 'K' to type parameter of 'resolveId' (#6152) (8586505)
- ColorResolvable: Readonly tuple (#6153) (1e90be8)
- Message: Mark
#threadas nullable (#6129) (ef5ba05) - Options: Add types for cacheWithLimits (#6095) (8db6df3)
- Interaction: Change inGuild return type (#6094) (60148c6)
- PartialWebhookFields: Add APIMessage to deleteMessage union (#6085) (a9e7ebd)
- Interactions: Fix function overloads (#6109) (98c6078)
- Guild: Remove fetchVoiceRegions (#6099) (a8984bc)
- Partial: Add partial reactions (#6066) (d6c43a5)
- Test: Fix overloads for channel create (5b6be0c)
- GuildInviteManager: FetchInvitesOptions (#6076) (c1eaa78)
- Fixed unreachable overloads (#6062) (7322547)
- ApplicationCommand: Fix option name (#6067) (58bbcd5)
- *: Revert incorrect unknown type changes (#6057) (2e078e4)
- Options: Should extend null (#6042) (c4aa9fe)
- Voice: Move types to the library's definitions (#6041) (185e376)
- Better fullPermissions typings (#6028) (2ab32e6)
- MessageOptions: Fix components being optional (#6005) (56b5b7e)
- *: Create mention types (#6003) (0dc5dd5)
- VoiceState: Fix optional params (#5993) (1242c54)
- ClientUser: Updated
setAFKsignature (#6011) (c40b06c) - MessageSelectMenu: Fix typings (#5995) (fe6cc0c)
- Interactions: Fix function overload types (#5989) (521d26c)
- Few missing thread channels (#5988) (941cd86)
- MessageOptions: Improved component typings (#5987) (0eeb277)
- ApplicationCommandPermissionsManager: Fix types (#5979) (388e05b)
- ThreadChannel: Make locked and archived param optional (#5980) (a08ce7d)
- *: Make hex color types compatible with ColorResolvable (#5973) (788d58e)
- CommandInteraction: Readd followUp type (#5974) (ae37d20)
- ThreadManager: Add type to ThreadManager#create options (#5969) (3174507)
- ColorResolvable: Change
stringto#${string}(#5950) (acdcb90) - Define ApplicationCommand enums in lib (#5947) (e37ef3a)
- Fix remaining Raw type references, update discord-api-types dep (#5942) (03d3a5c)
- ThreadMemberManager: Fix incorrect usage (#5928) (6065b11)
- MessageReactionResolvable: Add string (#5863) (a0b7d95)
- GuildApplicationCommandManager: Allow undefined command (#5837) (d5bb758)
- Corrected shard broadcastEval (#5834) (a0a56e2)
- MessageComponentInteraction: Update should return Promise (#5829) (08cffd6)
- Extendable: Add ButtonInteraction (#5802) (19fd162)
- Extend MessageComponentInteractionCollector correctly (#5752) (c6696d8)
- Fix awaitReactions typings for returned collection (43fc40e)
- Change remaining string IDs to Snowflakes (#5737) (ff4d6dd)
- Snowflake: Export the type (#5722) (66a6a1f)
- Use Snowflake type (#5717) (76db642)
- PermissionOverwriteOptions: Remove unused interface (#5651) (b40027b)
- WebhookMessageOptions: Omit reply instead of replyTo (#5610) (2345c6d)
- Remove typings for Client#disconnect event (#5469) (a4d09ab)
- PermissionOverwrites: Use correct parameter type for resolveOverwriteOptions (#5302) (ca5f371)
- MessageReaction: Allow message to be partial (#5303) (aac6275)
- RateLimitData: Remove timeDifference property (#5208) (80e1afb)
- Make Client#voice non-nullable (#5148) (40d77ba)
12.5.0 - (2020-11-22)
Bug Fixes
- Guild: Fetch member if already in the guild (#4967) (643f96c)
- User: Only assign to bot initially or if info is actually present (#4990) (eaecd0e)
- GuildMemberUpdate: Cache incoming members & use partials if enabled (#4986) (2e940e6)
- MessageReaction*Action: Correctly cache incoming members and users (#4969) (8b91ac5)
- MessageReaction: Add client property to typings (#5003) (042e071)
- Shard: Don't pass event arguments to exit handler (#4957) (adf2e87)
- PackageLock: Reinstall GitHub docgen dev dependency (#4958) (ed8b3cc)
Documentation
- Use npm ci instead of npm install (#4928) (efd7849)
Features
- Shard: Shard-specific broadcastEval/fetchClientValues + shard Id util (#4991) (2a6c363)
- Add support for guild templates (#4907) (2b2994b)
- Add missing error codes (#5008) (7faa73a)
- Message: Add crosspostable property (#4903) (b8fd3f6)
12.4.1 - (2020-10-24)
Bug Fixes
- Action: Attempt to get a User if GuildMember not returned (#4922) (3d158f4)
- GuildChannel: ParentID shouldn't be set in the constructor (#4919) (250c3ae)
12.4.0 - (2020-10-19)
Bug Fixes
- Webpack: Revert webpack upgrade (94c9cc2)
- esm: Add missing exports (#4911) (4bbe716)
- GuildEmojiManager: Check for guild in methods that use it (#4886) (728b3f9)
- GuildMember: Properly check permissions for hasPermissions (#4677) (7db6978)
- GuildEmojiCreate: Prevent double fire from emoji creation (#4863) (6261dd6)
- GuildMemberManager: Options.roles on 'prune' (#4838) (a45cc11)
- GuildChannel: Default
parentIDtonull(#4881) (6e4308b) - Actions: Avoid crash in InviteCreate with unknown channel (#4882) (dd12912)
- GuildMemberManager: Use actually random nonce in fetch (#4884) (937153a)
- GuildChannel: Make setTopic argument nullable (#4875) (b9ad510)
- Rest: Resolved a regression, added retried AbortError (#4852) (d234165)
- MessageManager: Throw if delete param is not MessageResolvable (#4825) (13d64e6)
- Shard: Avoid caching null child in eval/fetchClientValue (#4823) (77c0788)
- Action: Sanity-Check if Discord includes all required data (#4841) (4e79e39)
- Message: Use Promise#reject instead of Throw on Message#delete (#4818) (1e63f37)
- Action: Don't crash when partials are disabled (#4822) (8fa3a89)
- Partials: Use more user objects available from the gateway (#4791) (eeb4c14)
- lint: RESTManager warning (#4796) (5b39737)
- Typings: Remove Partial types from some events (#4781) (a28754b)
- Util: Throw token invalid for fetching rec. shard amount (#4779) (77b6a7d)
- Guild: Cache fetched widget data (#4760) (7ba9440)
- Typing: Change NodeJS.Timer into NodeJS.Timeout (#4755) (405b487)
- Correctly import extendable classes (#4744) (6aab9c3)
- typings: Bot cannot be null (#4719) (e0e2711)
Documentation
- PresenceData: Add YouTube and remove application (#4910) (a7af4a8)
- Role: Update various Role method descriptions (#4798) (222137d)
- ReactionCollector: Revise JSDoc for ReactionCollector#dispose and #remove (#4709) (372a405)
- Guild: Guild.setName() example (#4797) (dfd63bd)
- GuildChannel: ThisType should be this (#4793) (b43e742)
- MessageManager: Update example for fetchPinned (#4785) (8ac25d3)
- BaseGuildEmoji: Account for optional properties (#4723) (a363b90)
- ClientOptions: Fix typo (#4730) (cfc6867)
- APIMessage: Fix wording on comment (#4717) (05c9e30)
- Update jsdoc type for User#bot (#4716) (b6167d8)
Features
- Message: Allow custom emoji format for react (#4895) (30808f9)
- Message: Add messageEditHistoryMaxSize to limit stored msg edits (#4867) (c412cd7)
- NewsChannel: Add support for following (#4805) (f83b3d7)
- GuildManager: Add AFK and system channel options in create (#4837) (f2bbad3)
- Rest: Switch queue to AsyncQueue (#4835) (32fe72f)
- ActivityTypes: Add Competing (type 5) (#4824) (9c76129)
- Message: Add support for crossposting (#4105) (bcb7c72)
- Channel: Add isText() type guard (#4745) (b0ab37d)
- Guild: Add includeApplications option for fetchIntegrations (#4762) (3141f7c)
- UserFlags: Add renamed UserFlags (#4761) (f973163)
- Client: Allow options for generateInvite (#4741) (727b29c)
Refactor
- Improve the accuracy of docs/improve docs (#4845) (af670fc)
- ReactionUserManager: Use client property (#4829) (169d4c3)
- Client: Remove non-existant property from toJSON (#4750) (46acfac)
Styling
- Remove unnecessary eslint comment (#4758) (74ebb65)
Typings
- TextBasedChannel: Make lastPinAt nullable (#4842) (4a6fb9a)
- Activity: Move flags from Presence to Activity (#4843) (824e922)
- GuildPreview: Make description nullable (#4854) (0b59141)
- Guild: Document RELAY_ENABLED feature (#4788) (422a4dd)
- Don't use readonly arrays in interfaces (#4794) (904aecf)
- PartialUser: Fix PartialUser remove
deletedproperty (#4773) (aa25608) - Don't allow any object in the first parameter if second parameter is not given in TextBasedChannel#send (#4736) (74763ef)
- Add all types for GuildAuditLogsEntry#target (#4738) (2dc70af)
12.3.1 - (2020-08-15)
Bug Fixes
- User: Set User#bot to false if not partial (#4706) (db512d8)
12.3.0 - (2020-08-14)
Bug Fixes
- Partials: Correctly set properties as nullable (#4636) (980243f)
- APIMessage: Add reply user to allowedMentions (#4591) (b6ddd4c)
- MessageReactionAdd: Prevent double messageReactionAdd triggering (#4682) (6caeaeb)
- Integration: User might not be present (#4691) (baffbdb)
- GuildChannel: Make lockPermissions use parent overwrites (#4627) (599cde3)
- Collector: Support async (#4123) (124afeb)
- BaseManager: Properly type valueOf (#4594) (b4d6510)
- Correctly import VoiceState (#4616) (c5b6c4d)
- ApiMessage: Respect allowedMentions with split (#4588) (a663ea4)
- Message: Message#createdTimestamp uses deconstructed message id to get timestamp (#4632) (2be68e4)
- Util: Support empty array for flatten (#4590) (317f240)
- Consider #nsfw false if not present in data (#4593) (fab3153)
- PresenceStatus: Include invisible in typings (#4585) (276dddc)
- Set #nickname to null as the default value (#4641) (2adb581)
- Typings: Channel#delete returns bad type (#4118) (3df9993)
- Message: Include MessageEmbed type (#4675) (bbfc715)
- typings: Correct spelling of APIError (#4687) (c55b5c8)
- Util: Fix cleanContent mention exploit (#4663) (fb1dd6b)
- typings: Allow custom events (#4162) (47151fc)
- User: Type dmChannel as nullable (#4609) (f9f3661)
- Typing start event emitting on non text based channels (#4349) (16847a3)
- Guild: Fix vanityURLUses desc, internally use fetchVanityData (#4335) (1c275af)
- DataResolver: ResolveInviteCode to support new domain (#4281) (5955498)
- Grammatical errors in INVALID_TYPE errors (#4289) (fc4bddf)
- APIMessage: Only pass allowedMentions if content is defined (#4269) (15b5350)
- In/de-crement max listener for client events (#4168) (407bc77)
- Voice: Correctly set speaking data in the voice ssrcMap (d3c9384)
- MessageEmbed: Explicitly mark
proxyIconURLas undefined (#4097) (605ee85) - Typing: DmChannel bulkDelete (#4115) (819e04a)
- Typing: SetSpeaking public (#4109) (e3303ac)
- Webpack: Add Buffer polyfill in browser (#4102) (67a74c3)
- Guild: Name acronym (#4104) (97cbbb1)
- PacketHandler: Guild members chunk packet handler should… (#4092) (5af1a55)
- Typings: Add optional Set to shardReady event (#4099) (97d23de)
- User: Jsdoc for User#flags (#4094) (6fbaf0a)
Documentation
- Updated applications URL (#4699) (0b38c5d)
- ReactionCollector: Update remove and dispose events (#4136) (139e56c)
- Embeds: Added descriptions to the typedefs (#4303) (2a7f749)
- Constants: Improve large_threshold description (#3744) (de8d26d)
- Ban: Days must be 0-7 (#4693) (446bbfe)
- Welcome: Change discord badge to shields.io for consistency (#4633) (bd2bb0e)
- Client: Fix docs for login method (#4350) (9d747d1)
- Guild: Clarify vanity URL documentation (#4125) (05cbf70)
- CategoryChannel: Fix children being incorrectly marked as nullable (#4620) (f628981)
- examples: Fix example img (#4678) (755f379)
- ReactionManager: Clarify cache Collection keys type (#4683) (5b716c5)
- Message: Add NewsChannel type to Message#channel (#4680) (b0e53e9)
- Make use of MessageResolvable type for bulkDelete (#4661) (0e61fca)
- erlpack: Discordapp to discord (#4288) (9a1c56c)
- Guild: Description of Guild#premiumSubscriptionCount (#4324) (bd34965)
- GuildManager: Resolve returns a GuildChannel (#4333) (88a62d5)
- WebSocketShard: Add missing properties (#4268) (2583ad5)
- ShardingManager: Fix typo in JSDoc (#4158) (766b91d)
- ShardingManager: Remove experimental status of Worker threads (#4157) (99612ba)
- VoiceState: Remove permissions required from description (#4156) (2617d3c)
- Message: Add timeout to Message#delete example (#4090) (863a709)
Features
- Trigger userUpdate on GUILD_MEMBER_UPDATE (#4697) (178439e)
- GuildMemberManager#prune: Roles query param (#4142) (f1194af)
- GuildManager: Adds GuildManager#fetch (#4086) (2742923)
- typings: Use readonly arrays in parameters (#4692) (f451be0)
- typings: Add number type for setExplicitContentFilter method (#4694) (e7eda72)
- Bypass cache check with forceFetch param (#4592) (290938b)
- BitField: Add problematic bit to error (#4617) (0225851)
- Guild: Updates for Community guilds (#4377) (57ca3d7)
- Guild: Discovery splash (#4619) (5be6630)
- types: BitFieldResolvable use ReadonlyArray (#4604) (f2f31a1)
- Deprecate GuildEmbed methods and properties in favour of GuildWidget (#4121) (e92cbc4)
- GuildEmoji: Cache the author (#4334) (b7740d4)
- Util: Add missing colors to docs (#3843) (03580b2)
- Add Blob support for browser (#4338) (1fbaf88)
- typings: TypeScript support for changing $browser (#4667) (e54c21b)
- Module: Add ReactionManager to exports (#4372) (2b6e6d8)
- Message: Support pin and unpin with reason (#4586) (c79ac4d)
- MessageMentions: Fix typings/docs, add resolvables support (#4339) (214981f)
- voiceState: Add self_video property (#4346) (54a7fda)
- Guild: Add fetchVanityData (#4103) (8030612)
- REST: Allow options.query as URLSearchParams (#4143) (257371d)
- GuildMemberManager: Nonce and chunk_count for _fetchMany (#4130) (ec0227a)
- Guild#fetch: WithCount param (#4111) (0266917)
Refactor
- GuildMemberManager: Use data instead of query (#4370) (49ad279)
Typings
12.2.0 - (2020-04-17)
Bug Fixes
- PermissionOverwrites: ResolveOverwriteOptions description (#4088) (d709656)
- Guild: Sort text, news, and store channels together (#4070) (fcacf1b)
- Typings: GuildPreview#features and Integration#type (#4080) (72a33cb)
- ClientApplication: Type fetchAssets as resolving with an a… (#4078) (72a7f2b)
- StreamDispatcher: Correct property types (#4059) (9ba4eff)
- BaseManager: Remove declaration of remove method (#4069) (a07c3c2)
- Message: Update MessageMention's roles on message edit (#4016) (9e4c39a)
- Presence: Add missing
userIDproperty to declarations (#4013) (691e96c)
Documentation
- RoleManager: Everyone role can't be null (#3995) (a88b723)
- Webhook: Id and token information (#3962) (da5d928)
- MessageEmbed: Document the constructor (#4077) (4625881)
- MessageManager: Document return type of delete (#4012) (4c2308b)
- ShardClientUtil: Link Shard#message from send method (#4028) (7ce58db)
Features
- DataResolver: Prefer streams over buffers (#4075) (12187ef)
- ClientOptions: Allow setting default allowedMentions (#4085) (7c6000c)
- ESModules: Importing for esm modules (#3998) (0a3759f)
- GuildMemberManager: Customisable timeout for _fetchMany (#4081) (ff3454e)
- User#flags (#4060) (2e5a647)
- Message: Add allowedMentions to MessageEditOptions (#4071) (a8db988)
- Add supported 4096 image size and jpeg format (#4031) (1330e2d)
- Guild: PUBLIC_DISABLED and WELCOME_SCREEN_ENABLED features (#4009) (849c632)
12.1.1 - (2020-03-27)
Bug Fixes
- Typings: Use Channel instead of *ChannelTypes in ClientEve… (#4001) (5e49126)
12.1.0 - (2020-03-27)
Bug Fixes
- WebsocketShard: Pass ignore ACK when Discord asks for a beat (#3993) (65e8c92)
- Typings: Client message event should not emit PartialMessa… (#3983) (f2fdb93)
- Always emit guildUnavailable when a guild becomes unavailable (#3975) (2157401)
- TypingStart: Typing methods returning falsy values (#3939) (495cfa9)
- Guild: Default max presences value (#3970) (0f38d80)
- Partials: Correctly document properties for partialized st… (#3922) (8b906c6)
- Channel: Ensure partial DMChannels get created (#3954) (8c0a940)
- MessageReaction: Fetching a removed partial custom emoji (#3955) (a36a65b)
- RequestHandler: A global timeout implies limited (#3950) (7b38f46)
- Util: CleanContent should remove mentions after formatting… (#3936) (44ac5fe)
- GuildMemberRolesManager: Type error should mention Role an… (#3931) (e5264ab)
- GuildEmojiManager: Throw an error if image resolving fails (#3934) (ca75eb5)
Documentation
- MessageMentionTypes: Move possible values to description (#3990) (fee9a21)
- MessageReaction: Fix jsdoc for count (#3980) (993411d)
- VoiceState: Improve phrasing of setChannel method (#3959) (cd52424)
- MessageEmbed: Correct description of createdAt (#3897) (a5267e1)
- PlayInterface: Update example for broadcast (7994b56)
Features
- GuildPreview: Implement support for "preview" endpoint (#3965) (88133d0)
- AllowedMentions: Add support for MessageOptions#allowedMe… (#3893) (df324e2)
- Permissions: Adds VIEW_GUILD_INSIGHTS (#3928) (5b9cdc5)
- typings: Allow event listener type param inference (#3944) (2be9eba)
- Types: Support type-guarding using Channel#type string li… (#3918) (69d69f2)
Typings
- Add back accidental removal (#3984) (5da734c)
- Partials: Fix unexpected TSC errors (#3957) (a660515)
- StreamDispatcher: Remove end event (#3945) (609a545)
- PartialTextBasedChannelFields: Fix send overload (#3942) (a53404f)
- PartialTextBasedChannelFields: Fix send overloads (#3935) (d43f78c)
- Client: Remove typingStop event (#3919) (5b8f022)
12.0.2 - (2020-03-08)
Bug Fixes
- APIRequest: Only use form data when actually sending files (#3917) (a4f7e07)
- MessageEmbed: Skip validation of fields when inside a message (#3894) (3e169cb)
- Guild: Resolve role id and call existing handler (#3904) (f387337)
- Adapt #manageable to check for CONNECT for VoiceChannel (#3885) (61ef46f)
Documentation
- Structures: Add ExtendableStructure typedef (#3908) (79a28b5)
- Make collections more accessible in docs (#3907) (b5dfb55)
- GuildMemberResolvable: An member -> a member (#3909) (3c653aa)
- BitField: Document constructors of deriving classes (#3903) (bca4b03)
- sharding: ShardingManager#createShard doesn't spawn the s… (#3875) (b5a7e5c)
- faq: Replace ffmpeg-binaries with ffmpeg-static (#3886) (bfcd4be)
Performance
- VoiceConnection: Skip redundant volume transformer on join (#3916) (69d4153)
Testing
- Update tests (#3865) (9b5f005)
12.0.1 - (2020-03-01)
Bug Fixes
- guild: VerificationLevels (#3873) (66e625c)
- message_mentions: Lazy require GuildMember to avoid circular (#3877) (cd746f3)
12.0.0 - (2020-03-01)
Documentation
- Clarify which checks GuildMember#manageable does (#3870) (2d67fbb)
- PartialRoleData: Id is optional (#3866) (c7f4485)
Features
- Document intent error code messages (#3871) (f4b1b39)
Refactor
- Make LimitedCollection an implementation detail (#3872) (544bb78)
11.6.1 - (2020-02-29)
Bug Fixes
- playinterface: Lazy require VoiceBroadcast to avoid circul… (#3864) (713309e)
- typings: Enum values for ChannelType (#3861) (acdd832)
- typings: Remove duplicate VerificationLevels (#3862) (09e4912)
- typings: For intents (#3860) (a6d3501)
Documentation
- Bump version to 11.6.0 (#3863) (34d352d)
11.6.0 - (2020-02-29)
Bug Fixes
- guild: Import paths (d9e12b8)
- MessageEmbed: Prevent possible destructuring error (bbe169d)
- Shard: Cleanup after settling spawn promise (#3799) (f95df6f)
- typings: MessageOptions#split (#3834) (cf646b5)
- Client#sweepMessages should throw an INVALID_TYPE error (#3828) (0280734)
- MessageEmbed: Various typos and fixes (#3819) (52c0a40)
- ReactionManager: Update message if partial (#3789) (bc5e295)
- Message: Handle undefined/null content in cleanContent getter (#3778) (a36f386)
- Guild: Use snake case when editing system_channel_flags (#3781) (878cc05)
- BaseManager: BaseManager#valueOf should return cache (#3776) (62b227c)
- TextChannel: Remove old nsfw regex check (#3775) (324d9e0)
- Guild: Update premiumSinceTimestamp on guild member update (83bc6e0)
- GuildMember: Manageable - let owner override (#3766) (364914f)
- GuildMember: Manageable - let owner override (#3765) (3f03901)
- Voice:* Fix speaking event and voice receive (#3749) (fbcd363)
- Remove for..in in favor of Object.keys (#3745) (6d7e1e4)
- TextChannel#bulkDelete: Use GenericAction#getMessage to handle return value correctly (#3664) (d8b4725)
- ClientUser: Verified and enabled properties resetting (#3733) (3ea9ac5)
- *Collector: Always run postCheck, remove 'translatation' of message collector options (#3718) (099a1a4)
- RichPresenceAssets: Add Twitch preview link for largeImageURL (#3715) (a505a55)
- Only setMaxListeners when max listeners is not 0 (#3716) (903f6ca)
- ClientDataResolver: Return a user in resolveUser when passing guild (#3719) (464ef25)
- VoiceConnection: Use Client#clearTimeout to clear timeouts (#3709) (c5d2b96)
- Presence: Account for multiple activities everywhere (#3703) (f501d06)
- Regression (changing voice servers) (629c57f)
- Guild: Assign GuildMember#selfStream, if present, when adding a member (36c0496)
- ShardingManager: Assert shardList to be spawned, not totalShards (#3649) (400cb56)
- BitField: Remove for..in in favor of Object.entries (#3650) (11f9118)
- Provide count on bulk deletion (#3682) (59205a2)
- typings: Remove VoiceChannel#connection (#3676) (f74ae12)
- ChannelDelete: Mark messages of a deleted channel as deleted (#3572) (d1d0d75)
- Voice:* Internally disconnect and cleanup when forcibly disconnected (#3597) (cbabc16)
- Webhook: Edit channel when editing avatar (#3588) (e660ea9)
- APIRouter: Use proper symbol for util.inspect (#3589) (1003607)
- Invite: Fix valueOf returning undefined (#3582) (d39f179)
- *Collector: Account for a max listener count of 0 (#3504) (2e20e80)
- VoiceConnection: Clear timeouts using Client#clearTimeout (#3553) (9bcb6a0)
- VoiceReceiver: Delete opus encoder from map in stoppedSpeaking (#3499) (91600a6)
- Document ChannelData#reason (#3549) (7011c51)
- Message: Check for edited_timestamp in data when patching message (#3535) (9e0705c)
- docslink: Partialtypes (#3510) (c3228b4)
- Set messages deleted when their channel is deleted (#3519) (48856c0)
- Util: Make arraysEqual avoid mutating the input arrays (#3506) (8ddd061)
- typings: GuildChannel#parent and #parentID are nullable (#3509) (2a78b00)
- typings: GuildChannel#parentID is nullable (#3508) (e936f07)
- GuildChannelStore: Default channel type incorrectly set (#3496) (a03e439)
- BitField: Throw when resolving invalid string constant (41c0dd4)
- stores: Add symbol.species for not-actual-stores (#3477) (60f89bd)
- Typings for this-polymorphism of collections (#3472) (d5831df)
- typings: Remove leftover typeof (ea9e144)
- typings: Collection constructor (33ecdd4)
- typings: Collections import (ac44a7f)
- rate-limits: Reactions buckets need to be shared with sub-… (#3439) (278f185)
- Role: Throw TypeError in comparePositionTo (#3466) (8e0f525)
- Browser-compatability (4fc461c)
- Util#splitMessage when destructured (#3456) (5d95a4b)
- typings: Partially revert #3448 (89d9b0f)
- GuildAuditLogsEntry: Default to object with id for deleted targets (#3373) (43c0a79)
- ChannelStore: Return existing DMChannels within add() (#3438) (2a3fb70)
- GuildMemberStore#_fetchMany (#3420) (cc488a8)
- Webhook: Return raw data if the channel is unavailable (c786867)
- ReactionUserStore: Remove method firing messageReactionRemove event twice (#3277) (1851f74)
- GuildMemberRoleStore: Correctly reference the everyone role (#3434) (12b48b7)
- Message: Delete method caused messageDelete event to fire twice (#3252) (8ae7a30)
- Bots being unable to connect (f79f024)
- GuildMemberStore: Reject BAN_RESOLVE_ID error instead of throwing it (#3425) (9e76f23)
- typings: Send overloads (d14db52)
- GuildChannel: Return GuildChannel in setPosition instead of Guild (1121b2f)
- Update issue templates (651ff81)
- ClientApplication: Fix ternaries (b65a4f0)
- ClientApplication: Owner is still nullable (1dd4c04)
- Guild: Allow fetchMember to be used with an uncached user (#3333) (6f49aad)
- docs: Backport documentation for Presence#clientStatus (#3315) (0c61019)
Documentation
- readme: Remove mention of uws (08e7328)
- TextBasedChannel: Fix typo (#3858) (a04b4ca)
- shard: Add .cache to GuildManager in fetchClientValue exa… (#3857) (31ee0d8)
- MessageEmbed: Document
articleembed type (#3846) (31a3a86) - SystemChannelFlags: Properly document and use resolvable (#3794) (d406f42)
- MessageAttachment: Mark spoiler as readonly, order spoiler in typings (#3714) (ccb83a7)
- WSEvents: Add missing, remove duplicated and userbot events (#3800) (c4c6ad4)
- PermissionResolvable: Move definition outside of class (544b14a)
- Clarify what zlib-sync does (#3785) (21d37ed)
- Guild: Channels is a manager of channels (#3779) (d43692b)
- Info tag for ActivityType regarding CUSTOM_STATUS (#3758) (b7ccf9a)
- Info tag for ActivityType regarding CUSTOM_STATUS (#3757) (3f8ea38)
- Add extends to ChannelManager, cache is not nullable, resolveID accepts an object (#3771) (94bb268)
- *Manager: Fix child classes' cache type annotations (#3777) (92bc634)
- Guild: FetchBan returns a promise (#3752) (8e9e93d)
- MessageMentions: Backport mention order notice (#3712) (d8419ac)
- MessageMentions: Channels are actually in order (#3705) (6302afb)
- Replace all occurances of node-opus with @discordjs/opus (#3698) (6a0fe46)
- MessageMentions: Add sort order notice (#3693) (7f99be7)
- ReactionStore: ResolveID takes a reaction, not role (#3617) (1237133)
- Client: Clarify whose ToS are being violated (#3580) (1d66062)
- README: Link to guide page instead of source (#3566) (1352bff)
- README: Travis badge => github actions badge (#3569) (9a31e6e)
- NewsChannel and StoreChannel (#3557) (cc466fa)
- readme: Table of contents (#3539) (e26697f)
- VoiceStatus: Document name -> value, link in VoiceConnection#status (#3500) (1861352)
- VoiceStateUpdate always sends an instance of VoiceState (#3537) (a61cfc3)
- Rename LURKABLE to PUBLIC and update GuildFeatures type (#3484) (ea8b4e7)
- Document Message#author as nullable (#3464) (d252ddf)
- ClientOptions: Document unit of restRequestTimeout (#3449) (4c08812)
- Fix voice broadcast example code (#3436) (3fcc862)
- Guild: Add missing features (#3406) (e562564)
- Fix typos (#3404) (d8516ef)
- VoiceStateStore: Document and type the class (#3294) (20d7b3d)
- Team:* Fix appliction -> team, tag -> mention (4c11347)
- Add zucc to docsite welcome page (#3355) (61e2e3e)
- RoleStore: Update -> create in create method (#3349) (6100ace)
- Presence: Document client property (#3342) (f82f0af)
- Client: FetchVoiceRegions returns a promise (6cd4c27)
- Guild: Add missing features (#3336) (19ef451)
- *Resolvable: Make them appear on the docs (4a2335c)
- Constants: Add missing GUILD_EMOJIS_UPDATE to WSEvents (#3325) (ddcc6cf)
Features
- Intents bitfield (#3844) (8a2f893)
- MessageEmbed: Support EmbedFieldData[] instead of EmbedFi… (#3845) (6650d50)
- Reimplement disableEveryone into disableMentions (9c8aaf1)
- GuildMemberStore: Add options.withPresences to fetch() (#3562) (de4b4a0)
- GuildManager: Allow for more options for GuildManager.cre… (#3742) (2ee0f1c)
- RichEmbed: Add toJSON returning an api-compatible object (97457e1)
- RichEmbed: Backport spliceFields and normalizeField (#3762) (6eaf63f)
- MessageEmbed: Re-introduce MessageEmbed#addField (#3850) (df88729)
- Replace disableEveryone with disableMentions (#3830) (9cb306c)
- GuildEmoji & Invite to GuildResolvable (#3637) (91a025c)
- Collector: Addition of resetTimer() (#3825) (acf724e)
- GuildAuditLogs: Handle new event types (#3602) (a69ebbe)
- MessageEmbed: Change toJSON method to return an api-compatible object (#3813) (4ec01dd)
- Bring embed builder field manipulation in line with underlying array functionality (#3761) (b727f6c)
- PartialGroupDMChannel: To support Invite#channel for group dms (#3786) (161f907)
- Guild: Add rulesChannel and publicUpdatesChannel (#3810) (b0aed05)
- Guild: Add rulesChannel and publicUpdatesChannel (#3810) (bea6da6)
- Add new MessageTypes (14 and 15) (#3812) (b0d0b81)
- Message:* Add missing fields, add support for flag editing (#3795) (7e9c995)
- Guild: Add support for system channel flags (#3793) (330c410)
- GuildChannel: Add support for clone options, deprecate old signature (#3792) (ab866d6)
- Add new MessageTypes (14 and 15) (#3812) (ef8acec)
- Message: Add support for flag editing / embed suppression (#3674) (46ee06b)
- Message: Throw a TypeError if delete is passed a non-object (#3772) (592021d)
- BitField: Add BitField base class (#3759) (46e8bc4)
- GuildAuditLogs: Handle new event types (#3760) (dbdb49e)
- Remove datastores and implement Managers (#3696) (bbdbc4c)
- Integration: Add guild integrations (#3756) (c955fd0)
- Constants: Add CUSTOM_STATUS to ActivityTypes (2589db6)
- Presence/Game: Multiple activities and custom status (#3747) (17b8b23)
- Collector: Add idle option (#3746) (ccd6043)
- MessageReaction: Add remove method and Client#messageReactionRemoveEmoji (#3723) (030d263)
- MessageReaction: Backport removeAll and MessageReactionRemoveEmoji event (#3741) (ab7f9e8)
- GuildMemberStore: Make timeout refresh after every GUILD_MEMBERS_CHUNK (#3645) (90aa5b3)
- Webhook: Backport missing properties (#3710) (30adb37)
- MessageReaction: Backport animated, client, created*, and url (#3711) (88b675d)
- MessageAttachment: Add spoiler getter (#3713) (4ca1864)
- Client: Add support for INVITE_CREATE and INVITE_DELETE events (#3720) (929ff9c)
- Client: Backport INVITE_CREATE and INVITE_DELETE events (#3728) (40afbc1)
- Guild: Add fetchBan method (#3726) (c779fe3)
- Guild: Add setBanner method and banner to edit (#3708) (01826ae)
- Message/Mentions: Implement caching of members (#3684) (0f49d67)
- Collectors: Make collectors auto-stop when relevant structures are deleted (#3632) (cbb8db3)
- Use updated eslint action (#3699) (d096e40)
- Presence: Add support for multiple activities (#3661) (ee0b7c1)
- Constants: Backport VerificationLevels and missing APIError codes (#3688) (07996d1)
- Dynamic property for ImageURLOptions (#3530) (8014ddc)
- Speaking: Add PRIORITY_SPEAKING bit (#3680) (b5825c3)
- Webhook: Add ability to change channel and specify reason to edit (#3587) (fbe9bc4)
- Permissions: Add any method (#3571) (367c800)
- Partials: Add DMChannel/MessageReaction#fetch() and PartialTypes.REACTION (#3474) (6af0da1)
- RichPresenceAssets: Add Twitch preview link for largeImageURL (#3655) (bf31b28)
- MessageMentions: Cache mentioned members (#3601) (97eac66)
- Webhook: Add type property and created* getters (#3585) (ea76a56)
- Widen GuildResolvable to include more structures (#3512) (b4f00bf)
- Guild: Add systemChannelFlags (#3559) (f578cce)
- Add new MessageFlags.FLAGS & User#system (#3603) (4378283)
- Webhook: Addition of Webhook#avatarURL function (#3625) (330d5db)
- Activity: Support for CUSTOM_STATUS activity type (#3353) (2ca74d6)
- GuildAuditLogs: Add new event types (#3584) (1bcc0c2)
- MessageAttachment: Add spoiler property (#3561) (38d370f)
- GuildMember: Add selfStream (#3522) (96037e1)
- GuildMember: Filter out duplicate roles when updating (#3502) (f91ad70)
- VoiceState: Add VoiceState#streaming (#3521) (a8f06f2)
- GuildChannel: Backport permissionsLocked getter (#3507) (2610bf5)
- External collection package (#2934) (dad0cd8)
- constants: Add verificationLevels (#3369) (37ecf7b)
- Partials: Add DMChannel/MessageReaction#fetch() and Parti… (#3261) (b0047c4)
- Guild#partnered (#3444) (6f83e71)
- VoiceState: Add kick method (#3462) (c86a615)
- Permissions: Add new method Permissions#any (#3450) (a6810e2)
- typings: Reply overloads for splitmessage (c5cbf86)
- Abort Requests that takes a lot of time to resolve (#3327) (e4309b2)
- Invite: Add targetUser(Type) (#3262) (d62db23)
- Util: Fix animated part of parseEmoji regex and make id optional (#3407) (b662678)
- Collector: Allow collectors to be consumed by for-await-of loops (#3269) (6d3c55b)
- Overload for split always returning an array (#3411) (5af8cb8)
- Util.splitMessage always return an array (#3035) (e645dd6)
- typings: Constants export (#2915) (547bf83)
- Collector: Add idle time for a Collector to stop itself (#2942) (f1433a2)
- Teams: Backport support for teams (#3357) (0cd7556)
- Guild: Add banner to edit method and add setBanner method (#3364) (adb0823)
- Teams support (#3350) (a22aabf)
- Emoji: Backport delete method (#3343) (c355236)
- Guild: Add support for premium/boosting (#3332) (b892436)
- Guild: Backport misc properties and setRolePositions (#3337) (e6a378b)
- Guild: Default iconURL to gif if animated (#3338) (1bec28b)
- Guild: Add setRolePositions method(#3317) (8bc8ffe)
- Add support for premium guilds (#3316) (c877580)
Refactor
- GuildChannel: Change overwritePermisions to accept an… (#3853) (e4f567c)
- Add some more consistency (#3842) (1af1e0c)
- Remove unused error in catch statements (#3820) (0a1b9a5)
- MessageEmbed: Simplify initialization of files property (#3814) (b347e9e)
- VoiceChannel: Use Permissions.FLAGS in speakable (#3780) (562b5bf)
- Remove
utilalias export (#3691) (53a1f8f) - TeamMember: Remove client from constructor (#3409) (ab27dd0)
- Move Guild#defaultRole to RoleStore#everyone (#3347) (2df4f22)
- Util.escapeMarkdown: Allow separate escaping and add tests (#3241) (00c4098)
- TeamMember: Make id a getter (d7b2146)
Styling
- Change let to const in MessageMentions (#3483) (d280d1b)
Typings
- Refactor how channel types are done (#3808) (d33fc74)
- WebhookClient: Client is not a client (#3838) (6109669)
- WebhookClient: Client is not a Client (#3829) (44ff67d)
- MessageEmebd: Fix typings for addFields (#3821) (54f24d1)
- MessageEmbed: Properly mark properties (#3822) (967b533)
- MessageEmbed: Add interfaces for props, fix copy constructor (#3492) (e57ef25)
- Invite: Channel can be a PartialGroupDMChannel (#3823) (28490e8)
- AddGuildMemberOptions: Change accessToken from String to string (#3815) (ecd8ccc)
- Constants: Add VerificationLevels (#3811) (f6075a6)
- Guild: Mark afkChannel* & applicationID as nullable (#3805) (f852308)
- Add invite events to WSEventType and constants (#3782) (6770c7c)
- GuildMemberManager: Fetch with no parameters returns collection (#3773) (149f72b)
- Add HTTPOptions#api and export Constants as a value (#3768) (fe7df70)
- Constants: Add CUSTOM_STATUS to ActivityTypes (a12e1e8)
- TextChannel: Topic can be null (#3687) (17237c7)
- RichPresenceAssets: *ImageURL's options are optional (#3727) (877577b)
- GuildEmoji: Id isn't nullable (#3694) (69c79a4)
- VoiceBroadcast: Add subscribers property (#3677) (45cd58b)
- Fixed build error (#3689) (62afafd)
- BaseClient: Remove delay parameter from setImmediate (#3667) (a53d865)
- GuildEmoji: Make url not-nullable (#3656) (155b682)
- ShardingManager: Add options.shardList (#3657) (c734979)
- Bitfield: Add hasParams to toArray, fix serialize's type (#3579) (fc27ce1)
- TextChannel.topic & NewsChannel.topic should be nullable (#3628) (e13b3f5)
- Extendable: Add missing channels (#3581) (7d74e7e)
- Bitfield: Use IterableIterator instead of Iterator (#3599) (f56b442)
- GuildAuditLogsFetchOptions: Specify concrete type of 'type' property (#3586) (cbde819)
- Util: Use StringResolvable (fixes old pull) (#3556) (99466a9)
- GuildEmoji: Restore deletable, remove inherited property deleted (#3543) (16db92e)
- Emoji: Remove deletable, add deleted, mark nullable props (#3542) (ca1bd61)
- Optional reason for setNSFW and add deleted properties (#3505) (a8e3657)
- Mark GuildMember#nickname as nullable (#3517) (94ce19d)
- Mark GuildMember#nickname as nullable (#3516) (3458693)
- Add missing rateLimitPerUser property (#3480) (7485550)
- Make TypeScript interaction with channels better (#3469) (d05334f)
- GuildChannel: Add members getter (#3467) (4072ffb)
- Client: Remove 'resume', add 'replayed' parameter to 'shardResumed' (#3455) (9e6a73d)
- DataStore: Correct return types for resolve, resolveID and remove (#3448) (745a0ea)
- Switch overloads of RoleStore#fetch (#3397) (7fae6e5)
- Guild: Add typings for setRolePositions (8e18572)
- GuildChannelStore: Add CategoryChannel as possible return value (#3326) (e87e4a6)
11.5.1 - (2019-05-29)
Bug Fixes
- Decode voice ws data as json (8652e47)
- StreamOptions#volume typings (#3303) (d34b624)
- Delete VoiceStates even for uncached members (db56e0c)
- Message#pinnable: You can't pin system messages (#3279) (8c213e9)
- Message#pinnable: You can't pin system messages (#3279) (abebeac)
- GuildMember: Do not create a channel key when editing (06b72ee)
- GuildMember: Do not create a channel key when editing (3ad16fa)
- typings: Guild#member can return null (#3274) (97de79b)
- READY: Do not overwrite Client#user when reidentifying (1bafa4b)
- WebSocketManager: Rethrow unknown errors when connecting a WebSocketShard (16fcfa3)
Deprecation
- Explicitly mark everything deprecated as
@ deprecated(#3307) (db492e6)
Documentation
- StreamDispatcher: Specify pausedTime is in milliseconds (#3295) (34006cb)
- ChannelCreationOverwrites: Revert incorrect rename of "id" property (#3273) (e3d03ad)
- TextChanne: Specify unit of rateLimitPerUser (#3272) (363cec3)
- TextChanne: Specify unit of rateLimitPerUser (#3272) (55447fd)
- Guild: Fix typo in example of createChannel (c844a7b)
Features
- Throw custom error for uncached Guild#me (#3271) (3f1232e)
Typings
- VoiceState: Add connection getter (#3292) (9ca36b8)
- Guild: Remove voiceConnection, add voice, cleanup rest (97f3b6c)
- Collection: Use T in accumulator and initialValue when reducing (#3284) (b3060ea)
11.5.0 - (2019-05-11)
Bug Fixes
- Partials: Client#event:messageUpdate(oldMessage) and MessageReactionAdd on guild channels (#3250) (0dd3ed7)
- Client: Type status and do not throw an error if accessed before login (67da457)
- WebSocketConnection: Stringify data when no websocket is available (60013b7)
- ClientUser: Lint (aa253d9)
- Typing map being reset for ClientUser (#3216) (4e0cf87)
- Not checking for guild when creating a channel (e0cfb7f)
- Channels being removed from guild.channels (4d7fc03)
- MessageCreateAction: Remove redundant GuildMemberStore#add call (39115c8)
- Guild: Only update emojis when they are present in the payload (6a07715)
- typings: Collection#find & findKey can return undefined (#3228) (3f6d08a)
- Old objects not being cached (#3225) (23e6414)
- Structures: Allow multiple extensions by checking prototype chain (#3217) (52b4f09)
- Emit resume event, silent disconnects, error event param (#3192) (1514df0)
- PresenceUpdateAction: Emit presences again (#3214) (cde955c)
- typings: Remove duplicated Guild#defaultRole (#3211) (39fd8fd)
- Guild: Sort roles with the same position in the correct order (#3184) (923c945)
- ApiRequest: Filter out null query values (00eb7e3)
- ShardingManager: Do not spawn the last shard early (bfab203)
- Remove GuildChannel fallback, and remove GuildChannel as extendable (#3165) (bb92289)
- Internal Sharding, this time fixed™ (#3140) (3f5161e)
- MessageReactionRemove not emitting for partial messages (#3125) (2341d13)
- APIMessage: Edit shouldn't remove content (#3129) (1673b6f)
- Role: Proper undefined check for data.permission when editing (579283d)
- Emoji: Reject explicit error when MANAGE_EMOJI permissions are missing (#3063) (45a17e7)
- Util: SplitMessage throws an error if a chunk is too large (#3060) (1618829)
- GuildMember: Add explicit channel resolve error to member edit (#3059) (a0ff72b)
- Sharding issues, silent disconnects and code cleanup (#2976) (793341d)
- Ensure VIEW_CHANNEL permissions before trying to join (#3046) (7324a99)
- WebSocketShard: Report correct resumed event count (#3019) (f2ed93c)
- Guild: Ignore voice states referencing an invalid channel (73aaab5)
- ShardClientUtil#id: Erroneously reporting as an array (8230255)
- TextBasedChannel: Added missing lastMessage functionality in textchannels (#2999) (7186c91)
- WebSocketShard: Add websocket send error handling (#2981) (5cbdf38)
- GuildBanRemove event name (#2983) (b5d5c69)
- Util: Throw an explicit error if a chunk exceeds the max length (#2936) (ecaec29)
- GuildChannel: Add explicit channel resolve error to member edit (#2958) (23a16c3)
- Sharding Issues & Cleanup (#2952) (9085138)
- ShardClientUtil#count and ShardClientUtil#id typedef (#2956) (e793338)
- (GuilChannel): clone method not taking overwrites into account (#2932) (980d71f)
- Client#userUpdate receiving wrong packet (08002d0)
- Client#raw emitting twice (7796cb5)
- Client#shards not being set properly (be0d1cd)
- VoiceConnection: Compare new speaking to old to avoid TypeError (01476de)
- VoiceConnection: Use Speaking#has to fire _stoppedSpeaking (#2896) (2ba0003)
- Client#voiceStateUpdate: NewState is guaranteed (1607612)
- Emit voiceStateUpdate on guildMemberRemove (#2892) (183ba25)
- Revert #2768 (#2848) (950abd4)
- Shard: Use DISCORD_TOKEN instead of CLIENT_TOKEN, see #2843 (73b9b0e)
- ClientPresence: Use possibly extended constructor from structures (6b810b2)
- typings: Fix compilation with 'strict' enabled (#2845) (21999fa)
- Webhook: APIMessage require should be a const (0ab69c5)
- Webhook: APIMessage is not circular, fixes WebhookClients (c0a9b08)
- Webhook#send not resolving content (53420fa)
- typings: Remove UserConnection, fix various constructors (1d77d1a)
- HTTPError: The path property should actually be the path (ead99a5)
- typings: Move static properties above methods (b1ce602)
- Emit ReactionCollector#remove when reaction is removed by collected user (#2803) (038b142)
- Guild#deleteEmoji: Reject non emojis / emoji IDs (#2793) (cd58599)
- Better global ratelimit management (#2801) (989c365)
- Reactions ratelimits (#2795) (f326fe6)
- GuildChannel#lockPermissions: Properties allow and deny always returning undefined (#2800) (1fc84a9)
- Private_channels always returns an empty array on ready (#2787) (9c2aeb7)
- Guild#addMember incorrectly resolving userID (93bf430)
- Voice not throwing errors on bad stream input (#2786) (6f62d7d)
- ClientApplication: Message#application is a partial ClientApplication (82993fb)
- webpack: Properly minifying (02f98cd)
- webpack: Properly emitting process deprecation warnings (7684ad3)
- Actually fix Readonly typos (928fb30)
- Typo in Activity#flags (c59d329)
- Disable getter-return (5523233)
- Pin & update deps (d3e7dbc)
- WebhookClient should handle ratelimits properly (4ee3cf0)
- RequestHandler: DiscordAPIError#path should be the path, not the route (d91deef)
- Pin peer-deps to the latest version we allow (ab0ede0)
- Pin dev-deps to a higher version to avoid problems with upath on node 10 (8afc1fa)
- GuildBanAddHandler: Not emitting guildBanAdd for uncached users (#2763) (e935611)
- Handle async stacks correctly (#2744) (3f81b61)
- Permissions: Permissions itself is a valid PermissionResolvable (5d889be)
- GuildAuditLogs: Default target to object with target_id (#2742) (700201e)
- Message: Properly check for an edited_timestamp in patch (616e0dd)
- Fix GuildMember#presence getter and cleanup (#2751) (6506252)
- Client: Do not redefine _timeouts and _intervals of BaseClient (#2748) (7525474)
- Util#cleanContent parsing of GuildMember (bb0700a)
- StreamDispatcher doesn't emit finish if ended while paused (#2648) (bfde1dd)
- Message passing empty data to GuildMember#_patch (edf9c44)
- GuildMemberStore now works with custom structures again (d276850)
- GuildMemberStore now patches existing members (#1870) (332e30d)
Documentation
- (Client): disambiguate the description of channels collection (#3251) (8915bc1)
- faq: Bump to node 10.0.0 (#3224) (f7f4607)
- Update node version requirement, npm install links, add update guide (#3220) (d177877)
- Collector: Specify the unit for
CollectionOptions#time(#3219) (bccbb55) - WebSocketShard: Mark non-nullable parameters as non-nullable (#3209) (eb537b6)
- Presence: Add ClientPresenceStatus typedef (#3208) (d9a053d)
- Collection: Fix findKey jsdoc (#3204) (3cd224d)
- faq: Add a link to the guide, restructure a bit (#3082) (2af101e)
- Document constructors of extendible structures (#3160) (ca43919)
- Presence: Add missing descriptions to clientStatus (#3127) (5d10585)
- GuildEmoji: Add @ name to requiresColons and managed properties (97c196c)
- GuildChannel: Fix setPosition's reason type (#3199) (62cba2e)
- Role: Fix setPosition's reason type (#3198) (266ac1c)
- Mark getters as @ readonly (e62833b)
- RateLimitInfo#limit instead of requestLimit (#3132) (be2f788)
- Guild: Update createChannel examples to not use deprecated overload (32ad56a)
- MessageEmbed: Add missing type value (#3106) (4d3f766)
- GuildMember: Add missing @name to document user property (4289b18)
- Structures: Note about extending prior to instantiating client (#2884) (db3ae01)
- Examples: Fix usage of removed overload of Collection#find (#3027) (3dff505)
- Client: Add missing example tag and closing parenthesis (#3024) (3b7b282)
- Client: Add missing parenthesis in fetchInvite example (#3023) (5ed2a95)
- Guild: Use 'updated' variable in example for setRegion (28db527)
- Guild: Use AuditLogAction for fetchAuditLogs' type option (46fd7b0)
- Webhook: Add mising '@name' to Webhook#token's docstring (89a9b93)
- Webhook: Add mising '@name' to Webhook#token's docstring (840d22f)
- (TextChannel): add documentation for messages and lastMessage (#2986) (2aa8e1d)
- Move event docstrings to the emitting line of code (fd21bbb)
- Add documentation for Client#channelCreate (#2967) (1d1b3f2)
- GuildChannel: Fix doc string for clone method (377ecd7)
- GuildChannel: Add rateLimitPerUser to ChannelData typdef (6aa7792)
- Restore Client#error docs that went missing (3418b5a)
- Add missing docstring for Client#guildDelete (b59c75e)
- Add missing docstring for Client#userUpdate (#2930) (905f1c3)
- ClientUser: Fix example for setActivity method (#2880) (fd25d19)
- Collection: Clarify example for tap method (#2881) (78c4be5)
- Game: Document possible values for type property (b92f8d9)
- Integration: Document Integration class (1428967)
- Fix typos (#2868) (d8c97be)
- Correct default value for SplitOptions.maxLength in Util#splitMessage (#2847) (3298ea1)
- MessageAttachment: Redocument name property (3f44320)
- Client: Fix syntax error in fetchInvite example (d2da771)
- User: Clarify what User#tag represents (9de3e09)
- ChannelPinsUpdate: Clarify time param (#2823) (9c2924a)
- GuildChannel: Permissionsfor returns a nullable readonly Permissions instance (6b9dd13)
- Add docstring to HTTPError (f75b80d)
- Correct Guild#memberCount (#2812) (da2d4d7)
- Added
urlto Invite's warning comment (#2804) (b83fdbf) - Emoji: Fix typo of the word "emoji" (#2791) (469fbe2)
- User: Fix hydrabolt's tag (#2747) (0ad7c24)
Features
- GuildMember: Add support for voice kicking (#3246) (ee42bdf)
- Actions: Use partials for messageDeleteBulk (#3240) (176fc47)
- VoiceState: Self mute/deaf methods (#3243) (692494d)
- VoiceConnection: Add .voice (ce1e3d2)
- MessageStore: Add remove() (#2468) (2666a9d)
- Public raw events (#3159) (9b0f4b2)
- VoiceChannel: Add editable (#3173) (870528e)
- Partials.GuildMember: GuildMemberRemove & Guild#me (#3229) (23191da)
- Invite: Add deletable getter (#3203) (c4b7957)
- Sharding: Change
waitForReadytospawnTimeout(#3080) (01c708b) - Util: Resolve text parameter of splitMessage to a string (#3212) (abd9d36)
- MessageEmbed: Resolve color in embed constructor (#2912) (52bc5b0)
- Util: Add YELLOW to ColorResolvable (#3182) (520810d)
- Webhook: Add url getter (#3178) (c078682)
- Guild: Add fetchBan and withReasons to fetchBans (#3170) (5cd6d8d)
- MessageStore: Add cache parameter to fetchPinned() (#3154) (9b2bf03)
- MessageEmbed: Add missing proxyURL property to video (#3109) (7006f00)
- RichEmbed: Add timestamp support for setTimestamp (#3061) (49e8bd9)
- Guild: Add position to createChannel's implementation (#3058) (7bc2e23)
- RichEmbed: Add length getter (#3057) (890b1be)
- Presence: Add clientStatus (#3056) (a2a0c05)
- Util: Add WHITE as color resolvable (#3062) (5272cec)
- RoleStore, ChannelStore:
fetch()method (#3071) (c432591) - Constants: Add error code 50020 (#2953) (359ddaf)
- Presence#clientStatus (#2997) (75e264d)
- MessageEmbed#length (#3003) (1db7899)
- GuildChannelStore: Add support for create to accept a position (#2965) (21ec031)
- GuildChannelStore: Add support for create to accept a position (a8b47a7)
- GuildChannel: Allow to set all options when cloning (#2937) (d92ee2f)
- Constants: Add error code 50020 (#2953) (54aff31)
- Internal sharding (#2902) (f3cad81)
- Emoji: Move createdAt and createdTimestamp getters from GuildEmoji (#2872) (71c04a3)
- ClientUser: Allow options as first parameter to setActivity (#2890) (1ee417c)
- GuildChannelStore: Support for create with rateLimitPerUser (#2878) (8ec3b51)
- MessageEmbed: Add spliceField method (#2857) (8feb874)
- MessageEmbed: Allow setTimestamp to take a timestamp (#2875) (1fe3608)
- TextChannel: RateLimitPerUser (#2811) (d4c0bb2)
- TextBasedChannel: Add lastPinTimestamp and lastPinAt (#2813) (e96a603)
- Add ClientOptions#retryLimit (#2805) (be4d6f9)
- Guild Integrations (#2760) (c4df027)
- GuildEmbed support (#2766) (5787dee)
- Handle and forward WEBHOOKS_UPDATE events (#2762) (0401b8a)
- Add guild.fetchVanityCode() (#2732) (f8057b0)
Refactor
- ClientVoiceManager: Make public, remove Client#voiceConnections (#3186) (70d4b44)
- WebSocket: Utilize URLSearchParams (#3185) (152d2e8)
- APIRequest: Utilize URLSearchParams (#3180) (5e9bd78)
- User: Avoid invoking dmChannel getter more than once per method (#3108) (fe5563e)
- Consistently use permissionOverwrites over overwrites (#2886) (6e5f088)
- WebhookClient: Make token property non-enumerable (#2861) (96a0655)
- Comprehensive permissionOverwrites refactor (#2818) (3d8207a)
- Remove duplicate send checks (#2790) (6d18425)
- Clean up rate limit handling (#2694) (13f46b9)
- Rewrite message creation (#2774) (19c298f)
- BitField: Base class for Permissions, ActivityFlags, Speaking (#2765) (c62f01f)
- Typings for voice state and presences refactor (9b5df57)
- Merge typings into 11.4-dev branch (efc8445)
Testing
- Add Webhook(Client) testing file (#2855) (cbb9b14)
- Add typings lint runner to test script (68c8329)
- lint: Update typings lint script (3b91fa0)
- lint: Fix typings lint errors (5fdd3a5)
- Fix typings lint script (29d51fa)
Typings
- Presence: Add missing guild property (8b83e2f)
- GuildChannel: Add manageable getter (12e041b)
- Collection: Add missing thisArg to partition (#3167) (4b6e8fc)
- Collection: Add typings for partition (#3166) (831f988)
- Guild: Add missing defaultRole property (#3126) (1207c24)
- Convert types to interfaces where applicable (#3068) (bc0a761)
- SnowflakeUtil: Add optional "timestamp" parameter to generate (#2998) (8b602eb)
- ShardClientUtil: Fix
idproperty type (#3054) (ae72690) - GuildCreateChannelOptions: Added missing properties (#3052) (d98d464)
- Add missing ImageSize numbers (#3045) (2dcdc79)
- TextBasedChannel: Fix create(Message)Collector's options type (17ca836)
- Guild: Fix typos in method names (9d83516)
- TextBasedChannel: Add
Snowflake[]overload to bulkDelete (#3001) (8a76cc5) - SnowflakeUtil: Add optional "timestamp" parameter to generate (#2998) (8286d1a)
- RichEmbed: Add MessageEmbed as valid data in constructor (351f0a3)
- Add Guild#shard and Guild#shardID (6b886b0)
- MessageEmbed: Add spliceField and static checkField methods (4491b7b)
- Collection: Each return Collection<K, V>, not void (27d2ce7)
- Fix lint script and linter errors (fcf4745)
- Add HTTPError class definition (#2852) (60ad905)
- Message: Member property is a readonly getter (2cc0a31)
- Add declaration of Message#url and MessageAttachment#size (#2821) (b068abb)
- GuildChannel: PermissionsFor's return value is nullable (75745fe)
- Clean up permissionResolvable (2e2c9c4)
- Add WEBHOOKS_UPDATE (bd14d5d)
- Fix PermissionResolvable typedef, allow resolving of Readonly<BitField> (55c58b6)
- Guild: Add fetchVanityCode (7546ca3)
- VoiceState is extendable (e7ee8d2)
- Remove UserFlags and ClientApplicationCreateAssetsOptions (58ce082)
- VoiceRegion: Remove no longer existing sampleHostname (c966aa2)
- VoiceConnection: Receivers is now receiver and no longer an array (6841b4e)
- Remove user bots (5942e8b)
- Make PermissionResolvable recursive (f5b3dff)
- Client: VoiceStateUpdate now always has an old state (9a95b6a)
11.4.1 - (2018-08-12)
Bug Fixes
- ClientDataManager: Replacing channels unecessarily (d772bff)
- PresenceStore: Pass user id as extra (#2733) (b7e61f2)
- Util.basename being unreliable (#2679) (0f63c50)
- Collection: Use Symbol.species for creating derived collections (#2715) (ce8a679)
- RichEmbed#_apiTransform fields (7126cad)
Documentation
- Update for 11.4.0 (#2727) (8b1bb95)
- Client: Actually fix rateLimit's event params (8adfc97)
- Fix client#rateLimit parameters (0e370d7)
11.4.0 - (2018-08-09)
Bug Fixes
- Collection: Use
new this.constructorinstead ofnew Collection(#2709) (c10b4fe) - Wrong _patch call from GuildEmoji#edit and other issues (#2673) (4ae58f6)
- Shards not receiving regular messages (88616ea)
- Emoji#fetchAuthor: Reject with Error rather than TypeError (4a9c2f8)
- GuildEmoji: Added a check for managed emojis in fetchAuthor (#2645) (f963621)
- MessageReaction: Only delete reaction if cache and count is empty (#2661) (3a7a7d7)
- Invite: Support for group dm invites (#2603) (3680661)
- GuildAuditLogs: Default to PartialGuildChannel if channel deleted (#2605) (886c212)
- ShardingManager: RespawnAll shard iteration (f67d682)
- Message: Keep reply option when replying with an embed or attachment (1d9edec)
- Message: Keep reply option when using an embed or attachment (5268320)
- Webhook: Import Channel correctly (077d41f)
- Shard: Actually remove default execArgv (938d87d)
- Client: Login catch (a667e44)
- Client: Login not properly rejecting on invalid token (448f384)
- TextBasedChannel: BulkDelete should not return non-Promise (72346fb)
- RequestHandler: Provide proper route and method (2694c0d)
- Shard: Allow node to default to process.execArgv (93f8c85)
- Instantiate constructors before using those properties (92e2c3c)
- Util: Circular reference (41a1dee)
- Typo in src/errors/messages.js (#2631) (f711aa3)
- Shard: Fix default args (6b3bfdd)
- Ratelimits (#2615) (58e5017)
- BasePlayer: Incorrectly mutating FFMPEG_ARGUMENTS when using seek (#2622) (bf738b3)
- Do not cache webhook users (#2611) (8a3ae87)
- ShardClientUtil: Send method erroneously rejecting (#2604) (c5fea45)
- ShardClientUtil: Send method's promise erroneously rejecting (#2604) (493ba73)
- Messages: Undeleting themselves (#2570) (037e8cf)
- GuildMember: Mark joined as nullable (ecf6e2b)
- GuildMember: Account for joinedTimestamp as well (5071477)
- GuildMember: Mark joined as nullable and fix fetching for these cases (13bfceb)
- VoiceChannel: Deletable erroneously returning true (0387d34)
- VoiceChannel: Deletable erroneously returning true (0be0d25)
- GuildMember: Invalid Date (46b19bb)
- Guild: Equals method modifying features array of guild (#2544) (d02c303)
- RequestHandler: Only retry once on 5xx (#2471) (14aab1b)
- ClientUser: Correctly resolve nicks to an object in createGroupDM (f23b617)
- docs: Remove duplicated Collection#findAll docstring (f921261)
- Burst request mode hanging permanently (3790619)
- Guild: MemberCount not decrementing when an uncached member leaves (15a8e17)
- ClientDataResolver: Always resolve with a buffer when fetching a file (ae28f52)
- Role: Allow role color to be removed (2f2e281)
- Collector: Increase and decrease max listeners dynamically (60288d0)
- GuildEmoji: Verify MANAGE_EMOJIS permission from Guild#me (6cde6de)
- Prevent max listener problems with collectors (#2521) (32369f3)
- RESTMethods: Remove listener from correct event (#2534) (a89de09)
- Webhook#edit attempting to use client.channels always (f293ddd)
- ClientUser: SetActivity should resolve with a Presence (a85d801)
- GuildMember#toJSON not having roles (#2520) (5acf406)
- Added everyone role to GuildMemberRoleStore#_filtered (#2514) (934e90b)
- OpusEngineLinst: Throw a descriptive error when not funding an opus engine (33a4232)
- Util: Reject with a meaningful error instead of throwing one (44fefdf)
- GuildEmoji#clone (64caa33)
- GuildMemberRoleStore#remove (30d43ef)
- TypeError in mixin function (#2506) (95b5317)
- MessageEmbed: Correct docs, default to array, resolve MessageAttachments (#2492) (e12ab74)
- Use Object.keys instead of Object.values for node 6 (#2487) (feb0991)
- RestMethods: Typo timeout -> timed (ff671b2)
- MessageEmbed: Avoid throwing error when accessing colorless hexColor (b60ee25)
- Message: Do not update editedTimestamp when there is none in the payload (3ba26ad)
- RESTMethods: Verify correct member in add and remove role listeners (de78a8d)
- MessageDeleteBulkAction: Remove bulkDeleted messages from cache (7c37a0d)
- Client#generateInvite resolving permissions incorrectly (c387e96)
- Client#generateInvite resolving permissions incorrectly (8d065fa)
- Role#setPermissions resolving & docs (7c0b617)
- GuildChannel#setTopic not nullable (92b4216)
- ClientManager: Patch ClientUser's presence with ClientOption's one (#2458) (61ad947)
- Webpack building and upgrading to webpack 4.5 (f247484)
- StreamDispatcher: Only update speaking for non broadcasts (#2437) (e845758)
- Guild: Remove member's voice state on guildMemberRemove (b955a51)
- Role: Allow edit method to null the color (#2447) (f985b6b)
- GuildChannel: Always return a boolean from the manageable getter (e431ccd)
- GuildEmojiRoleStore: Do not prematurely patch roles (d041cb2)
- MessageReaction: Do not increment count twice for own user (513dbf2)
- GuildemojiStore: Allow resolving of external ReactionEmoji (0f7ce3f)
- Convert lastMessage to getters (#2384) (630009f)
- DataResolver: Always resolve with buffer when resolving urls (8541348)
- GuildMemberRoleStore: Make remove role remove roles again (3e6c310)
- GuildMemberRoleStore: Only update roles after successful request (3f6a0e4)
Documentation
- Small changes regarding permissions/overwrites (#2718) (bafbee9)
- Change for GuildChannel#replacePermissionOverwrites (#2714) (af6d649)
- Implement #2707 on master (5980d04)
- RichEmbed: Timestamp is actually a Date (c7f379f)
- ShardingManager: RespawnAll actually resolves with a collection of shards keyed by numbers (4a48a7d)
- Added sizes 16, 32, 64 (#2666) (c46cbbf)
- Client: Clarify messageReactionRemove event's user description (#2657) (717e7f0)
- Client: Clarify messageReactionRemove event's user description (#2657) (a97b504)
- Improvements in various places (3d82ca9)
- Guild: MemberCount is not as of ready (#2621) (de408d7)
- Only cached messages emit reaction events (#2607) (7ce1d16)
- GuildMember: JoinedAt is nullable (bd3d8d4)
- Add video to MessageAttachment properties (#2608) (791f58e)
- Document lastMessageID for TextChannel and (Group)DMChannel (#2602) (e7eab42)
- Document lastMessageID for TextChannel and (Group)DMChannel (#2602) (507cce3)
- Last english fix for now (ba9a93b)
- Fix english because english is difficult (eb4607c)
- Wording improvements (5eff360)
- Add examples & improve notices (dfbd4bd)
- Add examples & improve notices (c699888)
- Guild: Handle error in example of fetchInvites correctly (#2568) (13880fe)
- Guild: Handle error in example of fetchInvites correctly (#2568) (27fcb64)
- Collection: Make findKey method show up in docs (56a9d1b)
- Using deprecated version of find (6070b22)
- Permissions (b2d1cb6)
- RateLimit event (6f02be2)
- Role: Change 'the this' to this (typo) (#2377) (e5e59cc)
- ClientUser: Correct warning for createGuild method (9264511)
- GroupDMChannel: Fix top 'an user' -> 'a user' (54fa5f6)
- Collection: Fix spelling of 'behavior' (#2529) (b757f9e)
- Collection: Fix spelling of 'behavior' (#2529) (17d2c2e)
- Consistency (745669a)
- (backport) Bring the main doc pages up to date, and add more examples (#2094) (d7e7803)
- Inconsistencies (b8a9a76)
- Inconsistencies (ec9211c)
- GroupDMChannel: Fix grammar
an user->a user(#2482) (2dd7fd2) - Fix a number of spelling mistakes (#2469) (8551b89)
- GuildStore: Correct warning for create method (#2453) (2bf68dc)
- Fix missing parameter type/description from #2193 (#2396) (acd1740)
Features
- Add new Permission PRIORITY_SPEAKER (#2698) (b38f537)
- Message: Add url getter (#2594) (ba32eec)
- Add support for Guild#setDefaultMessageNotifications (#2624) (95b2dd3)
- ShardingManager: Add execArgv option (#2585) (bfbb723)
- Guild: Add support to edit
defaultMessageNotificationslevel (#2592) (270a278) - User: Add locale property (#2571) (bce9a8a)
- Add "deleted" property to multiple structures. (#2556) (f0c4d0e)
- Shard#kill method (#2454) (fc81924)
- Collection: Backport partition method (f456f4c)
- Collection: Add tap method (#2507) (de7d90a)
- Collection: Add sweep method (#2528) (2b6592e)
- GuildMember: Add manageable getter (9bb8831)
- GuildChannel: Add fetchInvites method (9904167)
- Emoji: Add fetchAuthor method (dd7eedb)
- Game: Add toString method (c0ca73a)
- GuildChannel: Add setNSFW method (54913d9)
- Guild: Add verified getter (#2027) (9169958)
- ClientDataResolver: Add 2 basic role colors (96b115e)
- Permissions: Add valueOf method (#2363) (2d83126)
- Emoji: Add deletable getter (ed8ab91)
- GuildEmoji: Add deletable getter (#2535) (fca6d3b)
- ClientDataResolver: Account for discord.gg/invite/
invites (21326f6) - Add Collection#sweep() (#2528) (7a3a4d1)
- Add Collection#tap (#2507) (9f91819)
- DiscordAPIError: Backport method property (#2536) (8700e96)
- DataResolver: Account for discord.gg/invite/
invites (ddab809) - DiscordAPIError: Add method property (#2530) (62605c4)
- Allow sweeping of inactive request buckets (b5f3772)
- SnowflakeUtil: Allow snowflakes to be generated dynamically (d9a091f)
- GuildChannel: Add manageable getter (#2439) (49ad8cc)
- Guild: Add mfaLevel property (#2451) (7b9e84d)
- GuildChannelStore: Add topic to create options (#2488) (c9c2d66)
- SnowflakeUtil: Allow snowflakes to be generated dynamically (#2459) (f6216f3)
- Guild: Add mfaLevel property (#2451) (b3ff7c7)
- GuildChannel: Add manageable getter (#2439) (ef4bd92)
Refactor
- Move Message#cleanContent function to Util (#2703) (f3d7f7c)
- Remove user bot methods (#2559) (5afd77a)
- Webhook: Make token not enumerable (#2566) (e0378cf)
- MessageMentions: Make client, guild, and _content non enumerable (e8ab049)
- RESTManager handlers to use collection (#2539) (99bd355)
- Remove unnecessary Collection methods and add Collection#partition (#2511) (a732402)
- VolumeInterface: Remove usage of deprecated new Buffer (#2531) (bd9c9ce)
- Improve sweep performance (bd83bb9)
- Tidy up _inactive check (27a0f48)
- Role stores (#2478) (8b83553)
11.3.2 - (2018-03-04)
Bug Fixes
- ws: Set correct ratelimit remaining after reset or destroy (#1806) (c8f78b2)
Documentation
11.3.1 - (2018-03-03)
Bug Fixes
- RichEmbed timestamp cloning (8f9e911)
- BulkDelete discarding non-cached messages (363ead9)
- GuildAuditLogs using Guild#fetchInvites (acdf43a)
- Export CategoryChannel (f64e924)
- StreamDispatcher: Remove gratuitous parentheses (f2c5714)
- Activity: Ensure that timestamps are actually numbers (464fc14)
- If present, wait for libsodium-wrappers' ready to support v0.7.3 (c6f92c1)
- StreamDispatcher: Emit volumeChange event when the volume changes (#2349) (c25ea45)
- ReadyHandler: Don't create new guild instances for already existing guilds (dc92582)
- StreamDispatcher: Do nothing when resume is called when not paused (05c5bdc)
- Build with node 8 (2254a3e)
- Add node 8 to build (da14e33)
- Webpack minified and bump deps (a7b46be)
- Properly fix minified builds (5583e70)
- Dont require snekfetch supplemental because they are not a thing anymore (8e60743)
- Npm scripts (332558a)
- VoiceChannel: SetUserLimit defaulting to wrong value (40a2f09)
- StreamDispatcher: Properly check that timestamp fits in 2^32-1 (#2325) (8ee2788)
- AudioPlayer: Add opus to destructured key of stream options (96904b1)
- ClientApplication: CreateAsset incorrectly resolving image and posting (234648b)
- Add clone methods to GuildMember and GuildMemberRoleStore (32e2dd2)
- MessageEmbed: Remove length checks (#2304) (9810bdb)
- resolveColor: Not interpreting DEFAULT correctly (d46eec4)
- resolveColor: Not interpreting DEFAULT correctly (52c402f)
- Nullable activity (bd154bd)
- Webhook#send: Incorrect docs + return (e978253)
- RoleStore: Create method is supposed to take an options object (048e147)
- Require discordjserror to throw meaningful errors where necessary (07c48a6)
- startTyping: Return, to not overwrite already existing entries (8df1ac9)
- Guild: MemberCount not decrementing when an uncached member leaves (93e083d)
- client#voiceConnections: Incorrect docs description (#2280) (00e2f39)
- CategoryChannel: Set the type to 'category' and document its type (b5ff309)
- GuildMember: Make edit method only modify a copy of the voice state (fbd25f8)
- WebSocketConnection: Make errors in event handlers throw again (a22b856)
- guild#createRole: Incorrect guild reference (932980e)
- Missing height & width in embeds (#2249) (351f5f7)
Documentation
- Document the messages property for all TextBasedChannels (#2373) (069dccf)
- Examples & improvements (24571e4)
- Incorrect returns (96e88f3)
- Improvements & examples (fcdffcf)
- Message#type (38f5288)
- WIP: Bring the main doc pages up to date, and add more examples (#2094) (9f89252)
- Remove trailing commas (b79722a)
- Trailing commas (2b24b10)
- Improvements (af35175)
- Add links for the guide (#2346) (0ec53c9)
- Add links for the guide (#2346) (dc6bce1)
- Add TypeDef for MessageActivity (#2321) (4336317)
- ClientUser: Mark email field as user account only property (#2306) (31873eb)
- ClientUser: Mark email field as user account only property (#2306) (1f14758)
- Doc changes (2e0048a)
- Fix VoiceBroadcast documentation (#2277) (8a2ace4)
- Fix streamdispatcher documentation (#2275) (edc4e2b)
- Fix attachFiles() docs (#2267) (19591b0)
- Collection > RoleStore (#2251) (a3be0f3)
Features
- Allow multiple permission overwrites when editing channel (#2370) (b637c9c)
- GuildChannel: Add fetchInvites method (#2339) (47bc0fc)
- ShardClientUtil#broadcastEval: Allow promise resolve (#2328) (66c0512)
- ClientOptions: Add support for setting an initial presence (#2320) (87e5a45)
- Add GuildEmoji#fetchAuthor (#2315) (e0cbf0b)
Performance
- Collection: Performance improvements (#2342) (b7851ba)
- Collection: Performance improvements (#2342) (a817295)
Refactor
- Move member role-related functions to a special store (#2242) (00172e6)
- GuildMember#manageable: Refactored kickable and bannable (#2211) (36555c1)
- Tidier overflow checking in StreamDispatcher (83640a2)
11.3.0 - (2018-01-13)
Bug Fixes
- Message#addReaction: Incorrect regex (#2247) (f62fa05)
- Stream dispatcher throwing key error due to missing secretKey (8cab673)
- avatarURL: Gifs not being animated (#2195) (d94ead7)
- voiceStateUpdate: Incorrect members.size (#2231) (8226752)
- Allow the Util#parseEmoji regex to match emoji identifier (#2229) (2318812)
- verson: Update package.json (#2196) (b6c89ef)
- Guild#createChannel: Default type to 'text' (#2184) (4063a3a)
- bulkDelete: Stop rejections when filterOld=true (#2178) (6683c40)
- Guild#createChannel: Default to text (#2168) (9f0417c)
- CreateMessage: Reassigning wrong content (#2169) (1598efa)
- CreateMessage: Fix attachment and array sending (#2158) (443961c)
- UserGuildSettingsUpdate: Not creating settings with new guilds (#2150) (1c34819)
- VoiceChannel#edit: Incorrect bitrate (#2144) (d705a0c)
- guild#createChannel: New channel returning null (#2143) (fb6d14d)
- GuildAuditLogs: Backport (#2123) (e40c3f8)
- DMChannel: Messages not being cached (#2122) (22da595)
- GuildMember: Permissions.missing is not a function (#2118) (b274dba)
- Shard: Extend EventEmitter to be able to emit events (#2112) (6fa4fc5)
- Split/Webhook: Readd message chunk sending and fix webhook avatar/username (#2085) (05a41b5)
- Guild: Correctly resolve user in Guild#addMember (#2090) (21d09f3)
- TextBasedChannel: Return a promise in startTyping and clarify count parameter (#2047) (94a4a06)
- Presence: Pass client and default to offline (#2071) (a62d1e9)
- GuildMember#hasPermission: Pass correct parameters to Permissions#has (#2070) (cd3d334)
- Client: Login wasnt using env.token (#2060) (0277d1d)
- MessageBulkDeleteAction: Remove deleted messages from cache (#2046) (356778b)
- GuildDelete: Disconnect voice and cleanup GuildChannels (#2026) (fa3eee8)
- GuildAuditLogs: Incorrect webhook reference (#2004) (8fbae13)
- setPosition: RawPosition never getting updated when setPosition was called (#2006) (f178f9b)
- Role: SetPosition typo (#2003) (b462a7b)
- SetPosition taking wrong IDs and edit with position 0 breaking (#1989) (743668a)
- createChannel: Add support for more properties and fix overwrites optionals (#1983) (cc8060c)
- MessageEmbed: Don't send 'files' as part of the embed (#1982) (1537dd7)
- ClientManager: Reject login with proper error on timeout or on connection failure (#1947) (3ace61a)
- Reactions: Make MessageRection#id again null for default emojis (#1940) (25ece18)
- EmojiStore: Return super.create in the create method (#1932) (cc0b65d)
- DataStore: Make resolveID work properly (#1927) (fc1e78e)
- MessageEmbed: Deep copy fields and fix files when passed into constructor (#1864) (63f6247)
- Guild: Fix setChannelPositions method (#1900) (41c4999)
- Errors: Throw DiscordjsErrors where one would expect them (#1905) (e34bd7c)
- WebhookClient: Use applyToClass instead of multiple inheritance (#1896) (694f78c)
- Voice websocket sending (2305311)
- Minified webpack builds (9e66e80)
- Client: Apply shardId and shardCount to the correct options object (#1888) (bb4fe25)
- MessageStore: Fix fetchPinned method and add notice. (#1881) (ea1949a)
Documentation
- Fix guildChannel#toString() example (#2203) (e883afa)
- Improve examples (#2200) (c798230)
- Improve examples (master branch) (#2209) (45127bb)
- setParent: Docs update and nullable channel param (#2160) (4f8f208)
- Remove leftover docstring from 11.2 (#2115) (efd1c4c)
- Fixed some missing docstrings or incorrect return types (#2093) (0cd4a92)
- Add Guild#features type (#2105) (2d8e26c)
- Add/normalize .toString() docs on all classes (#2042) (1a8e8c7)
- Change repo for erlpack (#1992) (fc43736)
- Small doc improvement for PermissionOverwrites (#1964) (26c978c)
- Fix some small typos or "missing" docs (#1943) (eb591da)
- Improve documentation (#1898) (0607720)
- Collection first, firstKey, last, lastKey (a8df63a)
Features
- Backport animated emojis support (#2217) (659e89e)
- Backport after and before parameter when fetching a reaction's users (#2218) (db5bdcd)
- ClientUser: Deprecate ClientUser#setGame in favour of ClientUser#setActivity (#2127) (cd06684)
- CategoryChannel: Backport (#2117) (cce2480)
- Webhook: Allow to edit the channel of webhooks (#2039) (d8850db)
- MessageReaction: Add after option when fetching users who reacted with an emoji (#1882) (f40a5e9)
Refactor
- More oop with stores (#2216) (9eac19d)
- Actions: Remove obsolete user and guild member get actions (#2061) (cd08a3b)
- Remove redundant Client#rest and obsolete RESTManager#destroy (#2022) (68a3058)
- Make use of destructuring for Constants (#1942) (ec4c987)
- Attachment: Merge MessageAttachment with Attachment (#1894) (d6b276b)
11.2.0 - (2017-09-03)
Bug Fixes
- Made options.type optional in ClientUser#setActivity (#1875) (39013b1)
- Guild: Passing the constructor partial data from an invite no longer errors (#1868) (1bdaa62)
Documentation
- Collection: Adjust exists documentation (#1876) (efbde07)
Features
- Add DiscordAPIError#path and fixed Burst request handler handling api errors (#1867) (95e22c2)
Refactor
- DataStores: Move instantiating of store related classes into their date stores (#1869) (c4b5736)
- Emoji: Remove Guild#deleteEmoji in favour of Emoji#delete (#1877) (c93c4ad)
13.17.0 - (2023-11-12)
Bug Fixes
- Export
AttachmentFlags and RoleFlags (#9924) (efc1536)
- Action: Conditionally add recipient (#9925) (3d5d957)
- Action: Do not set undefined values (#9755) (65bbed8)
- types: Fixed CachedManager constructor arguments in type (#9761) (142db0e)
- readme: Test badge svg (#9919) (610bdaa)
- Role: Calculate position correctly when rawPositions are equal (#9872) (56b481b)
- ChannelUpdate: Check against unknown channels (#9698) (630b9d5)
Documentation
- Fix
AutoModerationRuleTriggerTypes link (#9530) (24ac27d)
Features
- Client: Add guildAvailable event (#9692) (67dd30a)
- Attachment: Add flags (#9686) (2ac8be0)
- Role: Add flags (#9694) (a222e53)
- StageInstanceManager: Add
guildScheduledEvent to create() (#9024) (5f6a82d)
- Support
default_thread_rate_limit_per_user in channel creation (#9339) (759c0b0)
- User avatar decorations (#9710) (cb11c56)
- Support new username system (#9634) (f9e9843)
- presence: Feature parity in image resolve (#9638) (85338ef)
- Safety alerts channel and mention raid protection (#9073) (5057f04)
- GuildAuditLogsEntry: Add missing channel property to extra (#9527) (c5a42ed)
Performance
- Linear speed position getters (#9528) (90ca028)
Typings
- BaseButtonComponentData: Narrow component type (#9735) (c08230e)
13.16.0 - (2023-05-06)
Bug Fixes
Features
- Update Discord developer documentation links and add new flags (#9473) (d867936)
- Voice messages (#9444) (3386bab)
- Add
ACTIVE_DEVELOPER user flag (#9428) (420f379)
- roleTagData: V13 add guildConnections (#9391) (7116151)
- V13
VIEW_CREATOR_MONETIZATION_ANALYTICS and USE_SOUNDBOARD permissions (#9124) (28a5c7b)
- StageChannel: V13 support messages (#9145) (7cf9224)
- AutoModeration: V13 support
customMessage (#9173) (add14ac)
13.15.1 - (2023-04-07)
Bug Fixes
- Message: Fix permissions check in locked threads (#9338) (a8d5325)
- ClientUser: Fix modifying self (#9318) (09ca243)
- Typo in
src/util/MessageFlags.js (#9312) (8f12054)
- AutocompleteInteraction: Fix responding (#9315) (f79a9b5)
13.15.0 - (2023-04-02)
Bug Fixes
- ThreadChannel: Fetch starter message properly (#9217) (af6a0e5)
- Actions: Inject built data by using a symbol (#9204) (df68520)
Features
- Backport
chatInputApplicationCommandMention (#9245) (51c3bf1)
- Add support for gif stickers (v13) (#9158) (4bc25c4)
- V13 support
SUPPRESS_NOTIFICATIONS flag (#9184) (120270e)
13.13.1 - (2023-02-21)
Bug Fixes
- Constants: Enum creation error (#9155) (224f21c)
13.13.0 - (2023-02-21)
Bug Fixes
- Minor forums cleanup (#9033) (eed293f)
- InteractionResponses: Spell
messages correctly (#9080) (123d0f1)
- ThreadChannel:
reason as second parameter (#9023) (a941cb6)
- Import errors correctly (#9030) (6457519)
- websocketshard: Backport zombie connection fix (#9003) (56e6718)
- Util: Flatten ignoring certain fields (v13) (#8936) (4ec3355)
- Backport allow deletion of ephemeral messages to v13 (#8811) (98846cf)
- Activity: Fix equals() not checking for differing emoji (v13) (#8842) (eecc50b)
- escapeMarkdown: Fix double escaping (v13) (#8799) (caf6f66)
- Fixed TS 4.8 compatibility (#8601) (e6ee7d8)
Documentation
- ThreadEditOptions: Move info tag back to
invitable (#9021) (cf3c7a7)
- Add missing
@extends (#9028) (1779e1b)
- Update UserContextMenu documentation v13 (#8721) (ea117bf)
- Update misleading
Client#guildMemberAvailable event description (v13) (#8627) (fcd52d7)
Features
- GuildMemberManager: Add
addRole and removeRole methods (#9108) (fd494a3)
- WebSocketShard: V13 add resume url (#9078) (0188e36)
- V13
guildAuditLogEntryCreate event (#9092) (84d34dc)
- Constants: Add auto moderation events to WSEvents (#9102) (61fa6f4)
- Role subscriptions (#9040) (0afa405)
- GuildChannelManager: Add
addFollower (#9050) (86329ad)
- Guild: Add
INVITES_DISABLED feature support (#9051) (69d71e9)
- ClientApplication: Add role connections (#9072) (a7dc40f)
- Webhook: Add
channel getter (#9074) (32cdaff)
- GuildMember: Add
flags (#9098) (d69529e)
applicationCommandPermissionsUpdate event (#9121) (c2968b5)
- Backport automod (#8886) (4287983)
- GuildAuditLogs: Support
after (#9012) (f0d4264)
- Backport guild forum support to v13 (#8651) (546ac43)
- Add
Message#bulkDeletable (v13) (#8761) (ca662b4)
- InteractionResponses: Add message parameter (v13) (#8838) (0e0851a)
- Util: Backport
escapeMarkdown PRs to v13 (#8703) (8a6588a)
- GuildBanManager: Add
deleteMessageSeconds (#8575) (ca68fc3)
Refactor
- Move
me and add fetchMe() (#9029) (b01c81d)
Typings
- ThreadEditOptions: Add
appliedTags (#9022) (6854df4)
- widget: Add missing
name (#9031) (35f6dad)
- Swap message reaction and emoji identifier types (#8970) (6490580)
- GuildChannelManager: Correct fetch return type (v13) (#8551) (f4e8133)
13.10.3 - (2022-08-22)
Documentation
- Fix broken discord support link (#8485) (11d6949)
Typings
- Disallow some channel types from webhook creation (#8535) (10b12cc)
- ModalMessageModalSubmitInteraction: ChannelId is not nullable (v13) (#8505) (526ea74)
13.10.2 - (2022-08-10)
Typings
- Message: Correct
bulkDelete return type (v13) (#8469) (03c59e3)
13.10.1 - (2022-08-10)
Bug Fixes
- ThreadChannel: Handle possibly
null parent (v13) (#8467) (2a46d9f)
13.10.0 - (2022-08-10)
Features
- Guild: Add
max_video_channel_users (v13) (#8424) (ae43bca)
13.9.2 - (2022-07-29)
Bug Fixes
- MessageMentions:
ignoreRepliedUser option in has() (v13) (#8365) (d0a4199)
- GuildChannelManager: Allow unsetting rtcRegion (v13) (#8362) (9612507)
- ThreadChannel: Omit webhook fetching (v13) (#8352) (4f7c1e3)
13.9.1 - (2022-07-23)
Bug Fixes
- ApplicationCommandManager: Allow passing 0n to defaultMemberPermissions (v13) (#8312) (4cf0555)
Refactor
- embed: Deprecate addField (#8318) (be35db2)
- Presence: Remove redundant date parsing (v13) (#8341) (e95caa7)
13.9.0 - (2022-07-17)
Bug Fixes
- PermissionOverwriteManager: Mutates user (#8282) (4d86cf4)
- GuildChannelManager: Access
resolveId correctly (v13) (#8297) (beb3d8e)
- GuildChannelManager: Edit lockPermissions (#8267) (8fe166d)
- applicationcommandmanager: Explicitly allow passing builders to methods (v13) (#8229) (f457cdd)
- Pass in the expected query object type for application commands (#8189) (f704b26)
- Use non-global flag whilst resolving regular expressions (#8178) (4063b90)
- GuildStickerManager.fetchUser: Changed guildId to guild.id (#8176) (0e0f784)
- guildmemberremove: Remove member's presence for v13 (#8182) (e8d72c7)
- WebSocketShard: Backport error handler preservation on connections (#8164) (c198e89)
Documentation
- Add new HTTP Error Codes
50068 (v13) (#8273) (00a7057)
- Add
MessageActivityType (v13) (#8257) (9cc336c)
- MessageInteraction: Update
commandName description (v13) (#8220) (feb8e30)
- constants: Document missing constants (#8168) (4ae08ad)
Features
- ApplicationCommand: Add
min_length and max_length for string option (v13) (#8217) (a93f4b1)
- interaction: Add
appPermissions (v13) (#8195) (222fc9c)
- Partially backport perms v2 for v13 (#8162) (125696f)
Typings
- GuildMemberManager: Non-void return of
edit() (v13) (#8187) (631abee)
- Add missing shard types (v13) (#8192) (079973f)
13.8.1 - (2022-06-23)
Bug Fixes
- VoiceChannel: NSFW property (v13) (#8161) (c61fc80)
- ModalSubmitInteraction: Add
isFromMessage() missing method (#8092) (0ab2227)
- Destroy options during cleanup (#8082) (afb18b9)
- AuditLog: Default changes to empty array (#8076) (3095f35)
Documentation
TextBasedChannel-> TextBasedChannels typos (v13) (#8155) (65444f5)
Refactor
- Deprecate
$ prefix from ws.properties keys (#8095) (3638b40)
Typings
- Shard#reconnecting: Backport to v13 - Fix event name (#8126) (70450f6)
- AutocompleteOption: Backport fix and improve types (#8078) (613fd43)
- GuildChannel: Fix type of
.isText() method (#8061) (0d0190a)
13.8.0 - (2022-06-05)
Bug Fixes
- guildchannelmanager: Wrong parameter in _sortedChannels call (#8011) (876816a)
- websocketshard: Deal with zombie connection caused by 4009 (#7581) (114bcc0)
- Video quality mode data property (#7946) (76df9fd)
- ApplicationCommandOptionType: Add attachment to jsdoc (#7952) (a51420f)
Features
- Backport text-in-voice support to v13 (#7999) (ddfe15b)
13.7.0 - (2022-05-13)
Bug Fixes
- MessageEmbed: Fix a typo (#7906) (ea28638)
- GuildEditData: Some fields can be null for v13 (#7633) (816936e)
- Apply v14 fix (#7756) (ab6c2ba)
- GuildChannelManager:
delete method accessing wrong id (#7771) (c9e4562)
- GuildScheduledEvent: Handle missing
image for v13 (#7627) (dfea9c2)
- messagementions: Fix
has method for v13 (#7591) (7a52785)
- Check if member has admininistrator on
moderatable (v13) (#7578) (13dd82d)
- ThreadChannel: Require
sendable for unarchivable (#7555) (49397c0)
- Backport
MessageReaction#me being incorrectly false (#7553) (5f621c1)
- typings: SweepStageInstances typo (#7521) (f096069)
- MessagePayload: V13 don't set reply flags to target flags (#7515) (30baff7)
- Shard: V13 EventEmitter listener warning (#7479) (77b8e01)
- MessageEmbed: Set footer to undefined (#7358) (bc5ddc3)
Documentation
- shardingmanager: Fix type of
execArgv option (v13) (#7863) (43a7870)
- Fix and improve localization docs (v13 backport) (#7807) (6dcf0bd)
- ApplicationCommand: Fix ApplicationCommandOptionChoice (#7798) (1040ce0)
- Backport version 13 fixes (#7552) (69ba067)
Features
- Backport (#7776) (5165b18)
- Backport (#7787) (3eb45e3)
- Backport (#7786) (ab324ea)
- Add support for localized slash commands (v13 backport) (#7766) (022e138)
- App authorization links and tags for v13 (#7731) (9e4a900)
- Backport (#7777) (6c56132)
- Backport (#7778) (ff49b82)
- Backport (#7779) (ae7f991)
- Backport (#7783) (cedc333)
- VoiceChannel: Support
video_quality_mode (v13) (#7785) (6daee1b)
- StageInstance: Add support for associated guild event (#7713) (68498a8)
- modals: Modals, input text components and modal submits, v13 style (#7431) (e1cdcfa)
- Backport
Interaction#isRepliable (#7563) (5e8162a)
- Add methods to managers for v13 (#7611) (9f09702)
- Add
premiumSubscriptionCount to InviteGuild (#7629) (8e7d15e)
- scheduledevents: Event cover images for v13 (#7613) (a7535a2)
- Backport
MessageMentions channel type fixes (#7562) (93cdb2f)
- Backport cache types resolving to
never (#7561) (611d3a7)
- Backport sending message flags (#7560) (29d42ed)
- ThreadChannel: Backport creation timestamp (#7559) (1d97dcf)
- Add custom image support to version 13 (#7557) (679b87c)
- Backport
reason on pin and unpin (#7556) (b231bec)
- GuildPreview: Add stickers to version 13 (#7554) (215dfe0)
- Backport
sweepStickers method (#7558) (ee1698d)
- scheduledevents: Add image option (v13) (#7549) (2fcf8af)
- thread: V13 add
newlyCreated to threadCreate event (#7481) (2b3db73)
- commands: Attachment options (#7441) (5bcca8b)
Refactor
Typings
- Fix ModalSubmitInteraction (#7768) (1d09ad4)
- threadchannel: Fix autoArchiveDuration types (#7817) (7afcd95)
- InteractionCollector: Fix guild and channel types (#7624) (7814074)
- V13 channel create overloads fix (#7480) (0b54089)
13.6.0 - (2022-01-13)
Documentation
- interaction: Add locale list link (#7261) (1f4e633)
Features
- Add Locales to Interactions (#7131) (233084a)
13.5.1 - (2022-01-07)
Bug Fixes
- sweepers: Provide default for object param (#7182) (2dabd82)
- GuildMemberManager: Nick endpoint (#7151) (d0c3961)
- Permissions: ToArray shouldn't check admin (#7144) (fc4292e)
- Remove deprecation warning on
Message#cleanContent (#7143) (7e5f16b)
Documentation
- Sweepers: Fix typo (#7165) (780b7ed)
Features
- GuildMember: Add method to check timeout (#7146) (baacd6b)
- ClientOptions: WaitGuildTimeout amount client option (#6576) (2bfc638)
Refactor
- MessageEmbed: Deprecate strings for
setAuthor() (completely) and setFooter() (#7153) (3496516)
- Import timers,
process, and Buffer from node: (#7157) (3c62bd2)
13.4.0 - (2021-12-24)
Bug Fixes
- BaseMessageComponent: Don't create new class instances (#7140) (e6f41b5)
- Make the followUp function error more clear (#7129) (b763dab)
- StickerPack: Nullify
bannerId (#7119) (6bb03f2)
- Webhook typeguards should use string comparisons (#7127) (645b3f8)
- Message: Remove usage of
.deleted (#7109) (a0fe0ac)
- GuildAuditLog: Remove
Promises in constructor (#7089) (9cf44d1)
- ShardingManager: Fix respawnAll not passing delay correctly (#7084) (de61fe4)
- StoreChannel: Mark as deprecated (#7072) (5ec542d)
- InteractionCollector: Handle thread (and parent) deletion (#7070) (b5cd288)
- ReactionCollector: Check for channel.threads (#7069) (3846f0d)
- GuildChannel: Default to
this.rawPosition in clone() (#7057) (5fcda73)
- Interaction channel type should be
GuildTextBasedChannels when in guild (#6998) (da86bd4)
- Util: Fix sorting for GuildChannels (#7002) (c07207f)
- MessageManager: Do not use
client.emojis (#7039) (fd63139)
- ActionsManager: Revert to manual requires (#7034) (0193efa)
- MessagePayload: Prevent spread of
undefined (#7029) (fabd343)
- MessageManager: Allow a string for
edit() (#7033) (54f937d)
- Avoid sending bot auth on token endpoints (#7022) (7efeff4)
- Sharding: Properly handle errors in fetchClientValues (#6990) (c0ba2d4)
- VoiceState: Set streaming to false when the stream ended (#6992) (fdb09cb)
- MessageReaction: Cache myself when
MessageReaction#me is true. (#6956) (b001e19)
Documentation
- Deprecate
.deleted getters (#7107) (d43f684)
- Sticker: Fix typo (#7085) (ee91f5a)
- Constants: Document missing errors (#7086) (6e57b65)
- Constants: Adjust
GUILD_STORE warning placement (#7083) (23513d1)
- StoreChannel: Add deprecation warnings (#7080) (fdba146)
- GuildStickerManager: Fix create() example (#7060) (6f58e81)
- Invite: Add info blocks for missing props (#7014) (b183a8e)
- MessageReference: Fix static link (#7041) (85e6812)
- Constants: Fix typo "announcement" (#7016) (a1a8ca4)
- README: Add installation instruction on @discordjs/voice (#6964) (3c857a6)
- Guild: Fix setOwner() example (#6929) (dc64541)
Features
- Add support for GuildScheduledEvent (#6493) (1316fd4)
- GuildMember: Add timeouts (#7104) (aa7c1b2)
- Export Sweepers (#7117) (b9b60a3)
- Add API error code 50109 (#7112) (55960cc)
- Client: Add global sweepers (#6825) (d1ef2f5)
- Add API error code 20029 (#7078) (f410536)
- ApplicationCommand: Add setX methods for easier editing (#7063) (7f980e3)
- Add API error code 50055 (#7068) (f028aea)
- SnowflakeUtil: Add
timestampFrom (#7058) (8b200c0)
- Guild: Add premiumProgressbarEnabled (#6887) (552d89f)
- Add
UserContextMenuInteraction and MessageContextMenuInteraction (#7003) (4fe063f)
- Shard: Add eval context (#7011) (77aff08)
- ThreadChannel: Add
ThreadChannel#viewable (#6975) (db09d79)
- ThreadManager: Add slowmode option on thread creation (#6989) (493e4f9)
- MessageAttachment: Description (alt text) support (#6871) (5e0a7d5)
- ApplicationCommand: Add support for min and max values (#6855) (c30a818)
- SystemChannelFlags: Add new flag (#6870) (49e3ce2)
- UserFlags: Add BOT_HTTP_INTERACTIONS (#6733) (f43140a)
- Add new activity flags (#6699) (47d74eb)
- ApplicationFlags: Add message content intent flags (#6888) (e94073a)
Refactor
- UserManager: Move methods to the manager (#7087) (2ed02f7)
- RoleManager: Move some methods over from Role (#7096) (1e00fc2)
- Guild: Remove duplicate methods (#7100) (717e0e9)
- Util: Replace
Util.delayFor with tp.setTimeout (#7082) (25b8491)
- Make
Structure#deleted a getter to a WeakSet (#7074) (b093750)
- SnowflakeUtil: Clean up utils and improve perf (#7036) (e59fac3)
- MessageEmbed: Utilise an object approach for
.setAuthor() (#6966) (73854ee)
- Deprecate application command events (#6937) (28688e2)
Typings
- CategoryChannel: Fix createChannel return type (#7138) (1626dde)
- CategoryChannel:
createChannel should default to a text channel (#7132) (a0a5b0e)
- Make channel types a lot stricter (#7120) (7b65a04)
- Forward cache types to collector filters (#7126) (77489b9)
- Fix possibly
null message properties (#7111) (bc6a6c5)
- Use mapped enums instead of overloads (#7088) (49f9a18)
- MessageComponentInteraction: Ensure
component is not null (#7099) (2ce244b)
- GuildAuditLog: Strengthen types (#7090) (5a5c045)
- Message:
guild should be non-null when message is in guild (#6933) (1230bee)
- Improve audit logs' typings (#6647) (b6b4570)
- Interaction: Narrow
memberPermissions (#7054) (01f8d1b)
- ApplicationCommandManager: Deprecate old
*Data type usages and allow camel cased dapi types to be used (#6959) (2c91c48)
- WebhookMessageOptions: Disallow stickers (#7012) (099536e)
- Remove unneeded collector types (#7008) (c1f2fe2)
- Make event emitters use mapped event types (#7019) (48555cb)
- ApplicationSubcommandData: Allow
autocomplete to be true (#6981) (ecc61f3)
- Fix interaction typeguards (#6976) (06cd16f)
- Strengthen autocomplete option types (#6950) (7630158)
- Fix cache type fallback types (#6961) (9f240ea)
- Unify ApplicationCommandManager#create overloads (#6970) (8e881d2)
- Events: Rest events can be emitted on BaseClient (#6936) (c297829)
13.3.1 - (2021-11-01)
Bug Fixes
- Assert channel types in message actions (#6919) (9bd3689)
- MessageEmbed: Only compare image urls in #equals (#6926) (95d2a4d)
- Correctly access guild IDs inside managers (#6927) (2d9ffb8)
Documentation
- README: Use correct capitalization of npm (#6930) (bb245b7)
Typings
- Improve toJSON methods for message components & embeds (#6925) (204aee7)
13.3.0 - (2021-10-29)
Bug Fixes
- Handle message bulk delete and thread delete in collectors (#6902) (d6685b1)
- ApplicationCommandManager: Update guild command cache on c/u/d (#6841) (f169c8f)
- TextBasedChannel: Return the cached message instead of clone it (#6877) (ceaf738)
- MessageComponentInteraction: Component getter is not null anymore (#6835) (7621e9d)
PartialGuildMember#id is not null (#6840) (4dff279)
- Webhook: Resolve source guild only if cached (#6834) (d193d04)
- AllowedImageSizes: Add new image sizes (#6844) (ef01b84)
- MessageReaction: Prevent event double fire from uncached messages (#6818) (267a4b3)
- Guild: Guild.available is never set on new joins (#6769) (29667c9)
- Types: Export more types (#6808) (b474677)
- GuildBanManager: Send reason in the headers instead of json body (#6800) (bfb89de)
- User: Don't generate the banner URL when not cached (#6783) (0d599a1)
- GuildMember: More explicit partial check (#6760) (b1656bf)
- Role: Check for presence of icon and unicode_emoji before patching (#6780) (e31c5ca)
Documentation
- Constants: Document missing autocomplete interaction constants (#6916) (aa4d055)
- InteractionCollector: Add info block about being prone to always running (#6906) (5d987ee)
- GuildStickerManager: Fix create() example (#6900) (bdd841a)
- InteractionResponses: Move embed var position in example (#6896) (8806039)
- Application: Rename Oauth2Application to Application (#6891) (76856b9)
- Util: Deprecate
.removeMentions() (#6866) (b6c9fd6)
- Correct tags used for objects (#6846) (f7b7aac)
- Redirect to events correctly (#6845) (38cc89e)
- Typos, consistency and grammar fixes (#6811) (c44ea50)
- Message: Specify
Snowflake in return type of awaitReactions() (#6822) (4354c37)
- Replace
FetchOwnerOptions type definition (#6814) (b030130)
- Remove dangling reference (#6810) (d57ec7a)
- InteractionCollector: Remove repeated "the" (#6802) (b1b9c83)
- MessagePayload: Change the typo of "wether" to "whether" (#6771) (d32956c)
Features
- ThreadMemberManager: Allow individual members to be fetched (#6889) (14716df)
- Add support for autocomplete interactions (#6672) (ddf759c)
- MessageEmbed: Add #equals (#6885) (fae4abf)
- StartThreadOptions: Default autoArchiveDuration to channel's defaultAutoArchiveDuration (#6278) (740d3f0)
- Add
rtcRegion to GuildManager#create() (#6858) (399e720)
- Add typeguards to webhooks (#6850) (e0afcad)
- GuildChannelManager: Add 'rtcRegion' option to 'create' method (#6849) (487d32d)
- Permissions: Add checkAdmin to permission overwrite checks (#6847) (7513b45)
- Interaction: Add
isApplicationCommand check (#6801) (6898fa3)
- CommandInteraction: Add toString method (#6793) (bd48e6d)
- Client: Add apiResponse and apiRequest events (#6739) (26f927b)
- ModuleImporter: Implement import module compatible with bundlers (#6709) (d399a28)
Refactor
- Move Guild setPositions methods to managers (#6875) (e12a5b6)
- Remove gen-esm-wrapper dependency (#6884) (b278884)
- Fix typos (#6852) (672baa4)
- GuildManager: Remove redundant check (#6859) (579569a)
- Remove redundant user agent parsing (#6820) (460df9e)
- Remove unnecessary checks (#6777) (e24209a)
- Role: Move initialization of delete prop out of _patch (#6776) (872e7a5)
Typings
- fix: BaseCommandInteractionOptionResolver and CommandInteraction (#6910) (673c03f)
- Constants: Remove deleted properties from Package (#6908) (7be9170)
- Shard: Eval returns a promise resolving with T instead of T[] (#6901) (14d9a99)
- ApplicationCommandManager: Add missing overload for
fetch (#6904) (ee93a27)
- TextBasedChannel: Text channel interaction collectors should have
message option (#6903) (91a432e)
- Cache types cleanup (#6867) (b2836da)
- Allow message cached props to be narrowed (#6838) (c3948f8)
- CommandInteractionOptionResolver: Allow narrowing of
getMember() (#6831) (e8b6997)
- BaseMessageComponent: Remove third parameter of
create() (#6833) (d27fddb)
- Message component cached props narrowing (#6809) (b541d0a)
- ApplicationCommandOptionData: Remove required on subcommands (#6790) (5566404)
- Integration: Add
IntegrationType values (#6815) (187581d)
- WelcomeChannelData: Allow store channels (#6778) (45ebea3)
- Make embed author and footer props
name and text required (#6779) (a84e51b)
13.2.0 - (2021-10-05)
Bug Fixes
- AllowedImageSizes: Add new image sizes (#6754) (d0025be)
- User: Compare flags in #equals (#6750) (00e1e26)
- VoiceState: Patch streaming value (#6747) (7eec061)
- Message: Avoid overwriting properties in _patch (#6738) (a8c21cd)
- ReactionCollector: Only call the filter function once (#6734) (d15dd5f)
- Shard: Use provided timeout when respawning (#6735) (905d100)
- Role: ToJSON() throwing due to permission bigints (#6724) (9e421f6)
- Don't patch set data with undefined (#6694) (9eb9591)
- Invite: #guild never resolving into a Guild (#6742) (b76bb8a)
- GuildManager: Add missing types and converts (#6683) (cdf65f7)
- Util: Default
animated to false when omitted on resolvePartialEmoji (#6725) (8d80fec)
- Message: Throw error on missing channel (#6581) (60aa9ae)
- CachedManager: Return updated data when cache is false (#6685) (8426770)
- GuildEmoji: Cache restricted roles and author data (#6675) (60b8ba6)
- Constants: Allow undefined size (#6686) (d3da833)
- *RoleManager: Create set of role ids correctly (#6674) (f8aa4bd)
- Shard: Eval promise never resolves (#6649) (5070d23)
- xxxable: Follow more properly with discord behavior (#6551) (5d87398)
- Allow null to be passed in order to reset icon/avatar (#6646) (6033506)
- Message: Pinnable returning false in non-DEFAULT messages (#6585) (3183b11)
- threadMembersUpdate: Fixed typo (#6589) (8826e9f)
- ThreadChannel: FetchStarterMessage bug (#6584) (08edc0b)
- Await message component collectors should return component interactions not collectors (#6562) (f49f70a)
- GuildChannel: Fix manageable method for voice-channels (#6447) (9301c9b)
- MessageAttachment: Re-assign name (#6518) (8a8c69a)
- UserUpdateAction: Rely on client.user when ids match (#6511) (1418649)
- Util: Allow empty strings in splitMessage (#6437) (d6e6244)
- BaseClient: Remove selfbot ability (#6429) (9a833b1)
- Sticker: Rename method correctly to _add (#6421) (2c449b6)
- Message: Fix typo (#6435) (ecb6e50)
Documentation
- FetchReply info + example (#6753) (8bc1ece)
- GuildMemberUpdateAction: Event doesn't get emitted on user update (#6752) (1db3e76)
- Better links for
.toJSON() of button and select menu (#6745) (6e5c768)
- Undocument private constructors (#6732) (34b2ad0)
- Message: Fix return type for
reply (#6720) (3f11009)
- CommandInteractionResolvedData: Fix key type (#6729) (466e796)
- EmojiResolvable: Update description of typedef to remove ambiguity (#6708) (7cba676)
- ApplicationCommandPermissionsManager: Fix example set method (#6658) (839974c)
- Shard: Point to correct events (#6641) (b9a4899)
- VoiceChannel: Deprecate editable (#6613) (88e2622)
- PermissionOverwriteManager: Correct
@returns of delete (#6632) (3c3522a)
- MessagePayload: Correct return type of
resolveFile() (#6605) (ea6a57e)
- MessageButton: Fix info tag (#6590) (db73cf9)
- WidgetMember: Fix typo for deaf (#6564) (33f6f82)
- Constants: Fix interaction type link (#6558) (29d5fd1)
- Fix JSDoc for
ClientUser#edit (#6554) (34024f5)
- Util: Correct
@param for cleanContent() (#6531) (b89280a)
- Formatters: Fix typo of TimestampStyles (#6523) (7d4a40a)
- GuildChannelCreateOptions: Fix #type type (#6502) (4bfd5d3)
- ThreadManager: Fix typo (#6485) (8a95211)
- Fix wrong type being displayed in docs (#6504) (9ca10cc)
- MessageManager: Fix typo (#6482) (70cc029)
- MessageReference: Add possible message types (#6464) (93a83c2)
- ApplicationCommandType: Add DAPI link (#6463) (17b4079)
- BufferResolvable: Add warning for URL input (#6451) (16493e6)
- Formatters: Use id over ID (#6439) (84bb4f4)
- RoleManager: Error in examples (#6416) (759faa4)
- Rename implementation of deferReply (#6412) (615afab)
Features
- Add support for role icons (#6633) (7129965)
- Interaction: Add memberPermissions (#6741) (28d96e3)
- CategoryChannel: Add createChannel shortcut method (#6614) (3eacf7a)
- Allow webhooks to fetch, edit and delete messages in threads (#6695) (107822d)
- Threads: Update permissions and fix getters (#6466) (10478ad)
- PartialGroupDMChannel: Add recipients & fix name (#6713) (2803db6)
- GuildMember: Add guild avatars (#5696) (dfd7b40)
- MessageAttachment: Add support for ephemeral property (#6652) (c5db0ff)
- ApplicationCommand: Add support for channel_types (#6640) (3b14883)
- UserManager: Allow #fetch to take UserResolvable (#6677) (a06a87a)
- Add api error code 50101 (#6663) (42fdcaa)
- Add support for API command types in
ApplicationCommandManager (#6621) (ecd637f)
- Permissions: Add
START_EMBEDDED_ACTIVITIES (#6622) (66a90d3)
- Integration: Add missing props and fix docs/types (#6623) (caa3b60)
- Default values for setX boolean methods (#6619) (8add4b0)
- Add api error code 30042 (#6635) (183dbd7)
- Give removed
MessageReactions on messageReactionRemoveAll event (#6607) (be8912a)
- ApplicationCommand: Add version property (#6603) (f866512)
- MessageTypes: Add CONTEXT_MENU_COMMAND (23) (#6425) (d81590d)
- Add api error code 160002 (#6566) (d16ada9)
- ApplicationCommand: Add #equals (#6414) (581921f)
- Threads: Add support for invitable in private threads (#6501) (a693254)
- BaseGuildTextChannel: Export
BaseGuildTextChannel (#6527) (fc51f61)
- User: Banners and accent colors (#6117) (839c6da)
- MessageAttachment: Allow files to be marked as spoilers (#6509) (96e26c4)
- ThreadChannel: Add fetchStarterMessage (#6488) (705c5a1)
- Message: Add method to resolve a component by id (#6484) (57b94b9)
- Set methods for MessageActionRow and MessageSelectMenu (#6490) (fb50dd9)
- Export BaseCommandInteraction (#6478) (c14e594)
- Guild: Add
Guild#maximumBitrate getter. (#6455) (21983de)
- Message: Prevent fetching an interaction webhook. (#6468) (f39b597)
- Add maximum prune requests reached api error (#6427) (a4b8623)
- Rest: Expose https.Agent options (#6177) (5eb3553)
- InteractionReponses: Allow fetching of ephemeral messages (#6426) (d289d5c)
- Export ContextMenuInteraction (#6434) (170c0c4)
Performance
- Use logical assignments instead of if statements (#6693) (e9daa31)
Refactor
- User: Set accentColor and banner to undefined when not yet received (#6721) (ba93e85)
- Use optional chaining (#6757) (a194d9c)
- Use the
node: protocol (#6710) (531b46c)
- VoiceState: Use manager edit method to remove error (#6631) (29dd319)
- Constants: Better type error in cdn endpoints (#6637) (124e177)
- ES2021 features (#6540) (00bd92a)
- Channel: Make delete async (#6417) (71fdf6f)
Typings
- Interaction: Allow
Interaction cached properties to be type narrowed (#6668) (d873a19)
- Rename
Awaited<T> to Awaitable<T> (#6756) (f88f4cc)
- GuildBanManager: Remove can return null (#6748) (c3f4de4)
- Add ExcludeEnum utility for easier typings (#6746) (42acc6e)
- Webhook: More accurate type for
sourceChannel (#6751) (32b5c2e)
- WebhooksUpdate: Allow
NewsChannels (#6749) (abf158d)
- More accurate types instead of
GuildChannelResolvable (#6744) (a8e6010)
- ChannelTypes: Remove unknown from CHANNEL options (#6701) (8b4456e)
- TextBasedChannels: Fix awaitMessageComponent return type (#6723) (a7cb314)
- Vanity: Make
uses non-nullable (#6715) (3a978f3)
- Role: Role#comparePositionTo accepts RoleResolvable (#6722) (7c4d1df)
- Presence: Fix ActivityOptions#type and Activity#id types (#6696) (fe95005)
- Fix missing channel type in subcommand options (#6706) (da3ae48)
- Add GuildEmojiManager to Caches (#6671) (1ca8d2c)
- VoiceState: Allow moving members to stage channels (#6684) (94ca0f5)
- Interaction: Improve type guard for inGuild() (#6644) (0347826)
- MessageOptions: Allow APIEmbed (#6656) (92f6471)
- WelcomeChannel: Allow store channels (#6615) (75d85f7)
- MessageEmbed: Allow APIEmbed type (#6629) (256fb90)
- TextBasedChannelFields: Add back createMessageCollector (#6616) (1b016a3)
- Make
channelId non-nullable on MessageComponentInteraction (#6600) (8cc3885)
Message#createMessageComponentCollector use MessageComponentInteractionOptions<T> (#6596) (c62823e)
- MessagePayload: Specify typings for
files and resolveFile (#6608) (ea36955)
- Collector filter parameter inference (#6574) (0841956)
- MessageReference: Correctly add undefined type (#6563) (cdb0005)
@typedef for StageChannelResolvable (#6568) (2c219cb)
- Allow message component interaction collectors to infer collected interaction types (#6476) (03d5549)
- CommandInteractionOptionResolver: Document & type thread channels (#6521) (774e960)
- MessageComponentInteraction: Fix componentType (#6536) (0fe5f88)
- Mark enums as const enums (#6394) (5c27639)
- MessageEmbed: Allow
null for setTimestamp (#6514) (7aff15a)
- Require component type in raw object formats (#6452) (c232baa)
- CommandInteractionOptionResolver: Add missing parameter (#6497) (656b518)
- ClientPresence: Add type declarations and docs (#6450) (6cac03a)
- GuildChannel: Added missing typing (#6454) (f294d1e)
- Message#_patch typings return type (#6433) (81bb68d)
13.1.0 - (2021-08-12)
Bug Fixes
- StageInstance: Ensure
discoverableDisabled is not undefined (#6395) (dce8fc7)
- WidgetMember: Default to
null and not undefined (#6399) (44bbfa5)
- Guild:
preferredLocale to always be a string (#6402) (4a64662)
- ContextMenuInteractin: Store message as raw value (#6400) (d9456a1)
- Util: Remove truthy check before isNaN check (#6358) (3c17939)
- Constants: Fix CDN endpoint typings (#6332) (47d2ef3)
- Managers: Fix typo in unsupported warning (#6338) (917e71a)
- GuildMemberRoleManager: Typo (#6335) (d87299b)
Documentation
- Remove unparsed examples (#6404) (e6f48d8)
- GuildManager: Increase fetch limit to 200 (#6406) (933d2c5)
- ApplicationCommandData: Fix type property (#6385) (de3c86f)
- Update links for api-docs (#6380) (779e14e)
- Switch urls from upstream rearranging (#6378) (4c8dc4c)
- Correct wrong interaction links (#6274) (49d3c0b)
- Invite:
MANAGE_CHANNELS instead of MANAGE_CHANNEL (#6361) (0062aa6)
- Options: DefaultMakeCacheSettings typo (#6365) (ea8d77e)
- Grammar fixes (#6345) (f13d27c)
Features
- GuildMemberManager: Add 'list' method (#6403) (2bf0970)
- GuildManager: Allow setting with_counts to false (#6407) (14aea12)
- CommandInteractionResolvedData: Access to "raw" resolved data (#6384) (fff887b)
- Utils: Add additional formatters (#6388) (cd40292)
- Right-clickybois (context menu support for ApplicationCommand and CommandInteraction) (#6176) (0266f28)
- Threads: Max autoArchiveDuration option (#6304) (394d486)
Refactor
- Options: Separate default settings for make cache (#6330) (d14a6bf)
Typings
- ApplicationCommandData: Make
type field optional (#6405) (dcc556c)
- Constants: Add
ApplicationCommandTypes to Constants (#6398) (6342430)
- ApplicationCommandOptionData: Align command data options types more with discord API (#6247) (297a911)
- ApplicationCommandData: Stronger typings for
ApplicationCommandData variants. (#6382) (75b48d8)
- Options: CreateDefaultOptions => createDefault (#6376) (2a3e819)
- Events: Renamed
messageReactionAdd's reaction parameter (#6371) (006edca)
- ImageURLOptions: Allow 'gif' format (#6342) (5f1def3)
13.0.1 - (2021-08-07)
Bug Fixes
- GuildMemberManager: Refactor fetchMany (#6328) (909c873)
- Message: Handle fetched messages (#6325) (ceae596)
Documentation
- Fix bad indentation (#6316) (cd1aefb)
Typings
- Util: Fix cleanContent parameter type (#6321) (60ace9a)
13.0.0 - (2021-08-06)
Bug Fixes
- MessageMentions: Check guild exists before adding roles (#6313) (1200bba)
- GuildMemberManager: FetchMany fixes (#6314) (52817fc)
- Caching: Sweep archived threads in all channel caches (#6312) (3725dca)
- Message: Fix thread getter (#6309) (913c9fa)
- BaseGuildTextChannel: Call patch (#6298) (3eb4140)
- Remove support for overriding caches that break functionality (#6282) (a6d4035)
- Message: Make #channel and #guild getters (#6271) (6e3236a)
- WebSocketShard: Mark shard ready if no guilds intent (#6284) (09471be)
- Action: GetChannel interaction DM (#6280) (a72b5a3)
- GuildChannel: SetParent not working (#6276) (7e0618f)
- ChannelUpdate: Restore accidentally removed line (#6263) (774f5b7)
- Util: Fix collection import (#6256) (93e0239)
- Array/keyArray removed (#6245) (bf221f2)
- TextBasedChannel: Fix MessageCreate handling (#6217) (6b85f90)
- PermissionOverwrites: Throw better error if resolving option fails (#6219) (42a0313)
- Channel: Add default for destructured options (#6203) (6872547)
- Use
string instead of Snowflake for invites (#6202) (f060a3f)
- ThreadChannel: Better property handling (#6172) (9679b90)
- Export various classes that are exported in the typings (#6166) (30a58dc)
- Typings: Type attachments to InteractionUpdateOptions (#6162) (4f8ca29)
- GuildAuditLog: Assert
target to null upon not finding invite codes (#6171) (c8ca7bf)
- Message: Fix typo in sticker_items (#6173) (870a0de)
- Sticker: Replace 'this.guildID' (undefined) by 'this.guildId' in fetchUser (#6160) (07017a9)
- CommandInteractionOptionResolver: Type should be USER (#6148) (02f55f0)
- CommandInteractionOptionResolver: Export CommandInteractionOptio… (#6146) (8ccfd6e)
- CommandInteraction: Change options type from Collection to array (#6139) (77784ac)
- GuildChannel: Only fetch invites for the specific channel (#6132) (c40c0f9)
- PermissionsOverwrites: Only convert type if number (#6092) (dee5c83)
- Channel type check in actions (#6086) (d433fe8)
- GuildChannel: Clone its PermissionOverwriteManager too (#6083) (f72ce7c)
- PresenceUpdate: Use added presence over nullable getter (#6077) (637c8e0)
- InviteScope: Added missing 'bot' scope (#6052) (93e2c04)
- SelectMenuInteraction: Set values to empty array if not provided (#6045) (34708d6)
- Guild: Add invite manager property, extend CachedManager (#6049) (e3d877d)
- TeamMember: Fixed incorrect return types. (#6044) (fe5d56c)
- Structures: Remove Structures (#6027) (ab0b3b9)
- GuildChannel: Use map method on cache not its manager (#6032) (d58f0d2)
- PermissionOverwriteManager: Pass ID to API correctly (#6026) (8077e4f)
- GuildChannel: Add missing 'cache' property (#6019) (7e30011)
- Remove
connection.url from open debug message (#6018) (39db953)
- Util: SplitMessage not working with array (#6008) (bd25ff5)
- Correct permissions checks and cache on update (#6015) (568691c)
- ThreadManager: Fixed wrong private and fetchAll check (#6012) (e4be666)
- Typings: Improve components typings in MessageEditOptions (#6002) (3a718d8)
- ApplicationCommand: Fix typo in JSDoc (#5994) (6edf55c)
- ThreadChannel: Check for existence of properties when patching (#5961) (9ac6867)
- Typings: Erronous RawMessage (5842e35)
- Thread: Make archive_timestamp not nullable (#5965) (edab5af)
- Sharding: Strict type context and return (#5933) (1925d01)
- Webhook: Return void from #delete for consistency. (#5954) (5ad83a6)
- Collector: Docs and types (#5937) (6c447b1)
- Message: Make author of referenced message nullable (#5929) (dc671c8)
- User: Fix bot and system properties being incorrect in some cases (#5923) (e44ae96)
- ThreadMemberManager: Fix ThreadMemberManager#add and ThreadMemberManager#fetch (#5927) (adecead)
- Webhook: Resolve non-string avatars too (#5914) (4714a96)
- ApplicationCommand: StringType isn't supposed to be sent to the API (#5916) (ca2a36b)
- Permissions: Allow admin to override in the missing method (#5911) (ee025b0)
- InteractionResponses: Set replied status on editReply (#5899) (6d3d00b)
- Message: Flags not being parsed on some edits (#5886) (2d7c12b)
- Guild: Don't patch before instance properties (#5885) (174b7a7)
- presenceUpdate: Fire when only state/details change on an activity (#5846) (1f8f3ab)
- Message: EditedTimestamp defaulting to 0 (#5847) (671436c)
- ApplicationCommand: Default option.required fix (#5848) (a1f94f6)
- Guild: SetChannelPositions null parenting (#5841) (01a1fd6)
- ApplicationCommand: Default option.required to false (#5838) (77c1f15)
- GuildManager: #create throws when systemChannelFlags is undefined (#5832) (29173bf)
- GuildChannel: Don't force parentID/permissionOverwrites to empty on create (#5823) (c585933)
- GuildChannel: Improve empty overwrite handling for permissionsLocked (#5821) (6df3623)
- ApplicationCommands: Allow managing commands for uncached guilds (#5729) (24e5868)
- ClientApplication: Freeze flags (#5811) (e990c35)
- *: Typedefs and typings for image & webhook options (#5805) (a5a6e22)
- TextBasedChannel: Allow passing an APIMessage with split (#5815) (93b0a4e)
- PermissionOverwrites: Optional allow/deny OverwriteData (#5810) (a7ebb21)
- Typings: Fix BitField toJSON/valueOf return types (#5806) (935f819)
- Hooks: Make husky hooks executable (#5812) (77e28cf)
- GuildChannel: Clone errors when options.name isn't provided (#5804) (41673b7)
- WebSocketShard: Don't catch errors thrown in event handlers (#5803) (53d8e49)
- Don't patch missing properties from partial payloads (#5796) (097c7b9)
- GuildChannel: Spread clone options to avoid infinite recursion (#5800) (2f5424b)
- Webhook: Throw an error if no token is available when it's required (#5798) (eb98e33)
- ClientPresence: Produce valid activities for set presences (#5799) (ea0e06f)
- BitField: Ensure missing returns an array of strings (#5795) (68f7aeb)
- ApiMessage: Only pass objects as options directly (#5793) (3578159)
- BitField: Throw an error if bit to resolve is undefined (#5565) (0156f69)
- Remove remnants of awaitMessageComponentInteractions (#5783) (ae78a33)
- *: Add missing imports for custom errors (#5767) (e980948)
- ShardingManager: Client error event cannot be emitted (#5559) (d1c5b6f)
- Add components to MessageOption typedefs (#5768) (657635c)
- Interaction: Add missing types and fix docs lists (#5762) (1d57754)
- Webhook: #editMessage throws error when content is null (#5757) (2901fd5)
- MessageComponentInteraction: Correctly type defer method (#5760) (f0dad26)
- RoleManager: Bug in #create (#5730) (cf22456)
- Message: Update typings and docs related to #edit (#5745) (a2f0c11)
- Typings: Add missing typings for
HttpError -> requestData (#5742) (3e9ce35)
- MessageEmbed: Import custom RangeError class (#5740) (bfe01b5)
- CommandInteraction: Cmds with no options throw error (#5734) (af2fad9)
- CommandInteraction: Channel type should be text based channels (#5690) (5141ea4)
- GuildMemberManager: Allow moving members to any non-text channel (#5681) (d21e6af)
- Interfaces not importing due to re-export of Snowflake (#5723) (086c3f0)
- PermissionOverwrites: Fix typo in typedef jsdoc (#5704) (6567ba8)
- Types: Make event listeners accept async callbacks (#5602) (a73a5cf)
- GuildEmojiRoleManager: Bug in #remove (#5666) (c89bdd7)
- ApplicationCommandOptionData: Options property should be itself (#5679) (b90b0c3)
- APIMessage: Document Interaction as valid MessageTarget (#5678) (9f491ff)
- Message: Bug in #suppressEmbeds due to #5612 (#5644) (840ad0a)
- Lint-staged for typescript files (5f6ec22)
- DataResolver: Fix circular dependency error with GuildTemplate (#5622) (b376f31)
- ApplicationCommandManager: Limit permission methods to guilds (#5613) (03256bd)
- CommandInteraction: Update typings and docs for #editReply (#5630) (56d44fb)
- ApplicationCommand: Return string equivalent of ApplicationCommandOptionType (#5617) (a6079bc)
- Resolve emoji in Message#react (#5614) (c733436)
- Typo in GuildMemberManager (#5616) (73f4114)
- Message: Editing with MessageEmbed or APIMessage (#5612) (74e97ef)
- VoiceReceiver: Fix memory leak (#5609) (2eac842)
- ApplicationCommandManager: Fix typo in JSDoc (#5603) (3392eb7)
- Sticker: File renamed to SnowflakeUtil (#5573) (f830eb7)
- Emoji: Name can be null (#5513) (5397021)
- GuildMemberRoleManager: Unable to remove roles when passed an array (#5556) (9572521)
- Typings for 'Message' (#5518) (0d68ca8)
- HTTPOptions: Change default value in jsdoc to 8 (#5547) (cb50241)
- GuildAuditLogsEntry: Executor can be missing (#5500) (e9bf206)
- typings: Update GuildMemberRoleManager typings to match implementation (#5497) (900e576)
- MessageMentions#channels: Fix type of channels of mentions (#5370) (565d7b3)
- Resolvables: Valid resolvables throw error when uncached (#5495) (fa5a37e)
- GuildChannel: Check for community required channels in GuildChannel#deletable (#5170) (b710a43)
- GuildMember: Correctly check for premium_since (#5312) (aff3625)
- Voice: Only skip undocumented voice packet byte if present (#5309) (2b52cdc)
- Typings for 'WebhookMessageOptions' (#5476) (67025e6)
- IntegrationApplication: Add missing export to index.js (#5475) (8023250)
- ApplicationFlags: Export class (#5465) (404ce57)
- Voice: Disconnect if voice channel not cached (#5467) (3af8179)
- InviteDelete: Guild can be missing (#5457) (6c6b105)
- ReactionUserManager: Remove before query option (#5281) (43bd568)
- GuildManager: Add missing toString() on Permission#resolve fns (#5324) (0778926)
- GuildChannel: Regression on default channel type (#5251) (e7c4f36)
- Guild/GuildChannel: Methods reason arg usage (#5419) (8411b9e)
- Role: Pass Permissions class, not the bitfield (#5321) (d744e51)
- WebSocketShard: Key name in WebSocketShard#_send. (#5304) (56d8b44)
- ApiMessage: Remove resolve() from typings (#5241) (a6bc39d)
- GuildChannel: Overload permissionsFor and BaseManager#resolve[id] (#5260) (41bd6c2)
- GuildEmoji: Check for cahnges to available in equals (#5201) (f95f5dc)
- VoiceConnection: Make #dispatcher nullable (#5217) (0d5de43)
- Message: Update getters to take null permissions into account (#5066) (98b1c58)
- typings: Return types for 'Webhook(Client)#send()' (#4876) (eb28ee7)
- MessageEmbed: Include
author.name in length getter (#5167) (e37160f)
- Collection: ToJSON() errors if the collection includes empty values (#5129) (2c2249e)
- Implement valueOf on pseudomanagers (#4595) (8883a01)
- Add presence to ClientPresence from ClientOptions (#5041) (9c7fe34)
- Filtering of string forms of null and undefined (#5075) (9042d19)
- ChannelManager: Avoid crash in remove method with uncached channel (#4937) (12c909e)
- Message: #system non-zero message types are not guaranteed to be system (#5108) (bb78120)
- UserFlags: Correct early bot dev name, remove deprecated aliases (#5104) (b509862)
- Collector: Throw an error if a non-function was provided as filter (#5034) (7365f40)
- BaseGuildEmoji: Typo in requiresColons (#5076) (e272fd6)
- MessageReaction: Set MessageReaction#me in patch method (#5047) (6b322f4)
- Voice:* Filter out silent audio from video users (#5035) (4fcb9eb)
- GuildTemplate: 'guild' getter (#5040) (53529bd)
- RoleManager: Fix ID return value, change return type to collection (#4935) (12a096b)
Documentation
- Grammatical fix (#6311) (7787a76)
- Grammar fixes (#6308) (0664477)
- General cleanup and improvements (#6299) (b4afcf8)
- Typo in ClientOptions (#6305) (dd3a79e)
- Grammar fix (#6294) (90c2e07)
- Client: Mark _finalize as private (#6281) (35fa3b3)
- Update link of the guide to v13 changes (#6273) (6e0ea02)
- Add missing semicolon to readme (#6270) (2c452df)
- Change example in readme to slash command (#6250) (626ff85)
- InteractionResponses: Correct
@returns on responses (#6257) (bb56f17)
- Refactor a few
@returns descriptions (#6228) (82daee5)
- Widget: Add the typedef WidgetChannel (#6182) (8b52d06)
- Update readme node version requirement (#6241) (797727a)
- GuildManager: Correct
GuildCreateOptions typo (#6224) (2675b08)
- Constants: Document the Constants object for enum-like usage (#6208) (cc5f1ce)
- Guild: Correct
GuildRolePosition typo (#6223) (40b127e)
- WelcomeChannel: Correct guild return type (#6222) (d310e4f)
- Constants: Fix StickerTypes typedef (#6218) (105a194)
- MessageMentions: Fix documentation for members property (#6206) (f44bfc4)
- Guild: Add GuildTextChannelResolvable type definition (#6221) (1009ce1)
- InteractionResponses: Document missing properties (#6178) (5e433b5)
- CommandInteraction: Correct type definition of
CommandInteractionOption (#6169) (5e70694)
- InteractionResponses: Reply docs example (#6079) (b170fb5)
- InteractionResponses: Generalize wording in update to fit other component interaction types (#6074) (67e9ce4)
- ClientUser: Fix shardId nullable (#6072) (28b5ffb)
- Fixed several typings and MessagePayload#create JSDoc (#6059) (4c0426c)
- ThreadChannel: Fix documentation for setLocked method (#6053) (8d9ab74)
- MessageManager: Document options param for #edit as required (#6031) (db60e36)
- Add Partial typedef (#6029) (b62d646)
- Fix some missed MessageComponent collector methods (#6023) (610b0b4)
- *: Wrap optional properties with union types in parentheses (#6021) (ec06ba7)
- Collector: Properly document endReason (#6016) (7dd1a8d)
- CreateInviteOptions: Fix TargetType link (#6017) (4adfc45)
- *: Add class links to isX() methods (#6007) (fbdad6e)
- WebSocketShard#send and TextBasedChannel#send (#5998) (726073f)
- Util: Methods removed on the base object (#5990) (d742814)
- Partials: Add link to the guide (#5982) (58183d4)
- MessageSelectMenu: Add link to Discord docs (#5984) (f819416)
- ThreadManager: Fix FetchedThreads typedef and startMessage (#5971) (f108746)
- Message: Add ThreadChannel as a channel type (#5972) (58bc145)
- ThreadManager: Fix reason prop of ThreadCreateOptions (#5970) (5dfd7dd)
- Channel: Fix description of thread channel types (#5968) (853be62)
- Drop string from MessageButtonStyleResolvable (#5944) (41f718f)
- Features: Resolved typo in
FATEWAY_PRESENCE_LIMITED (#5952) (d38b347)
- Webhook: Fix thread example in send method (#5953) (d3d19ce)
- Channel: Make the type news_thread an inline code-block (#5940) (630432b)
- Thread: Add links to discord api docs (#5919) (5af2ef5)
- MessageSelectMenu: Fix options typings (#5922) (75837a8)
- *: Add links to Discord's API objects & data (#5862) (e0efcc6)
- Move embeds field into BaseMessageOptions (#5902) (6cebeae)
- Readme: Remove dependencies badge (#5901) (edf6f0c)
- AnonymousGuild: Add missing extends tag (#5896) (3d96a33)
- VoiceState: Channel can be null (#5872) (807ea2d)
- ReplyMessageOptions,MessageEditOptions: Replaced
embed with embeds (#5860) (e3ed74a)
- Consistent application name usage (#5853) (96a4e7b)
- TextBasedChannel#send: Update embeds example (#5857) (a6dae75)
- ButtonInteraction: Fix typo (#5835) (9376ee4)
- Removed topics and FAQ from the repository (#5820) (9e5106d)
- README: Re-add install command, remove voice remnants (#5817) (55ad6f0)
- MessageEmbed: Deprecation advisory for type (#5774) (f5f3f77)
- Messages: Fix examples in messages after changes in #5758 (#5791) (35c2225)
- ApplicationCommand: Typos in ApplicationCommandPermissionData (#5789) (4511624)
- GuildMemberManager: Fix docs for #search() (#5784) (0139e10)
- CommandInteraction#channelID is type of Snowflake (#5776) (32d8c8b)
- InteractionDeferOptions: Correctly define the typedef (#5769) (4567cd4)
- Add new guild features (#5755) (f7e420b)
- Message: Fix content param in #edit not showing as nullable (#5748) (df9b678)
- All the missing object -> Object changes (#5738) (b317d86)
- Remove traces of StringResolvable (#5727) (678b7da)
- Webhook: Update typings and docs for #editMessage (#5713) (256d1b0)
- Message: Add example for message.reply (#5332) (7d7d2a5)
- TextChannel: Warning about setRateLimitPerUser NewsChannel (#5403) (47bbdf4)
- Fix InteractionDeferOptions typedef (#5694) (add924c)
- ColorResolvable: Add Fuchsia to ColorResolvable typedef (#5676) (7d9818e)
- Add new typedef to properly doc InteractionReplyOptions (#5632) (3589e0f)
- Guild: Add proper punctuation to #fetchOwner jsdoc (#5645) (c8d20a4)
- Correct casing of
object -> Object in AuditLogChange (#5636) (ab82caf)
- GuildChannelManager: Add stage option (#5608) (d219ecd)
- MessageEmbed: MessageEmbedOptions typedef (#5466) (4a06dd1)
- Update invite link, change version in the intro (#5592) (533c247)
- VoiceState:
#setRequestToSpeak and #setSuppressed returns a Promise instead of void (#5558) (705d7b3)
- GuildChannelManager: Fix type options in description (#5440) (936516c)
- ClientUser: #setPresence does not return a promise (#5485) (599f0f5)
- GuildChannel: #members add cached spec, include voice (#5385) (e848d25)
- BanOptions: Make days description more clear (#5327) (dedf432)
- Update docs and examples for #4879 (#5323) (685b260)
- GuildMember: Document owner override in permissions getter (#5320) (62ba249)
- ChannelManager: Fetch can return Promise (#5422) (1c8b109)
- Guild: Clarified description of guild.features (#5352) (941e36f)
- BaseManager: Fix a typo in #resolveID description (#5180) (640a663)
- BitFields: Remove string from BitFieldResolvable (#5122) (9ffcd83)
- MessageEditOptions: Add the flags parameter (#5126) (2aea7dd)
- RoleManager: Fetch description (#4920) (be0f383)
- TextBasedChannel: Indicate that replyTo cannot be system (#5115) (5c4547e)
- Permission overwrite methods descriptions (#5079) (77d4237)
- Client: #emojis is a BaseGuildEmojiManager (#5048) (2685b96)
- User: Fix typos in jsdoc (#5060) (09d0755)
- WebSocketManager: Fix type of status (#5059) (9f3c3e0)
Features
- Collector: Return a boolean on checkEnd (#6289) (f473f43)
- Channel: Add isVoice() (#6297) (5b4efd1)
- Constants: Added more error codes (#6234) (6b2098f)
- MessageEmbed: Add setFields method (#6186) (a25e165)
- ThreadChannel: Add fetchOwner() method (#6207) (331a9d3)
- Util: Add SweptCollection for auto sweeping of caches (#6110) (dbb59ba)
- WebhookClient: Allow creation of clients via URLs (#6192) (e000af5)
- FetchRecommendedShardsOptions: Account for large bot sharding (#6184) (19b242a)
- GuildAuditLogs: Add threads (#6195) (26ba0e1)
- Guild: Add fetchWidget() for getting widget data (#6180) (b22272f)
- ApplicationCommandOptionType: Add NUMBER (10) (#6128) (2f1cc1f)
- CommandInteractionOptionResolver: Add sub-command required option (#6165) (690c121)
- Sticker: Updates, sticker packs, and guild stickers (#5867) (54d6a3a)
- GuildPreview: Add createdAt & createdTimestamp (#6130) (9f039a8)
- CommandInteraction: Add CommandInteractionOptionResolver (#6107) (f293132)
- Make Instance#fetch force true by default, and fix force parameter (#6116) (366f3c9)
- REST: Append additional information to the required User Agent (#6112) (f200f14)
- Client: Add conditional ready typings (#6073) (4206e35)
- Allow channels from uncached guilds to be returned from fetch (#6034) (755c180)
- Collector: Better types for events (#6058) (c0a814f)
- Message: Add 'failIfNotExists' to ClientOptions (#6038) (28c5724)
- LimitedCollection: Export LimitedCollection (#6043) (31d3129)
- Client: Enforce passing scopes to generateInvite (#6024) (c6e5521)
- Managers: ✨ Add GuildInviteManager (#5889) (9e08b02)
- Managers: Add customizable caching for managers (#6013) (8c7cb0e)
- InteractionCollector: Reworked to be more generic (#5999) (374c779)
- PermissionOverwriteManager (#5318) (e7ad2fe)
- Formatters: Added new URL utilities and docs (#6014) (98e45a5)
- RoleManager: Added
edit method, alias Role#edit (#5983) (1e73c25)
- StageChannel: Add createStageInstance method & use better naming convention (#5951) (71fb33a)
- Channel: Add isThread typeguard for better TS support (#5978) (b7ed675)
- Util: Added formatters (#5976) (8c7a28f)
- Interactions: Option to auto-fetch replies (#5831) (5e28ff8)
- Interaction: Add guild guard (#5955) (87e8cdd)
- Managers: New ApplicationCommandPermissionsManager (#5897) (6264c60)
- MessageComponentInteraction: Component getter (#5840) (1439183)
- MessageMentions: Add repliedUser (#5905) (2616125)
- MessageSelectMenu: Droppybois (#5692) (e5fcf0b)
- Api v9 and threads (#5570) (7346621)
- InteractionCreate: Move to an Action handler (#5906) (ea49f7c)
- Add missing APIError codes (#5898) (d930c81)
- Interactions: Improve error handling for ephemeral responses (#5892) (bd9f56a)
- Add APIError codes for stage instance (#5888) (c850ae1)
- WelcomeScreen: Welcome screens (#5490) (44e2ee7)
- Stage instance invite (#5856) (2d12db0)
- Guild: Add enum for premium_tier (#5868) (a3cbcca)
- *: Use enums for consistency and speed (#5843) (f7eeccb)
- Widget: Wrapper for widget.json (#5619) (038ee99)
- Stage instances (#5749) (918921e)
- *: Document and support embeds field in message create endpoint (#5792) (99ff715)
- Guild: Add enum for mfa_level (#5797) (ffabec3)
- RequestHandler: Emit more info when a rate limit was hit (#5801) (18ac72e)
- Add new APIErrors (#5794) (e0ab836)
- Util: Allow array for StringOptions' char (#5566) (fbcbb29)
- GuildAuditLogs: Make #target a channel for channel related logs (#5781) (eb0291d)
- Sharding:* Contexts for broadcastEval (#5756) (c6aeebb)
- Voice: Implement support for @discordjs/voice (#5402) (7b2e12b)
- General component improvements (#5787) (c4f1c75)
- GuildChannelManager: Add 'fetch' method (#4966) (e798fb7)
- Rest: Optional ratelimit errors (#5659) (16f261e)
- Promisified single interaction collection (#5770) (c2b3ed0)
- Message: ApplicationID for interaction responses (#5765) (65dc00f)
- Client: Make use of with_expiration in #fetchInvite (#5764) (bf191df)
- Interactions: Add InteractionWebhook for better internals (#5712) (dec191a)
- MessageComponents: Clickybois (MessageButton, MessageActionRow, associated Collectors) (#5674) (cbd7f2b)
- Esm: Use
gen-esm-wrapper instead of manually making the file (#5700) (db0d7d4)
- Rest: Show the data that is sent to Discord when an errors occurs (#5701) (ef92339)
- CommandInteraction: Make options a collection (#5705) (fdad140)
- *: Enforce strings (#4880) (7b85a72)
- BREAKING CHANGE: Removes all Resolvables for only string inputs
- Co-authored-by: SpaceEEC spaceeec@yahoo.com
- Message: Allow editing files into messages (#5718) (b212b64)
- Easier guards for channelUpdate (#5716) (d52bcd4)
- Add support for fetching multiple guilds (#5472) (48d6850)
- Guild: Add the new nsfw_level property (#5660) (3fe7add)
- InteractionDeferOptions (#5641) (ed593c9)
- CommandInteraction: Ephemeral followup messages (#5618) (68b40dd)
- GuildChannel: CreateInvite target options (#5514) (f831872)
- MessageEmbed: Remove normalizeField validation (#5459) (ff2f737)
- GuildMemberManager: Extend API coverage (#4872) (2e2464b)
- GuildChannel: Make createOverwrite and updateOverwrite not dependent on cache (#5489) (58763b0)
- MessageManager: Extend API coverage (#4869) (c56c4a8)
- Message: Add ReplyMessageOptions for #reply (#5296) (7ce741d)
- ShardingManager: Add options typings (#5583) (31b4390)
- GuildChannel#clone: Support for position property (#5236) (d455cb6)
- GuildBanManager (#5276) (6d09160)
- APIRequest: Support setting global headers in HTTPOptions (#5586) (135abcc)
- Message: Replace referencedMessage with fetchReference (#5577) (1398431)
- Message: Allow removing attachments (#5557) (ca9e5a0)
- Add support for application command events (#5596) (9f74f95)
- Interactions (#5448) (f7643f7)
- Sticker: Added Sticker (#4909) (026afc2)
- Webhook: Add 'fetchMessage' method (#5530) (63398d6)
- GuildManager: Allow system channel flags in create (#5504) (d9fa180)
- Guild: SetChannelPositions parent, lockPermissions keys (#5507) (4866e26)
- Webhook: SourceGuild, sourceChannel, improve owner (#5508) (116ecf2)
- Guild: Allow description and features in edit (#5505) (8a059cc)
- Util: Make
cleanContent take a channel instead of a message (#5535) (f1c0c04)
- Guild: Nsfw guilds (#5525) (5968323)
- Guild: Replace
owner with fetchOwner (#5480) (1be67b8)
- GuildFeatures: Added the new screening features (#5328) (3c175cb)
- MessageAttachment: Support for #contentType (#5481) (7b161f9)
- SysChanFlags: New flag and rename in sync with client (#5506) (fe93a7e)
- Move internal regular expressions to static properties (#5384) (207735c)
- typings: Add ShardingManager.shardList to type definitions (#5446) (32b0d71)
- typings: Explicitly type PremiumTier and Collectors (#5458) (7c49612)
- Make changes to PresenceData typings and docs (#5317) (eb43ce4)
- MessageTypes: Add 16 and 17 (#4685) (c9107e3)
- GuildMemberManager: Add 'search' method (#4154) (0ba2bcb)
- Stage channels (#5456) (eec7cf7)
- Activity: Add missing fields (#4984) (63ff6a0)
- Webhook: Add '(edit|delete)Message' methods (#5223) (7cabc1c)
- Rest: Better handling of global rate limit and invalid request tracking (#4711) (9d2d606)
- Application: Application flags (#5147) (06e9d86)
- WebSocketManager: Let identify throw on depleted limits (#5283) (624a446)
- Jsdelivr default file support (#5424) (f469402)
- Client: Add InviteGenerationOptions#additionalScopes (#5215) (ae3c3d8)
- ReactionCollector: Event create (#4108) (09d1f2f)
- ShardingManager: Allow b-Eval/fetchClientValues on a specific shard when not all are ready (#5222) (001676c)
- GuildChannel: Support conversion between text and news (#5022) (5ac3b57)
- BitField: Move problematic bit into the error message (#5228) (273e955)
- ClientEvents: Add tuple labels to event arguments (#5225) (764966e)
- GuildMember: #pending (#5121) (c4c8171)
- GuildEmojiManager: Implement GuildEmojiManager#fetch (#4933) (ffe3140)
- Browser: Remove browser <20> (#5113) (0a591a9)
- Role: Role tags (#4628) (d6234b7)
- APIMessage: Remove disableMentions (#4836) (4107899)
- GuildMember: Make GuildMember#setNickname first param nullable (#5070) (d70127c)
- Message|TextChannel: Inline replies (#4874) (60e5a0e)
- BaseGuildEmojiManager (#4934) (8d650a7)
- Message: Added string type for message nonce (#4782) (4b555fd)
- GuildMemberManager: Throw TypeError on incorrect GuildMemberManager#ban params (#4816) (863734a)
Refactor
- Replace dependency with initial implementation (#6310) (d5e28c2)
- Interaction: Rename defer to deferReply (#6306) (4241feb)
- InteractionCollector: Only keep Ids of objects (#6084) (b639b6c)
- Channels: Fix incorrectly shared properties (#6262) (5be471b)
- Added
TextBasedChannels type (#6286) (61db5f7)
- MessageComponents: Default setDisabled to true (#6279) (3c7c822)
- *: Use async functions (#6210) (e2e4f65)
- GuildChannel: Use filter method for #members (#6253) (7c54076)
- VoiceState: Change kick to disconnect (#6251) (24931d7)
- Merge collections with keeping entries at max (#6242) (bb5e648)
- Message: Accept a single object instead of 3 arguments (#6244) (434e330)
- Move member adding to manager (#6231) (198a5c4)
- Use guild-wide route for fetching active threads (#6193) (2a07055)
- Remove extended collection (#6246) (00bae4f)
- Strengthen channel typings in appropriate places (#6232) (65ae064)
- Message: Make thread a getter for accuracy (#6215) (5f710ae)
- Match subcommand (group) name casing with Discord's (#6204) (a69e2f7)
- Only cache commands from own user (#6161) (4886ae2)
- Message: Combine patch methods (#6071) (cd47a52)
- CommandInteractionOptionResolver: Add readonly data property (#6156) (328501b)
- OptionResolver: Accept single type instead of an array (#6154) (5addcd1)
- Change const enums to interfaces (#6078) (63ce065)
- ActionsManager: Less complex code (#6102) (4d53d0f)
- Remove timer utilities from Client (#6113) (5ca97c9)
- Remove typing caching (#6114) (576eee8)
- Channel: Change channel types to UPPER_CASE (#6035) (6301728)
- Managers: Rename add to _add (#6060) (9cd5e7e)
- ApplicationCommandManager: Remove unused assignment (#6063) (98a5b52)
- Rename
Constants.OPCode to Opcode, moved objects to enums (#6065) (4eb3a2a)
- PresenceManager: Have Presence extend Base and simplify add (#6056) (ded93fe)
- Presences: Remove from User, nullable on GuildMember (#6055) (afbd5db)
- Intents: Remove computed shorts (#6050) (3022b0f)
- Remove
lastMessage properties from User and GuildMember (#6046) (1a27f57)
- typings: General cleanup (#6047) (676118a)
- Change
xID to xId (#6036) (a7c6678)
- Improve typings and docs related to threads (#5991) (4bf4980)
- Util: Make class extend
null (#6000) (2446ff5)
- Rename events to be consistent with WS names (#6010) (a11a105)
- New node features (#5132) (1e8f012)
- Presence: Remove second assignment of
syncID (#5956) (fb8d516)
- MessagePayload: Rename APIMessage (#5921) (b15d825)
- Removed
code and split options (#5918) (985d4d6)
- Co-authored-by: Jan 66554238+vaporox@users.noreply.github.com
- BREAKING CHANGE: Removed
APIMessage#split
- BREAKING CHANGE: Removed
MessageEditOptions#code
- BREAKING CHANGE: Removed
BaseMessageOptions#code
- BREAKING CHANGE: Removed
BaseMessageOptions#split
- Collector: Make filter an option (#5903) (0d0c8f0)
- Remove exported shortcuts to util methods (#5904) (1816a93)
- Package: Remove
runkitExampleFilename (#5866) (6cceb93)
- awaitMessageComponentInteraction: Use options object for lib consistency (#5852) (9dda9b7)
- *: Make typedefs for all options params (#5785) (1ac9a2e)
- GuildPreviewEmoji: Make roles an array (#5720) (4dbcaf7)
- APIMessage: Remove unused declarations (#5836) (02693bc)
- Fetch options consistency (#5824) (7111b4c)
- GuildChannel: Use Permissions.defaultBit over 0n (#5822) (19d0405)
- Remove all voice code (#5818) (fdef940)
- MessageEmbed: Remove files (#5813) (e3e466d)
- Guild: Remove region from guild and manager methods (#5766) (a1f763e)
- Enforce single param on sending/editing methods (#5758) (0467a90)
- GuildAvailable, typingStop from Constants (#4861) (dda5ee2)
- Interactions: Move Structures import out of switch block (#5763) (84e5b07)
- Remove _roles from pseudo-managers (#5721) (53d952a)
- Deps: Use async-queue package (#5662) (14c6802)
- *: Return the invalid element when erroring from Array (#5314) (eaf332f)
- MessageOptions: Move replyTo to reply#messageReference and add failIfNotExists (#5298) (1ecda83)
- Sticker: Rename Snowflake variable (#5575) (af00ec8)
- RequestHandler: Use x-ratelimit-reset-after when present (#5511) (a5d41c9)
- Remove error-silencing try/catch on event handler imports (#5542) (cdcc50f)
- Sharding: Use options objects (#5510) (c9b5353)
- Add discord-api-types as a dependency (#5539) (1b827fe)
- Rename Snowflake to SnowflakeUtil (#5502) (164ddf6)
- Guild: Remove fetchVanityCode() (#5471) (0a2e0c0)
- Collector: Make endReason a getter (#5271) (8d14ee3)
- Switch api and gateway to V8 (#4879) (ee5bc1a)
- Client: Remove fetchAllMembers option (#5257) (aaed72b)
- GuildMember: Remove GuildMember#hasPermission (#5152) (5401b92)
- Util: Remove convertToBuffer (#5237) (a33eed7)
- Message: Remove stored edit history (#5155) (8c2e6b7)
- RoleManager (#5131) (2a0dcc5)
- Message: Remove options for Message#delete (#4999) (75e6dfb)
- Client: Improve generateInvite() (#5065) (5b51392)
Testing
- Types: Add
notPropertyOf type-only utility (#6051) (03fe6ee)
- Client should destroy (#5353) (4099c28)
Typings
- MessageButtonOptions: Clean up and export some button option type definitions (#6291) (ae6200e)
- Make MessageTarget extend on TextBasedChannels (#6296) (5b0621f)
- Caches: Add GuildStickerManager and GuildInviteManager (#6268) (15aea68)
- Use api-types for stricter typings (#6230) (00c2bf8)
- ButtonMessageOptions: Make button/link button typings more specific (#6212) (77c72e6)
- WsEvents: Add thread ws events (#6194) (4f1f32f)
- DataManager: Add 'K' to type parameter of 'resolveId' (#6152) (8586505)
- ColorResolvable: Readonly tuple (#6153) (1e90be8)
- Message: Mark
#thread as nullable (#6129) (ef5ba05)
- Options: Add types for cacheWithLimits (#6095) (8db6df3)
- Interaction: Change inGuild return type (#6094) (60148c6)
- PartialWebhookFields: Add APIMessage to deleteMessage union (#6085) (a9e7ebd)
- Interactions: Fix function overloads (#6109) (98c6078)
- Guild: Remove fetchVoiceRegions (#6099) (a8984bc)
- Partial: Add partial reactions (#6066) (d6c43a5)
- Test: Fix overloads for channel create (5b6be0c)
- GuildInviteManager: FetchInvitesOptions (#6076) (c1eaa78)
- Fixed unreachable overloads (#6062) (7322547)
- ApplicationCommand: Fix option name (#6067) (58bbcd5)
- *: Revert incorrect unknown type changes (#6057) (2e078e4)
- Options: Should extend null (#6042) (c4aa9fe)
- Voice: Move types to the library's definitions (#6041) (185e376)
- Better fullPermissions typings (#6028) (2ab32e6)
- MessageOptions: Fix components being optional (#6005) (56b5b7e)
- *: Create mention types (#6003) (0dc5dd5)
- VoiceState: Fix optional params (#5993) (1242c54)
- ClientUser: Updated
setAFK signature (#6011) (c40b06c)
- MessageSelectMenu: Fix typings (#5995) (fe6cc0c)
- Interactions: Fix function overload types (#5989) (521d26c)
- Few missing thread channels (#5988) (941cd86)
- MessageOptions: Improved component typings (#5987) (0eeb277)
- ApplicationCommandPermissionsManager: Fix types (#5979) (388e05b)
- ThreadChannel: Make locked and archived param optional (#5980) (a08ce7d)
- *: Make hex color types compatible with ColorResolvable (#5973) (788d58e)
- CommandInteraction: Readd followUp type (#5974) (ae37d20)
- ThreadManager: Add type to ThreadManager#create options (#5969) (3174507)
- ColorResolvable: Change
string to #${string} (#5950) (acdcb90)
- Define ApplicationCommand enums in lib (#5947) (e37ef3a)
- Fix remaining Raw type references, update discord-api-types dep (#5942) (03d3a5c)
- ThreadMemberManager: Fix incorrect usage (#5928) (6065b11)
- MessageReactionResolvable: Add string (#5863) (a0b7d95)
- GuildApplicationCommandManager: Allow undefined command (#5837) (d5bb758)
- Corrected shard broadcastEval (#5834) (a0a56e2)
- MessageComponentInteraction: Update should return Promise (#5829) (08cffd6)
- Extendable: Add ButtonInteraction (#5802) (19fd162)
- Extend MessageComponentInteractionCollector correctly (#5752) (c6696d8)
- Fix awaitReactions typings for returned collection (43fc40e)
- Change remaining string IDs to Snowflakes (#5737) (ff4d6dd)
- Snowflake: Export the type (#5722) (66a6a1f)
- Use Snowflake type (#5717) (76db642)
- PermissionOverwriteOptions: Remove unused interface (#5651) (b40027b)
- WebhookMessageOptions: Omit reply instead of replyTo (#5610) (2345c6d)
- Remove typings for Client#disconnect event (#5469) (a4d09ab)
- PermissionOverwrites: Use correct parameter type for resolveOverwriteOptions (#5302) (ca5f371)
- MessageReaction: Allow message to be partial (#5303) (aac6275)
- RateLimitData: Remove timeDifference property (#5208) (80e1afb)
- Make Client#voice non-nullable (#5148) (40d77ba)
12.5.0 - (2020-11-22)
Bug Fixes
- Guild: Fetch member if already in the guild (#4967) (643f96c)
- User: Only assign to bot initially or if info is actually present (#4990) (eaecd0e)
- GuildMemberUpdate: Cache incoming members & use partials if enabled (#4986) (2e940e6)
- MessageReaction*Action: Correctly cache incoming members and users (#4969) (8b91ac5)
- MessageReaction: Add client property to typings (#5003) (042e071)
- Shard: Don't pass event arguments to exit handler (#4957) (adf2e87)
- PackageLock: Reinstall GitHub docgen dev dependency (#4958) (ed8b3cc)
Documentation
- Use npm ci instead of npm install (#4928) (efd7849)
Features
- Shard: Shard-specific broadcastEval/fetchClientValues + shard Id util (#4991) (2a6c363)
- Add support for guild templates (#4907) (2b2994b)
- Add missing error codes (#5008) (7faa73a)
- Message: Add crosspostable property (#4903) (b8fd3f6)
12.4.1 - (2020-10-24)
Bug Fixes
- Action: Attempt to get a User if GuildMember not returned (#4922) (3d158f4)
- GuildChannel: ParentID shouldn't be set in the constructor (#4919) (250c3ae)
12.4.0 - (2020-10-19)
Bug Fixes
- Webpack: Revert webpack upgrade (94c9cc2)
- esm: Add missing exports (#4911) (4bbe716)
- GuildEmojiManager: Check for guild in methods that use it (#4886) (728b3f9)
- GuildMember: Properly check permissions for hasPermissions (#4677) (7db6978)
- GuildEmojiCreate: Prevent double fire from emoji creation (#4863) (6261dd6)
- GuildMemberManager: Options.roles on 'prune' (#4838) (a45cc11)
- GuildChannel: Default
parentID to null (#4881) (6e4308b)
- Actions: Avoid crash in InviteCreate with unknown channel (#4882) (dd12912)
- GuildMemberManager: Use actually random nonce in fetch (#4884) (937153a)
- GuildChannel: Make setTopic argument nullable (#4875) (b9ad510)
- Rest: Resolved a regression, added retried AbortError (#4852) (d234165)
- MessageManager: Throw if delete param is not MessageResolvable (#4825) (13d64e6)
- Shard: Avoid caching null child in eval/fetchClientValue (#4823) (77c0788)
- Action: Sanity-Check if Discord includes all required data (#4841) (4e79e39)
- Message: Use Promise#reject instead of Throw on Message#delete (#4818) (1e63f37)
- Action: Don't crash when partials are disabled (#4822) (8fa3a89)
- Partials: Use more user objects available from the gateway (#4791) (eeb4c14)
- lint: RESTManager warning (#4796) (5b39737)
- Typings: Remove Partial types from some events (#4781) (a28754b)
- Util: Throw token invalid for fetching rec. shard amount (#4779) (77b6a7d)
- Guild: Cache fetched widget data (#4760) (7ba9440)
- Typing: Change NodeJS.Timer into NodeJS.Timeout (#4755) (405b487)
- Correctly import extendable classes (#4744) (6aab9c3)
- typings: Bot cannot be null (#4719) (e0e2711)
Documentation
- PresenceData: Add YouTube and remove application (#4910) (a7af4a8)
- Role: Update various Role method descriptions (#4798) (222137d)
- ReactionCollector: Revise JSDoc for ReactionCollector#dispose and #remove (#4709) (372a405)
- Guild: Guild.setName() example (#4797) (dfd63bd)
- GuildChannel: ThisType should be this (#4793) (b43e742)
- MessageManager: Update example for fetchPinned (#4785) (8ac25d3)
- BaseGuildEmoji: Account for optional properties (#4723) (a363b90)
- ClientOptions: Fix typo (#4730) (cfc6867)
- APIMessage: Fix wording on comment (#4717) (05c9e30)
- Update jsdoc type for User#bot (#4716) (b6167d8)
Features
- Message: Allow custom emoji format for react (#4895) (30808f9)
- Message: Add messageEditHistoryMaxSize to limit stored msg edits (#4867) (c412cd7)
- NewsChannel: Add support for following (#4805) (f83b3d7)
- GuildManager: Add AFK and system channel options in create (#4837) (f2bbad3)
- Rest: Switch queue to AsyncQueue (#4835) (32fe72f)
- ActivityTypes: Add Competing (type 5) (#4824) (9c76129)
- Message: Add support for crossposting (#4105) (bcb7c72)
- Channel: Add isText() type guard (#4745) (b0ab37d)
- Guild: Add includeApplications option for fetchIntegrations (#4762) (3141f7c)
- UserFlags: Add renamed UserFlags (#4761) (f973163)
- Client: Allow options for generateInvite (#4741) (727b29c)
Refactor
- Improve the accuracy of docs/improve docs (#4845) (af670fc)
- ReactionUserManager: Use client property (#4829) (169d4c3)
- Client: Remove non-existant property from toJSON (#4750) (46acfac)
Styling
- Remove unnecessary eslint comment (#4758) (74ebb65)
Typings
- TextBasedChannel: Make lastPinAt nullable (#4842) (4a6fb9a)
- Activity: Move flags from Presence to Activity (#4843) (824e922)
- GuildPreview: Make description nullable (#4854) (0b59141)
- Guild: Document RELAY_ENABLED feature (#4788) (422a4dd)
- Don't use readonly arrays in interfaces (#4794) (904aecf)
- PartialUser: Fix PartialUser remove
deleted property (#4773) (aa25608)
- Don't allow any object in the first parameter if second parameter is not given in TextBasedChannel#send (#4736) (74763ef)
- Add all types for GuildAuditLogsEntry#target (#4738) (2dc70af)
12.3.1 - (2020-08-15)
Bug Fixes
- User: Set User#bot to false if not partial (#4706) (db512d8)
12.3.0 - (2020-08-14)
Bug Fixes
- Partials: Correctly set properties as nullable (#4636) (980243f)
- APIMessage: Add reply user to allowedMentions (#4591) (b6ddd4c)
- MessageReactionAdd: Prevent double messageReactionAdd triggering (#4682) (6caeaeb)
- Integration: User might not be present (#4691) (baffbdb)
- GuildChannel: Make lockPermissions use parent overwrites (#4627) (599cde3)
- Collector: Support async (#4123) (124afeb)
- BaseManager: Properly type valueOf (#4594) (b4d6510)
- Correctly import VoiceState (#4616) (c5b6c4d)
- ApiMessage: Respect allowedMentions with split (#4588) (a663ea4)
- Message: Message#createdTimestamp uses deconstructed message id to get timestamp (#4632) (2be68e4)
- Util: Support empty array for flatten (#4590) (317f240)
- Consider #nsfw false if not present in data (#4593) (fab3153)
- PresenceStatus: Include invisible in typings (#4585) (276dddc)
- Set #nickname to null as the default value (#4641) (2adb581)
- Typings: Channel#delete returns bad type (#4118) (3df9993)
- Message: Include MessageEmbed type (#4675) (bbfc715)
- typings: Correct spelling of APIError (#4687) (c55b5c8)
- Util: Fix cleanContent mention exploit (#4663) (fb1dd6b)
- typings: Allow custom events (#4162) (47151fc)
- User: Type dmChannel as nullable (#4609) (f9f3661)
- Typing start event emitting on non text based channels (#4349) (16847a3)
- Guild: Fix vanityURLUses desc, internally use fetchVanityData (#4335) (1c275af)
- DataResolver: ResolveInviteCode to support new domain (#4281) (5955498)
- Grammatical errors in INVALID_TYPE errors (#4289) (fc4bddf)
- APIMessage: Only pass allowedMentions if content is defined (#4269) (15b5350)
- In/de-crement max listener for client events (#4168) (407bc77)
- Voice: Correctly set speaking data in the voice ssrcMap (d3c9384)
- MessageEmbed: Explicitly mark
proxyIconURL as undefined (#4097) (605ee85)
- Typing: DmChannel bulkDelete (#4115) (819e04a)
- Typing: SetSpeaking public (#4109) (e3303ac)
- Webpack: Add Buffer polyfill in browser (#4102) (67a74c3)
- Guild: Name acronym (#4104) (97cbbb1)
- PacketHandler: Guild members chunk packet handler should… (#4092) (5af1a55)
- Typings: Add optional Set to shardReady event (#4099) (97d23de)
- User: Jsdoc for User#flags (#4094) (6fbaf0a)
Documentation
- Updated applications URL (#4699) (0b38c5d)
- ReactionCollector: Update remove and dispose events (#4136) (139e56c)
- Embeds: Added descriptions to the typedefs (#4303) (2a7f749)
- Constants: Improve large_threshold description (#3744) (de8d26d)
- Ban: Days must be 0-7 (#4693) (446bbfe)
- Welcome: Change discord badge to shields.io for consistency (#4633) (bd2bb0e)
- Client: Fix docs for login method (#4350) (9d747d1)
- Guild: Clarify vanity URL documentation (#4125) (05cbf70)
- CategoryChannel: Fix children being incorrectly marked as nullable (#4620) (f628981)
- examples: Fix example img (#4678) (755f379)
- ReactionManager: Clarify cache Collection keys type (#4683) (5b716c5)
- Message: Add NewsChannel type to Message#channel (#4680) (b0e53e9)
- Make use of MessageResolvable type for bulkDelete (#4661) (0e61fca)
- erlpack: Discordapp to discord (#4288) (9a1c56c)
- Guild: Description of Guild#premiumSubscriptionCount (#4324) (bd34965)
- GuildManager: Resolve returns a GuildChannel (#4333) (88a62d5)
- WebSocketShard: Add missing properties (#4268) (2583ad5)
- ShardingManager: Fix typo in JSDoc (#4158) (766b91d)
- ShardingManager: Remove experimental status of Worker threads (#4157) (99612ba)
- VoiceState: Remove permissions required from description (#4156) (2617d3c)
- Message: Add timeout to Message#delete example (#4090) (863a709)
Features
- Trigger userUpdate on GUILD_MEMBER_UPDATE (#4697) (178439e)
- GuildMemberManager#prune: Roles query param (#4142) (f1194af)
- GuildManager: Adds GuildManager#fetch (#4086) (2742923)
- typings: Use readonly arrays in parameters (#4692) (f451be0)
- typings: Add number type for setExplicitContentFilter method (#4694) (e7eda72)
- Bypass cache check with forceFetch param (#4592) (290938b)
- BitField: Add problematic bit to error (#4617) (0225851)
- Guild: Updates for Community guilds (#4377) (57ca3d7)
- Guild: Discovery splash (#4619) (5be6630)
- types: BitFieldResolvable use ReadonlyArray (#4604) (f2f31a1)
- Deprecate GuildEmbed methods and properties in favour of GuildWidget (#4121) (e92cbc4)
- GuildEmoji: Cache the author (#4334) (b7740d4)
- Util: Add missing colors to docs (#3843) (03580b2)
- Add Blob support for browser (#4338) (1fbaf88)
- typings: TypeScript support for changing $browser (#4667) (e54c21b)
- Module: Add ReactionManager to exports (#4372) (2b6e6d8)
- Message: Support pin and unpin with reason (#4586) (c79ac4d)
- MessageMentions: Fix typings/docs, add resolvables support (#4339) (214981f)
- voiceState: Add self_video property (#4346) (54a7fda)
- Guild: Add fetchVanityData (#4103) (8030612)
- REST: Allow options.query as URLSearchParams (#4143) (257371d)
- GuildMemberManager: Nonce and chunk_count for _fetchMany (#4130) (ec0227a)
- Guild#fetch: WithCount param (#4111) (0266917)
Refactor
- GuildMemberManager: Use data instead of query (#4370) (49ad279)
Typings
12.2.0 - (2020-04-17)
Bug Fixes
- PermissionOverwrites: ResolveOverwriteOptions description (#4088) (d709656)
- Guild: Sort text, news, and store channels together (#4070) (fcacf1b)
- Typings: GuildPreview#features and Integration#type (#4080) (72a33cb)
- ClientApplication: Type fetchAssets as resolving with an a… (#4078) (72a7f2b)
- StreamDispatcher: Correct property types (#4059) (9ba4eff)
- BaseManager: Remove declaration of remove method (#4069) (a07c3c2)
- Message: Update MessageMention's roles on message edit (#4016) (9e4c39a)
- Presence: Add missing
userID property to declarations (#4013) (691e96c)
Documentation
- RoleManager: Everyone role can't be null (#3995) (a88b723)
- Webhook: Id and token information (#3962) (da5d928)
- MessageEmbed: Document the constructor (#4077) (4625881)
- MessageManager: Document return type of delete (#4012) (4c2308b)
- ShardClientUtil: Link Shard#message from send method (#4028) (7ce58db)
Features
- DataResolver: Prefer streams over buffers (#4075) (12187ef)
- ClientOptions: Allow setting default allowedMentions (#4085) (7c6000c)
- ESModules: Importing for esm modules (#3998) (0a3759f)
- GuildMemberManager: Customisable timeout for _fetchMany (#4081) (ff3454e)
- User#flags (#4060) (2e5a647)
- Message: Add allowedMentions to MessageEditOptions (#4071) (a8db988)
- Add supported 4096 image size and jpeg format (#4031) (1330e2d)
- Guild: PUBLIC_DISABLED and WELCOME_SCREEN_ENABLED features (#4009) (849c632)
12.1.1 - (2020-03-27)
Bug Fixes
- Typings: Use Channel instead of *ChannelTypes in ClientEve… (#4001) (5e49126)
12.1.0 - (2020-03-27)
Bug Fixes
- WebsocketShard: Pass ignore ACK when Discord asks for a beat (#3993) (65e8c92)
- Typings: Client message event should not emit PartialMessa… (#3983) (f2fdb93)
- Always emit guildUnavailable when a guild becomes unavailable (#3975) (2157401)
- TypingStart: Typing methods returning falsy values (#3939) (495cfa9)
- Guild: Default max presences value (#3970) (0f38d80)
- Partials: Correctly document properties for partialized st… (#3922) (8b906c6)
- Channel: Ensure partial DMChannels get created (#3954) (8c0a940)
- MessageReaction: Fetching a removed partial custom emoji (#3955) (a36a65b)
- RequestHandler: A global timeout implies limited (#3950) (7b38f46)
- Util: CleanContent should remove mentions after formatting… (#3936) (44ac5fe)
- GuildMemberRolesManager: Type error should mention Role an… (#3931) (e5264ab)
- GuildEmojiManager: Throw an error if image resolving fails (#3934) (ca75eb5)
Documentation
- MessageMentionTypes: Move possible values to description (#3990) (fee9a21)
- MessageReaction: Fix jsdoc for count (#3980) (993411d)
- VoiceState: Improve phrasing of setChannel method (#3959) (cd52424)
- MessageEmbed: Correct description of createdAt (#3897) (a5267e1)
- PlayInterface: Update example for broadcast (7994b56)
Features
- GuildPreview: Implement support for "preview" endpoint (#3965) (88133d0)
- AllowedMentions: Add support for MessageOptions#allowedMe… (#3893) (df324e2)
- Permissions: Adds VIEW_GUILD_INSIGHTS (#3928) (5b9cdc5)
- typings: Allow event listener type param inference (#3944) (2be9eba)
- Types: Support type-guarding using Channel#type string li… (#3918) (69d69f2)
Typings
- Add back accidental removal (#3984) (5da734c)
- Partials: Fix unexpected TSC errors (#3957) (a660515)
- StreamDispatcher: Remove end event (#3945) (609a545)
- PartialTextBasedChannelFields: Fix send overload (#3942) (a53404f)
- PartialTextBasedChannelFields: Fix send overloads (#3935) (d43f78c)
- Client: Remove typingStop event (#3919) (5b8f022)
12.0.2 - (2020-03-08)
Bug Fixes
- APIRequest: Only use form data when actually sending files (#3917) (a4f7e07)
- MessageEmbed: Skip validation of fields when inside a message (#3894) (3e169cb)
- Guild: Resolve role id and call existing handler (#3904) (f387337)
- Adapt #manageable to check for CONNECT for VoiceChannel (#3885) (61ef46f)
Documentation
- Structures: Add ExtendableStructure typedef (#3908) (79a28b5)
- Make collections more accessible in docs (#3907) (b5dfb55)
- GuildMemberResolvable: An member -> a member (#3909) (3c653aa)
- BitField: Document constructors of deriving classes (#3903) (bca4b03)
- sharding: ShardingManager#createShard doesn't spawn the s… (#3875) (b5a7e5c)
- faq: Replace ffmpeg-binaries with ffmpeg-static (#3886) (bfcd4be)
Performance
- VoiceConnection: Skip redundant volume transformer on join (#3916) (69d4153)
Testing
- Update tests (#3865) (9b5f005)
12.0.1 - (2020-03-01)
Bug Fixes
- guild: VerificationLevels (#3873) (66e625c)
- message_mentions: Lazy require GuildMember to avoid circular (#3877) (cd746f3)
12.0.0 - (2020-03-01)
Documentation
- Clarify which checks GuildMember#manageable does (#3870) (2d67fbb)
- PartialRoleData: Id is optional (#3866) (c7f4485)
Features
- Document intent error code messages (#3871) (f4b1b39)
Refactor
- Make LimitedCollection an implementation detail (#3872) (544bb78)
11.6.1 - (2020-02-29)
Bug Fixes
- playinterface: Lazy require VoiceBroadcast to avoid circul… (#3864) (713309e)
- typings: Enum values for ChannelType (#3861) (acdd832)
- typings: Remove duplicate VerificationLevels (#3862) (09e4912)
- typings: For intents (#3860) (a6d3501)
Documentation
- Bump version to 11.6.0 (#3863) (34d352d)
11.6.0 - (2020-02-29)
Bug Fixes
- guild: Import paths (d9e12b8)
- MessageEmbed: Prevent possible destructuring error (bbe169d)
- Shard: Cleanup after settling spawn promise (#3799) (f95df6f)
- typings: MessageOptions#split (#3834) (cf646b5)
- Client#sweepMessages should throw an INVALID_TYPE error (#3828) (0280734)
- MessageEmbed: Various typos and fixes (#3819) (52c0a40)
- ReactionManager: Update message if partial (#3789) (bc5e295)
- Message: Handle undefined/null content in cleanContent getter (#3778) (a36f386)
- Guild: Use snake case when editing system_channel_flags (#3781) (878cc05)
- BaseManager: BaseManager#valueOf should return cache (#3776) (62b227c)
- TextChannel: Remove old nsfw regex check (#3775) (324d9e0)
- Guild: Update premiumSinceTimestamp on guild member update (83bc6e0)
- GuildMember: Manageable - let owner override (#3766) (364914f)
- GuildMember: Manageable - let owner override (#3765) (3f03901)
- Voice:* Fix speaking event and voice receive (#3749) (fbcd363)
- Remove for..in in favor of Object.keys (#3745) (6d7e1e4)
- TextChannel#bulkDelete: Use GenericAction#getMessage to handle return value correctly (#3664) (d8b4725)
- ClientUser: Verified and enabled properties resetting (#3733) (3ea9ac5)
- *Collector: Always run postCheck, remove 'translatation' of message collector options (#3718) (099a1a4)
- RichPresenceAssets: Add Twitch preview link for largeImageURL (#3715) (a505a55)
- Only setMaxListeners when max listeners is not 0 (#3716) (903f6ca)
- ClientDataResolver: Return a user in resolveUser when passing guild (#3719) (464ef25)
- VoiceConnection: Use Client#clearTimeout to clear timeouts (#3709) (c5d2b96)
- Presence: Account for multiple activities everywhere (#3703) (f501d06)
- Regression (changing voice servers) (629c57f)
- Guild: Assign GuildMember#selfStream, if present, when adding a member (36c0496)
- ShardingManager: Assert shardList to be spawned, not totalShards (#3649) (400cb56)
- BitField: Remove for..in in favor of Object.entries (#3650) (11f9118)
- Provide count on bulk deletion (#3682) (59205a2)
- typings: Remove VoiceChannel#connection (#3676) (f74ae12)
- ChannelDelete: Mark messages of a deleted channel as deleted (#3572) (d1d0d75)
- Voice:* Internally disconnect and cleanup when forcibly disconnected (#3597) (cbabc16)
- Webhook: Edit channel when editing avatar (#3588) (e660ea9)
- APIRouter: Use proper symbol for util.inspect (#3589) (1003607)
- Invite: Fix valueOf returning undefined (#3582) (d39f179)
- *Collector: Account for a max listener count of 0 (#3504) (2e20e80)
- VoiceConnection: Clear timeouts using Client#clearTimeout (#3553) (9bcb6a0)
- VoiceReceiver: Delete opus encoder from map in stoppedSpeaking (#3499) (91600a6)
- Document ChannelData#reason (#3549) (7011c51)
- Message: Check for edited_timestamp in data when patching message (#3535) (9e0705c)
- docslink: Partialtypes (#3510) (c3228b4)
- Set messages deleted when their channel is deleted (#3519) (48856c0)
- Util: Make arraysEqual avoid mutating the input arrays (#3506) (8ddd061)
- typings: GuildChannel#parent and #parentID are nullable (#3509) (2a78b00)
- typings: GuildChannel#parentID is nullable (#3508) (e936f07)
- GuildChannelStore: Default channel type incorrectly set (#3496) (a03e439)
- BitField: Throw when resolving invalid string constant (41c0dd4)
- stores: Add symbol.species for not-actual-stores (#3477) (60f89bd)
- Typings for this-polymorphism of collections (#3472) (d5831df)
- typings: Remove leftover typeof (ea9e144)
- typings: Collection constructor (33ecdd4)
- typings: Collections import (ac44a7f)
- rate-limits: Reactions buckets need to be shared with sub-… (#3439) (278f185)
- Role: Throw TypeError in comparePositionTo (#3466) (8e0f525)
- Browser-compatability (4fc461c)
- Util#splitMessage when destructured (#3456) (5d95a4b)
- typings: Partially revert #3448 (89d9b0f)
- GuildAuditLogsEntry: Default to object with id for deleted targets (#3373) (43c0a79)
- ChannelStore: Return existing DMChannels within add() (#3438) (2a3fb70)
- GuildMemberStore#_fetchMany (#3420) (cc488a8)
- Webhook: Return raw data if the channel is unavailable (c786867)
- ReactionUserStore: Remove method firing messageReactionRemove event twice (#3277) (1851f74)
- GuildMemberRoleStore: Correctly reference the everyone role (#3434) (12b48b7)
- Message: Delete method caused messageDelete event to fire twice (#3252) (8ae7a30)
- Bots being unable to connect (f79f024)
- GuildMemberStore: Reject BAN_RESOLVE_ID error instead of throwing it (#3425) (9e76f23)
- typings: Send overloads (d14db52)
- GuildChannel: Return GuildChannel in setPosition instead of Guild (1121b2f)
- Update issue templates (651ff81)
- ClientApplication: Fix ternaries (b65a4f0)
- ClientApplication: Owner is still nullable (1dd4c04)
- Guild: Allow fetchMember to be used with an uncached user (#3333) (6f49aad)
- docs: Backport documentation for Presence#clientStatus (#3315) (0c61019)
Documentation
- readme: Remove mention of uws (08e7328)
- TextBasedChannel: Fix typo (#3858) (a04b4ca)
- shard: Add .cache to GuildManager in fetchClientValue exa… (#3857) (31ee0d8)
- MessageEmbed: Document
article embed type (#3846) (31a3a86)
- SystemChannelFlags: Properly document and use resolvable (#3794) (d406f42)
- MessageAttachment: Mark spoiler as readonly, order spoiler in typings (#3714) (ccb83a7)
- WSEvents: Add missing, remove duplicated and userbot events (#3800) (c4c6ad4)
- PermissionResolvable: Move definition outside of class (544b14a)
- Clarify what zlib-sync does (#3785) (21d37ed)
- Guild: Channels is a manager of channels (#3779) (d43692b)
- Info tag for ActivityType regarding CUSTOM_STATUS (#3758) (b7ccf9a)
- Info tag for ActivityType regarding CUSTOM_STATUS (#3757) (3f8ea38)
- Add extends to ChannelManager, cache is not nullable, resolveID accepts an object (#3771) (94bb268)
- *Manager: Fix child classes' cache type annotations (#3777) (92bc634)
- Guild: FetchBan returns a promise (#3752) (8e9e93d)
- MessageMentions: Backport mention order notice (#3712) (d8419ac)
- MessageMentions: Channels are actually in order (#3705) (6302afb)
- Replace all occurances of node-opus with @discordjs/opus (#3698) (6a0fe46)
- MessageMentions: Add sort order notice (#3693) (7f99be7)
- ReactionStore: ResolveID takes a reaction, not role (#3617) (1237133)
- Client: Clarify whose ToS are being violated (#3580) (1d66062)
- README: Link to guide page instead of source (#3566) (1352bff)
- README: Travis badge => github actions badge (#3569) (9a31e6e)
- NewsChannel and StoreChannel (#3557) (cc466fa)
- readme: Table of contents (#3539) (e26697f)
- VoiceStatus: Document name -> value, link in VoiceConnection#status (#3500) (1861352)
- VoiceStateUpdate always sends an instance of VoiceState (#3537) (a61cfc3)
- Rename LURKABLE to PUBLIC and update GuildFeatures type (#3484) (ea8b4e7)
- Document Message#author as nullable (#3464) (d252ddf)
- ClientOptions: Document unit of restRequestTimeout (#3449) (4c08812)
- Fix voice broadcast example code (#3436) (3fcc862)
- Guild: Add missing features (#3406) (e562564)
- Fix typos (#3404) (d8516ef)
- VoiceStateStore: Document and type the class (#3294) (20d7b3d)
- Team:* Fix appliction -> team, tag -> mention (4c11347)
- Add zucc to docsite welcome page (#3355) (61e2e3e)
- RoleStore: Update -> create in create method (#3349) (6100ace)
- Presence: Document client property (#3342) (f82f0af)
- Client: FetchVoiceRegions returns a promise (6cd4c27)
- Guild: Add missing features (#3336) (19ef451)
- *Resolvable: Make them appear on the docs (4a2335c)
- Constants: Add missing GUILD_EMOJIS_UPDATE to WSEvents (#3325) (ddcc6cf)
Features
- Intents bitfield (#3844) (8a2f893)
- MessageEmbed: Support EmbedFieldData[] instead of EmbedFi… (#3845) (6650d50)
- Reimplement disableEveryone into disableMentions (9c8aaf1)
- GuildMemberStore: Add options.withPresences to fetch() (#3562) (de4b4a0)
- GuildManager: Allow for more options for GuildManager.cre… (#3742) (2ee0f1c)
- RichEmbed: Add toJSON returning an api-compatible object (97457e1)
- RichEmbed: Backport spliceFields and normalizeField (#3762) (6eaf63f)
- MessageEmbed: Re-introduce MessageEmbed#addField (#3850) (df88729)
- Replace disableEveryone with disableMentions (#3830) (9cb306c)
- GuildEmoji & Invite to GuildResolvable (#3637) (91a025c)
- Collector: Addition of resetTimer() (#3825) (acf724e)
- GuildAuditLogs: Handle new event types (#3602) (a69ebbe)
- MessageEmbed: Change toJSON method to return an api-compatible object (#3813) (4ec01dd)
- Bring embed builder field manipulation in line with underlying array functionality (#3761) (b727f6c)
- PartialGroupDMChannel: To support Invite#channel for group dms (#3786) (161f907)
- Guild: Add rulesChannel and publicUpdatesChannel (#3810) (b0aed05)
- Guild: Add rulesChannel and publicUpdatesChannel (#3810) (bea6da6)
- Add new MessageTypes (14 and 15) (#3812) (b0d0b81)
- Message:* Add missing fields, add support for flag editing (#3795) (7e9c995)
- Guild: Add support for system channel flags (#3793) (330c410)
- GuildChannel: Add support for clone options, deprecate old signature (#3792) (ab866d6)
- Add new MessageTypes (14 and 15) (#3812) (ef8acec)
- Message: Add support for flag editing / embed suppression (#3674) (46ee06b)
- Message: Throw a TypeError if delete is passed a non-object (#3772) (592021d)
- BitField: Add BitField base class (#3759) (46e8bc4)
- GuildAuditLogs: Handle new event types (#3760) (dbdb49e)
- Remove datastores and implement Managers (#3696) (bbdbc4c)
- Integration: Add guild integrations (#3756) (c955fd0)
- Constants: Add CUSTOM_STATUS to ActivityTypes (2589db6)
- Presence/Game: Multiple activities and custom status (#3747) (17b8b23)
- Collector: Add idle option (#3746) (ccd6043)
- MessageReaction: Add remove method and Client#messageReactionRemoveEmoji (#3723) (030d263)
- MessageReaction: Backport removeAll and MessageReactionRemoveEmoji event (#3741) (ab7f9e8)
- GuildMemberStore: Make timeout refresh after every GUILD_MEMBERS_CHUNK (#3645) (90aa5b3)
- Webhook: Backport missing properties (#3710) (30adb37)
- MessageReaction: Backport animated, client, created*, and url (#3711) (88b675d)
- MessageAttachment: Add spoiler getter (#3713) (4ca1864)
- Client: Add support for INVITE_CREATE and INVITE_DELETE events (#3720) (929ff9c)
- Client: Backport INVITE_CREATE and INVITE_DELETE events (#3728) (40afbc1)
- Guild: Add fetchBan method (#3726) (c779fe3)
- Guild: Add setBanner method and banner to edit (#3708) (01826ae)
- Message/Mentions: Implement caching of members (#3684) (0f49d67)
- Collectors: Make collectors auto-stop when relevant structures are deleted (#3632) (cbb8db3)
- Use updated eslint action (#3699) (d096e40)
- Presence: Add support for multiple activities (#3661) (ee0b7c1)
- Constants: Backport VerificationLevels and missing APIError codes (#3688) (07996d1)
- Dynamic property for ImageURLOptions (#3530) (8014ddc)
- Speaking: Add PRIORITY_SPEAKING bit (#3680) (b5825c3)
- Webhook: Add ability to change channel and specify reason to edit (#3587) (fbe9bc4)
- Permissions: Add any method (#3571) (367c800)
- Partials: Add DMChannel/MessageReaction#fetch() and PartialTypes.REACTION (#3474) (6af0da1)
- RichPresenceAssets: Add Twitch preview link for largeImageURL (#3655) (bf31b28)
- MessageMentions: Cache mentioned members (#3601) (97eac66)
- Webhook: Add type property and created* getters (#3585) (ea76a56)
- Widen GuildResolvable to include more structures (#3512) (b4f00bf)
- Guild: Add systemChannelFlags (#3559) (f578cce)
- Add new MessageFlags.FLAGS & User#system (#3603) (4378283)
- Webhook: Addition of Webhook#avatarURL function (#3625) (330d5db)
- Activity: Support for CUSTOM_STATUS activity type (#3353) (2ca74d6)
- GuildAuditLogs: Add new event types (#3584) (1bcc0c2)
- MessageAttachment: Add spoiler property (#3561) (38d370f)
- GuildMember: Add selfStream (#3522) (96037e1)
- GuildMember: Filter out duplicate roles when updating (#3502) (f91ad70)
- VoiceState: Add VoiceState#streaming (#3521) (a8f06f2)
- GuildChannel: Backport permissionsLocked getter (#3507) (2610bf5)
- External collection package (#2934) (dad0cd8)
- constants: Add verificationLevels (#3369) (37ecf7b)
- Partials: Add DMChannel/MessageReaction#fetch() and Parti… (#3261) (b0047c4)
- Guild#partnered (#3444) (6f83e71)
- VoiceState: Add kick method (#3462) (c86a615)
- Permissions: Add new method Permissions#any (#3450) (a6810e2)
- typings: Reply overloads for splitmessage (c5cbf86)
- Abort Requests that takes a lot of time to resolve (#3327) (e4309b2)
- Invite: Add targetUser(Type) (#3262) (d62db23)
- Util: Fix animated part of parseEmoji regex and make id optional (#3407) (b662678)
- Collector: Allow collectors to be consumed by for-await-of loops (#3269) (6d3c55b)
- Overload for split always returning an array (#3411) (5af8cb8)
- Util.splitMessage always return an array (#3035) (e645dd6)
- typings: Constants export (#2915) (547bf83)
- Collector: Add idle time for a Collector to stop itself (#2942) (f1433a2)
- Teams: Backport support for teams (#3357) (0cd7556)
- Guild: Add banner to edit method and add setBanner method (#3364) (adb0823)
- Teams support (#3350) (a22aabf)
- Emoji: Backport delete method (#3343) (c355236)
- Guild: Add support for premium/boosting (#3332) (b892436)
- Guild: Backport misc properties and setRolePositions (#3337) (e6a378b)
- Guild: Default iconURL to gif if animated (#3338) (1bec28b)
- Guild: Add setRolePositions method(#3317) (8bc8ffe)
- Add support for premium guilds (#3316) (c877580)
Refactor
- GuildChannel: Change overwritePermisions to accept an… (#3853) (e4f567c)
- Add some more consistency (#3842) (1af1e0c)
- Remove unused error in catch statements (#3820) (0a1b9a5)
- MessageEmbed: Simplify initialization of files property (#3814) (b347e9e)
- VoiceChannel: Use Permissions.FLAGS in speakable (#3780) (562b5bf)
- Remove
util alias export (#3691) (53a1f8f)
- TeamMember: Remove client from constructor (#3409) (ab27dd0)
- Move Guild#defaultRole to RoleStore#everyone (#3347) (2df4f22)
- Util.escapeMarkdown: Allow separate escaping and add tests (#3241) (00c4098)
- TeamMember: Make id a getter (d7b2146)
Styling
- Change let to const in MessageMentions (#3483) (d280d1b)
Typings
- Refactor how channel types are done (#3808) (d33fc74)
- WebhookClient: Client is not a client (#3838) (6109669)
- WebhookClient: Client is not a Client (#3829) (44ff67d)
- MessageEmebd: Fix typings for addFields (#3821) (54f24d1)
- MessageEmbed: Properly mark properties (#3822) (967b533)
- MessageEmbed: Add interfaces for props, fix copy constructor (#3492) (e57ef25)
- Invite: Channel can be a PartialGroupDMChannel (#3823) (28490e8)
- AddGuildMemberOptions: Change accessToken from String to string (#3815) (ecd8ccc)
- Constants: Add VerificationLevels (#3811) (f6075a6)
- Guild: Mark afkChannel* & applicationID as nullable (#3805) (f852308)
- Add invite events to WSEventType and constants (#3782) (6770c7c)
- GuildMemberManager: Fetch with no parameters returns collection (#3773) (149f72b)
- Add HTTPOptions#api and export Constants as a value (#3768) (fe7df70)
- Constants: Add CUSTOM_STATUS to ActivityTypes (a12e1e8)
- TextChannel: Topic can be null (#3687) (17237c7)
- RichPresenceAssets: *ImageURL's options are optional (#3727) (877577b)
- GuildEmoji: Id isn't nullable (#3694) (69c79a4)
- VoiceBroadcast: Add subscribers property (#3677) (45cd58b)
- Fixed build error (#3689) (62afafd)
- BaseClient: Remove delay parameter from setImmediate (#3667) (a53d865)
- GuildEmoji: Make url not-nullable (#3656) (155b682)
- ShardingManager: Add options.shardList (#3657) (c734979)
- Bitfield: Add hasParams to toArray, fix serialize's type (#3579) (fc27ce1)
- TextChannel.topic & NewsChannel.topic should be nullable (#3628) (e13b3f5)
- Extendable: Add missing channels (#3581) (7d74e7e)
- Bitfield: Use IterableIterator instead of Iterator (#3599) (f56b442)
- GuildAuditLogsFetchOptions: Specify concrete type of 'type' property (#3586) (cbde819)
- Util: Use StringResolvable (fixes old pull) (#3556) (99466a9)
- GuildEmoji: Restore deletable, remove inherited property deleted (#3543) (16db92e)
- Emoji: Remove deletable, add deleted, mark nullable props (#3542) (ca1bd61)
- Optional reason for setNSFW and add deleted properties (#3505) (a8e3657)
- Mark GuildMember#nickname as nullable (#3517) (94ce19d)
- Mark GuildMember#nickname as nullable (#3516) (3458693)
- Add missing rateLimitPerUser property (#3480) (7485550)
- Make TypeScript interaction with channels better (#3469) (d05334f)
- GuildChannel: Add members getter (#3467) (4072ffb)
- Client: Remove 'resume', add 'replayed' parameter to 'shardResumed' (#3455) (9e6a73d)
- DataStore: Correct return types for resolve, resolveID and remove (#3448) (745a0ea)
- Switch overloads of RoleStore#fetch (#3397) (7fae6e5)
- Guild: Add typings for setRolePositions (8e18572)
- GuildChannelStore: Add CategoryChannel as possible return value (#3326) (e87e4a6)
11.5.1 - (2019-05-29)
Bug Fixes
- Decode voice ws data as json (8652e47)
- StreamOptions#volume typings (#3303) (d34b624)
- Delete VoiceStates even for uncached members (db56e0c)
- Message#pinnable: You can't pin system messages (#3279) (8c213e9)
- Message#pinnable: You can't pin system messages (#3279) (abebeac)
- GuildMember: Do not create a channel key when editing (06b72ee)
- GuildMember: Do not create a channel key when editing (3ad16fa)
- typings: Guild#member can return null (#3274) (97de79b)
- READY: Do not overwrite Client#user when reidentifying (1bafa4b)
- WebSocketManager: Rethrow unknown errors when connecting a WebSocketShard (16fcfa3)
Deprecation
- Explicitly mark everything deprecated as
@ deprecated (#3307) (db492e6)
Documentation
- StreamDispatcher: Specify pausedTime is in milliseconds (#3295) (34006cb)
- ChannelCreationOverwrites: Revert incorrect rename of "id" property (#3273) (e3d03ad)
- TextChanne: Specify unit of rateLimitPerUser (#3272) (363cec3)
- TextChanne: Specify unit of rateLimitPerUser (#3272) (55447fd)
- Guild: Fix typo in example of createChannel (c844a7b)
Features
- Throw custom error for uncached Guild#me (#3271) (3f1232e)
Typings
- VoiceState: Add connection getter (#3292) (9ca36b8)
- Guild: Remove voiceConnection, add voice, cleanup rest (97f3b6c)
- Collection: Use T in accumulator and initialValue when reducing (#3284) (b3060ea)
11.5.0 - (2019-05-11)
Bug Fixes
- Partials: Client#event:messageUpdate(oldMessage) and MessageReactionAdd on guild channels (#3250) (0dd3ed7)
- Client: Type status and do not throw an error if accessed before login (67da457)
- WebSocketConnection: Stringify data when no websocket is available (60013b7)
- ClientUser: Lint (aa253d9)
- Typing map being reset for ClientUser (#3216) (4e0cf87)
- Not checking for guild when creating a channel (e0cfb7f)
- Channels being removed from guild.channels (4d7fc03)
- MessageCreateAction: Remove redundant GuildMemberStore#add call (39115c8)
- Guild: Only update emojis when they are present in the payload (6a07715)
- typings: Collection#find & findKey can return undefined (#3228) (3f6d08a)
- Old objects not being cached (#3225) (23e6414)
- Structures: Allow multiple extensions by checking prototype chain (#3217) (52b4f09)
- Emit resume event, silent disconnects, error event param (#3192) (1514df0)
- PresenceUpdateAction: Emit presences again (#3214) (cde955c)
- typings: Remove duplicated Guild#defaultRole (#3211) (39fd8fd)
- Guild: Sort roles with the same position in the correct order (#3184) (923c945)
- ApiRequest: Filter out null query values (00eb7e3)
- ShardingManager: Do not spawn the last shard early (bfab203)
- Remove GuildChannel fallback, and remove GuildChannel as extendable (#3165) (bb92289)
- Internal Sharding, this time fixed™ (#3140) (3f5161e)
- MessageReactionRemove not emitting for partial messages (#3125) (2341d13)
- APIMessage: Edit shouldn't remove content (#3129) (1673b6f)
- Role: Proper undefined check for data.permission when editing (579283d)
- Emoji: Reject explicit error when MANAGE_EMOJI permissions are missing (#3063) (45a17e7)
- Util: SplitMessage throws an error if a chunk is too large (#3060) (1618829)
- GuildMember: Add explicit channel resolve error to member edit (#3059) (a0ff72b)
- Sharding issues, silent disconnects and code cleanup (#2976) (793341d)
- Ensure VIEW_CHANNEL permissions before trying to join (#3046) (7324a99)
- WebSocketShard: Report correct resumed event count (#3019) (f2ed93c)
- Guild: Ignore voice states referencing an invalid channel (73aaab5)
- ShardClientUtil#id: Erroneously reporting as an array (8230255)
- TextBasedChannel: Added missing lastMessage functionality in textchannels (#2999) (7186c91)
- WebSocketShard: Add websocket send error handling (#2981) (5cbdf38)
- GuildBanRemove event name (#2983) (b5d5c69)
- Util: Throw an explicit error if a chunk exceeds the max length (#2936) (ecaec29)
- GuildChannel: Add explicit channel resolve error to member edit (#2958) (23a16c3)
- Sharding Issues & Cleanup (#2952) (9085138)
- ShardClientUtil#count and ShardClientUtil#id typedef (#2956) (e793338)
- (GuilChannel): clone method not taking overwrites into account (#2932) (980d71f)
- Client#userUpdate receiving wrong packet (08002d0)
- Client#raw emitting twice (7796cb5)
- Client#shards not being set properly (be0d1cd)
- VoiceConnection: Compare new speaking to old to avoid TypeError (01476de)
- VoiceConnection: Use Speaking#has to fire _stoppedSpeaking (#2896) (2ba0003)
- Client#voiceStateUpdate: NewState is guaranteed (1607612)
- Emit voiceStateUpdate on guildMemberRemove (#2892) (183ba25)
- Revert #2768 (#2848) (950abd4)
- Shard: Use DISCORD_TOKEN instead of CLIENT_TOKEN, see #2843 (73b9b0e)
- ClientPresence: Use possibly extended constructor from structures (6b810b2)
- typings: Fix compilation with 'strict' enabled (#2845) (21999fa)
- Webhook: APIMessage require should be a const (0ab69c5)
- Webhook: APIMessage is not circular, fixes WebhookClients (c0a9b08)
- Webhook#send not resolving content (53420fa)
- typings: Remove UserConnection, fix various constructors (1d77d1a)
- HTTPError: The path property should actually be the path (ead99a5)
- typings: Move static properties above methods (b1ce602)
- Emit ReactionCollector#remove when reaction is removed by collected user (#2803) (038b142)
- Guild#deleteEmoji: Reject non emojis / emoji IDs (#2793) (cd58599)
- Better global ratelimit management (#2801) (989c365)
- Reactions ratelimits (#2795) (f326fe6)
- GuildChannel#lockPermissions: Properties allow and deny always returning undefined (#2800) (1fc84a9)
- Private_channels always returns an empty array on ready (#2787) (9c2aeb7)
- Guild#addMember incorrectly resolving userID (93bf430)
- Voice not throwing errors on bad stream input (#2786) (6f62d7d)
- ClientApplication: Message#application is a partial ClientApplication (82993fb)
- webpack: Properly minifying (02f98cd)
- webpack: Properly emitting process deprecation warnings (7684ad3)
- Actually fix Readonly typos (928fb30)
- Typo in Activity#flags (c59d329)
- Disable getter-return (5523233)
- Pin & update deps (d3e7dbc)
- WebhookClient should handle ratelimits properly (4ee3cf0)
- RequestHandler: DiscordAPIError#path should be the path, not the route (d91deef)
- Pin peer-deps to the latest version we allow (ab0ede0)
- Pin dev-deps to a higher version to avoid problems with upath on node 10 (8afc1fa)
- GuildBanAddHandler: Not emitting guildBanAdd for uncached users (#2763) (e935611)
- Handle async stacks correctly (#2744) (3f81b61)
- Permissions: Permissions itself is a valid PermissionResolvable (5d889be)
- GuildAuditLogs: Default target to object with target_id (#2742) (700201e)
- Message: Properly check for an edited_timestamp in patch (616e0dd)
- Fix GuildMember#presence getter and cleanup (#2751) (6506252)
- Client: Do not redefine _timeouts and _intervals of BaseClient (#2748) (7525474)
- Util#cleanContent parsing of GuildMember (bb0700a)
- StreamDispatcher doesn't emit finish if ended while paused (#2648) (bfde1dd)
- Message passing empty data to GuildMember#_patch (edf9c44)
- GuildMemberStore now works with custom structures again (d276850)
- GuildMemberStore now patches existing members (#1870) (332e30d)
Documentation
- (Client): disambiguate the description of channels collection (#3251) (8915bc1)
- faq: Bump to node 10.0.0 (#3224) (f7f4607)
- Update node version requirement, npm install links, add update guide (#3220) (d177877)
- Collector: Specify the unit for
CollectionOptions#time (#3219) (bccbb55)
- WebSocketShard: Mark non-nullable parameters as non-nullable (#3209) (eb537b6)
- Presence: Add ClientPresenceStatus typedef (#3208) (d9a053d)
- Collection: Fix findKey jsdoc (#3204) (3cd224d)
- faq: Add a link to the guide, restructure a bit (#3082) (2af101e)
- Document constructors of extendible structures (#3160) (ca43919)
- Presence: Add missing descriptions to clientStatus (#3127) (5d10585)
- GuildEmoji: Add @ name to requiresColons and managed properties (97c196c)
- GuildChannel: Fix setPosition's reason type (#3199) (62cba2e)
- Role: Fix setPosition's reason type (#3198) (266ac1c)
- Mark getters as @ readonly (e62833b)
- RateLimitInfo#limit instead of requestLimit (#3132) (be2f788)
- Guild: Update createChannel examples to not use deprecated overload (32ad56a)
- MessageEmbed: Add missing type value (#3106) (4d3f766)
- GuildMember: Add missing @name to document user property (4289b18)
- Structures: Note about extending prior to instantiating client (#2884) (db3ae01)
- Examples: Fix usage of removed overload of Collection#find (#3027) (3dff505)
- Client: Add missing example tag and closing parenthesis (#3024) (3b7b282)
- Client: Add missing parenthesis in fetchInvite example (#3023) (5ed2a95)
- Guild: Use 'updated' variable in example for setRegion (28db527)
- Guild: Use AuditLogAction for fetchAuditLogs' type option (46fd7b0)
- Webhook: Add mising '@name' to Webhook#token's docstring (89a9b93)
- Webhook: Add mising '@name' to Webhook#token's docstring (840d22f)
- (TextChannel): add documentation for messages and lastMessage (#2986) (2aa8e1d)
- Move event docstrings to the emitting line of code (fd21bbb)
- Add documentation for Client#channelCreate (#2967) (1d1b3f2)
- GuildChannel: Fix doc string for clone method (377ecd7)
- GuildChannel: Add rateLimitPerUser to ChannelData typdef (6aa7792)
- Restore Client#error docs that went missing (3418b5a)
- Add missing docstring for Client#guildDelete (b59c75e)
- Add missing docstring for Client#userUpdate (#2930) (905f1c3)
- ClientUser: Fix example for setActivity method (#2880) (fd25d19)
- Collection: Clarify example for tap method (#2881) (78c4be5)
- Game: Document possible values for type property (b92f8d9)
- Integration: Document Integration class (1428967)
- Fix typos (#2868) (d8c97be)
- Correct default value for SplitOptions.maxLength in Util#splitMessage (#2847) (3298ea1)
- MessageAttachment: Redocument name property (3f44320)
- Client: Fix syntax error in fetchInvite example (d2da771)
- User: Clarify what User#tag represents (9de3e09)
- ChannelPinsUpdate: Clarify time param (#2823) (9c2924a)
- GuildChannel: Permissionsfor returns a nullable readonly Permissions instance (6b9dd13)
- Add docstring to HTTPError (f75b80d)
- Correct Guild#memberCount (#2812) (da2d4d7)
- Added
url to Invite's warning comment (#2804) (b83fdbf)
- Emoji: Fix typo of the word "emoji" (#2791) (469fbe2)
- User: Fix hydrabolt's tag (#2747) (0ad7c24)
Features
- GuildMember: Add support for voice kicking (#3246) (ee42bdf)
- Actions: Use partials for messageDeleteBulk (#3240) (176fc47)
- VoiceState: Self mute/deaf methods (#3243) (692494d)
- VoiceConnection: Add .voice (ce1e3d2)
- MessageStore: Add remove() (#2468) (2666a9d)
- Public raw events (#3159) (9b0f4b2)
- VoiceChannel: Add editable (#3173) (870528e)
- Partials.GuildMember: GuildMemberRemove & Guild#me (#3229) (23191da)
- Invite: Add deletable getter (#3203) (c4b7957)
- Sharding: Change
waitForReady to spawnTimeout (#3080) (01c708b)
- Util: Resolve text parameter of splitMessage to a string (#3212) (abd9d36)
- MessageEmbed: Resolve color in embed constructor (#2912) (52bc5b0)
- Util: Add YELLOW to ColorResolvable (#3182) (520810d)
- Webhook: Add url getter (#3178) (c078682)
- Guild: Add fetchBan and withReasons to fetchBans (#3170) (5cd6d8d)
- MessageStore: Add cache parameter to fetchPinned() (#3154) (9b2bf03)
- MessageEmbed: Add missing proxyURL property to video (#3109) (7006f00)
- RichEmbed: Add timestamp support for setTimestamp (#3061) (49e8bd9)
- Guild: Add position to createChannel's implementation (#3058) (7bc2e23)
- RichEmbed: Add length getter (#3057) (890b1be)
- Presence: Add clientStatus (#3056) (a2a0c05)
- Util: Add WHITE as color resolvable (#3062) (5272cec)
- RoleStore, ChannelStore:
fetch() method (#3071) (c432591)
- Constants: Add error code 50020 (#2953) (359ddaf)
- Presence#clientStatus (#2997) (75e264d)
- MessageEmbed#length (#3003) (1db7899)
- GuildChannelStore: Add support for create to accept a position (#2965) (21ec031)
- GuildChannelStore: Add support for create to accept a position (a8b47a7)
- GuildChannel: Allow to set all options when cloning (#2937) (d92ee2f)
- Constants: Add error code 50020 (#2953) (54aff31)
- Internal sharding (#2902) (f3cad81)
- Emoji: Move createdAt and createdTimestamp getters from GuildEmoji (#2872) (71c04a3)
- ClientUser: Allow options as first parameter to setActivity (#2890) (1ee417c)
- GuildChannelStore: Support for create with rateLimitPerUser (#2878) (8ec3b51)
- MessageEmbed: Add spliceField method (#2857) (8feb874)
- MessageEmbed: Allow setTimestamp to take a timestamp (#2875) (1fe3608)
- TextChannel: RateLimitPerUser (#2811) (d4c0bb2)
- TextBasedChannel: Add lastPinTimestamp and lastPinAt (#2813) (e96a603)
- Add ClientOptions#retryLimit (#2805) (be4d6f9)
- Guild Integrations (#2760) (c4df027)
- GuildEmbed support (#2766) (5787dee)
- Handle and forward WEBHOOKS_UPDATE events (#2762) (0401b8a)
- Add guild.fetchVanityCode() (#2732) (f8057b0)
Refactor
- ClientVoiceManager: Make public, remove Client#voiceConnections (#3186) (70d4b44)
- WebSocket: Utilize URLSearchParams (#3185) (152d2e8)
- APIRequest: Utilize URLSearchParams (#3180) (5e9bd78)
- User: Avoid invoking dmChannel getter more than once per method (#3108) (fe5563e)
- Consistently use permissionOverwrites over overwrites (#2886) (6e5f088)
- WebhookClient: Make token property non-enumerable (#2861) (96a0655)
- Comprehensive permissionOverwrites refactor (#2818) (3d8207a)
- Remove duplicate send checks (#2790) (6d18425)
- Clean up rate limit handling (#2694) (13f46b9)
- Rewrite message creation (#2774) (19c298f)
- BitField: Base class for Permissions, ActivityFlags, Speaking (#2765) (c62f01f)
- Typings for voice state and presences refactor (9b5df57)
- Merge typings into 11.4-dev branch (efc8445)
Testing
- Add Webhook(Client) testing file (#2855) (cbb9b14)
- Add typings lint runner to test script (68c8329)
- lint: Update typings lint script (3b91fa0)
- lint: Fix typings lint errors (5fdd3a5)
- Fix typings lint script (29d51fa)
Typings
- Presence: Add missing guild property (8b83e2f)
- GuildChannel: Add manageable getter (12e041b)
- Collection: Add missing thisArg to partition (#3167) (4b6e8fc)
- Collection: Add typings for partition (#3166) (831f988)
- Guild: Add missing defaultRole property (#3126) (1207c24)
- Convert types to interfaces where applicable (#3068) (bc0a761)
- SnowflakeUtil: Add optional "timestamp" parameter to generate (#2998) (8b602eb)
- ShardClientUtil: Fix
id property type (#3054) (ae72690)
- GuildCreateChannelOptions: Added missing properties (#3052) (d98d464)
- Add missing ImageSize numbers (#3045) (2dcdc79)
- TextBasedChannel: Fix create(Message)Collector's options type (17ca836)
- Guild: Fix typos in method names (9d83516)
- TextBasedChannel: Add
Snowflake[] overload to bulkDelete (#3001) (8a76cc5)
- SnowflakeUtil: Add optional "timestamp" parameter to generate (#2998) (8286d1a)
- RichEmbed: Add MessageEmbed as valid data in constructor (351f0a3)
- Add Guild#shard and Guild#shardID (6b886b0)
- MessageEmbed: Add spliceField and static checkField methods (4491b7b)
- Collection: Each return Collection<K, V>, not void (27d2ce7)
- Fix lint script and linter errors (fcf4745)
- Add HTTPError class definition (#2852) (60ad905)
- Message: Member property is a readonly getter (2cc0a31)
- Add declaration of Message#url and MessageAttachment#size (#2821) (b068abb)
- GuildChannel: PermissionsFor's return value is nullable (75745fe)
- Clean up permissionResolvable (2e2c9c4)
- Add WEBHOOKS_UPDATE (bd14d5d)
- Fix PermissionResolvable typedef, allow resolving of Readonly<BitField> (55c58b6)
- Guild: Add fetchVanityCode (7546ca3)
- VoiceState is extendable (e7ee8d2)
- Remove UserFlags and ClientApplicationCreateAssetsOptions (58ce082)
- VoiceRegion: Remove no longer existing sampleHostname (c966aa2)
- VoiceConnection: Receivers is now receiver and no longer an array (6841b4e)
- Remove user bots (5942e8b)
- Make PermissionResolvable recursive (f5b3dff)
- Client: VoiceStateUpdate now always has an old state (9a95b6a)
11.4.1 - (2018-08-12)
Bug Fixes
- ClientDataManager: Replacing channels unecessarily (d772bff)
- PresenceStore: Pass user id as extra (#2733) (b7e61f2)
- Util.basename being unreliable (#2679) (0f63c50)
- Collection: Use Symbol.species for creating derived collections (#2715) (ce8a679)
- RichEmbed#_apiTransform fields (7126cad)
Documentation
- Update for 11.4.0 (#2727) (8b1bb95)
- Client: Actually fix rateLimit's event params (8adfc97)
- Fix client#rateLimit parameters (0e370d7)
11.4.0 - (2018-08-09)
Bug Fixes
- Collection: Use
new this.constructor instead of new Collection (#2709) (c10b4fe)
- Wrong _patch call from GuildEmoji#edit and other issues (#2673) (4ae58f6)
- Shards not receiving regular messages (88616ea)
- Emoji#fetchAuthor: Reject with Error rather than TypeError (4a9c2f8)
- GuildEmoji: Added a check for managed emojis in fetchAuthor (#2645) (f963621)
- MessageReaction: Only delete reaction if cache and count is empty (#2661) (3a7a7d7)
- Invite: Support for group dm invites (#2603) (3680661)
- GuildAuditLogs: Default to PartialGuildChannel if channel deleted (#2605) (886c212)
- ShardingManager: RespawnAll shard iteration (f67d682)
- Message: Keep reply option when replying with an embed or attachment (1d9edec)
- Message: Keep reply option when using an embed or attachment (5268320)
- Webhook: Import Channel correctly (077d41f)
- Shard: Actually remove default execArgv (938d87d)
- Client: Login catch (a667e44)
- Client: Login not properly rejecting on invalid token (448f384)
- TextBasedChannel: BulkDelete should not return non-Promise (72346fb)
- RequestHandler: Provide proper route and method (2694c0d)
- Shard: Allow node to default to process.execArgv (93f8c85)
- Instantiate constructors before using those properties (92e2c3c)
- Util: Circular reference (41a1dee)
- Typo in src/errors/messages.js (#2631) (f711aa3)
- Shard: Fix default args (6b3bfdd)
- Ratelimits (#2615) (58e5017)
- BasePlayer: Incorrectly mutating FFMPEG_ARGUMENTS when using seek (#2622) (bf738b3)
- Do not cache webhook users (#2611) (8a3ae87)
- ShardClientUtil: Send method erroneously rejecting (#2604) (c5fea45)
- ShardClientUtil: Send method's promise erroneously rejecting (#2604) (493ba73)
- Messages: Undeleting themselves (#2570) (037e8cf)
- GuildMember: Mark joined as nullable (ecf6e2b)
- GuildMember: Account for joinedTimestamp as well (5071477)
- GuildMember: Mark joined as nullable and fix fetching for these cases (13bfceb)
- VoiceChannel: Deletable erroneously returning true (0387d34)
- VoiceChannel: Deletable erroneously returning true (0be0d25)
- GuildMember: Invalid Date (46b19bb)
- Guild: Equals method modifying features array of guild (#2544) (d02c303)
- RequestHandler: Only retry once on 5xx (#2471) (14aab1b)
- ClientUser: Correctly resolve nicks to an object in createGroupDM (f23b617)
- docs: Remove duplicated Collection#findAll docstring (f921261)
- Burst request mode hanging permanently (3790619)
- Guild: MemberCount not decrementing when an uncached member leaves (15a8e17)
- ClientDataResolver: Always resolve with a buffer when fetching a file (ae28f52)
- Role: Allow role color to be removed (2f2e281)
- Collector: Increase and decrease max listeners dynamically (60288d0)
- GuildEmoji: Verify MANAGE_EMOJIS permission from Guild#me (6cde6de)
- Prevent max listener problems with collectors (#2521) (32369f3)
- RESTMethods: Remove listener from correct event (#2534) (a89de09)
- Webhook#edit attempting to use client.channels always (f293ddd)
- ClientUser: SetActivity should resolve with a Presence (a85d801)
- GuildMember#toJSON not having roles (#2520) (5acf406)
- Added everyone role to GuildMemberRoleStore#_filtered (#2514) (934e90b)
- OpusEngineLinst: Throw a descriptive error when not funding an opus engine (33a4232)
- Util: Reject with a meaningful error instead of throwing one (44fefdf)
- GuildEmoji#clone (64caa33)
- GuildMemberRoleStore#remove (30d43ef)
- TypeError in mixin function (#2506) (95b5317)
- MessageEmbed: Correct docs, default to array, resolve MessageAttachments (#2492) (e12ab74)
- Use Object.keys instead of Object.values for node 6 (#2487) (feb0991)
- RestMethods: Typo timeout -> timed (ff671b2)
- MessageEmbed: Avoid throwing error when accessing colorless hexColor (b60ee25)
- Message: Do not update editedTimestamp when there is none in the payload (3ba26ad)
- RESTMethods: Verify correct member in add and remove role listeners (de78a8d)
- MessageDeleteBulkAction: Remove bulkDeleted messages from cache (7c37a0d)
- Client#generateInvite resolving permissions incorrectly (c387e96)
- Client#generateInvite resolving permissions incorrectly (8d065fa)
- Role#setPermissions resolving & docs (7c0b617)
- GuildChannel#setTopic not nullable (92b4216)
- ClientManager: Patch ClientUser's presence with ClientOption's one (#2458) (61ad947)
- Webpack building and upgrading to webpack 4.5 (f247484)
- StreamDispatcher: Only update speaking for non broadcasts (#2437) (e845758)
- Guild: Remove member's voice state on guildMemberRemove (b955a51)
- Role: Allow edit method to null the color (#2447) (f985b6b)
- GuildChannel: Always return a boolean from the manageable getter (e431ccd)
- GuildEmojiRoleStore: Do not prematurely patch roles (d041cb2)
- MessageReaction: Do not increment count twice for own user (513dbf2)
- GuildemojiStore: Allow resolving of external ReactionEmoji (0f7ce3f)
- Convert lastMessage to getters (#2384) (630009f)
- DataResolver: Always resolve with buffer when resolving urls (8541348)
- GuildMemberRoleStore: Make remove role remove roles again (3e6c310)
- GuildMemberRoleStore: Only update roles after successful request (3f6a0e4)
Documentation
- Small changes regarding permissions/overwrites (#2718) (bafbee9)
- Change for GuildChannel#replacePermissionOverwrites (#2714) (af6d649)
- Implement #2707 on master (5980d04)
- RichEmbed: Timestamp is actually a Date (c7f379f)
- ShardingManager: RespawnAll actually resolves with a collection of shards keyed by numbers (4a48a7d)
- Added sizes 16, 32, 64 (#2666) (c46cbbf)
- Client: Clarify messageReactionRemove event's user description (#2657) (717e7f0)
- Client: Clarify messageReactionRemove event's user description (#2657) (a97b504)
- Improvements in various places (3d82ca9)
- Guild: MemberCount is not as of ready (#2621) (de408d7)
- Only cached messages emit reaction events (#2607) (7ce1d16)
- GuildMember: JoinedAt is nullable (bd3d8d4)
- Add video to MessageAttachment properties (#2608) (791f58e)
- Document lastMessageID for TextChannel and (Group)DMChannel (#2602) (e7eab42)
- Document lastMessageID for TextChannel and (Group)DMChannel (#2602) (507cce3)
- Last english fix for now (ba9a93b)
- Fix english because english is difficult (eb4607c)
- Wording improvements (5eff360)
- Add examples & improve notices (dfbd4bd)
- Add examples & improve notices (c699888)
- Guild: Handle error in example of fetchInvites correctly (#2568) (13880fe)
- Guild: Handle error in example of fetchInvites correctly (#2568) (27fcb64)
- Collection: Make findKey method show up in docs (56a9d1b)
- Using deprecated version of find (6070b22)
- Permissions (b2d1cb6)
- RateLimit event (6f02be2)
- Role: Change 'the this' to this (typo) (#2377) (e5e59cc)
- ClientUser: Correct warning for createGuild method (9264511)
- GroupDMChannel: Fix top 'an user' -> 'a user' (54fa5f6)
- Collection: Fix spelling of 'behavior' (#2529) (b757f9e)
- Collection: Fix spelling of 'behavior' (#2529) (17d2c2e)
- Consistency (745669a)
- (backport) Bring the main doc pages up to date, and add more examples (#2094) (d7e7803)
- Inconsistencies (b8a9a76)
- Inconsistencies (ec9211c)
- GroupDMChannel: Fix grammar
an user -> a user (#2482) (2dd7fd2)
- Fix a number of spelling mistakes (#2469) (8551b89)
- GuildStore: Correct warning for create method (#2453) (2bf68dc)
- Fix missing parameter type/description from #2193 (#2396) (acd1740)
Features
- Add new Permission PRIORITY_SPEAKER (#2698) (b38f537)
- Message: Add url getter (#2594) (ba32eec)
- Add support for Guild#setDefaultMessageNotifications (#2624) (95b2dd3)
- ShardingManager: Add execArgv option (#2585) (bfbb723)
- Guild: Add support to edit
defaultMessageNotifications level (#2592) (270a278)
- User: Add locale property (#2571) (bce9a8a)
- Add "deleted" property to multiple structures. (#2556) (f0c4d0e)
- Shard#kill method (#2454) (fc81924)
- Collection: Backport partition method (f456f4c)
- Collection: Add tap method (#2507) (de7d90a)
- Collection: Add sweep method (#2528) (2b6592e)
- GuildMember: Add manageable getter (9bb8831)
- GuildChannel: Add fetchInvites method (9904167)
- Emoji: Add fetchAuthor method (dd7eedb)
- Game: Add toString method (c0ca73a)
- GuildChannel: Add setNSFW method (54913d9)
- Guild: Add verified getter (#2027) (9169958)
- ClientDataResolver: Add 2 basic role colors (96b115e)
- Permissions: Add valueOf method (#2363) (2d83126)
- Emoji: Add deletable getter (ed8ab91)
- GuildEmoji: Add deletable getter (#2535) (fca6d3b)
- ClientDataResolver: Account for discord.gg/invite/
invites (21326f6)
- Add Collection#sweep() (#2528) (7a3a4d1)
- Add Collection#tap (#2507) (9f91819)
- DiscordAPIError: Backport method property (#2536) (8700e96)
- DataResolver: Account for discord.gg/invite/
invites (ddab809)
- DiscordAPIError: Add method property (#2530) (62605c4)
- Allow sweeping of inactive request buckets (b5f3772)
- SnowflakeUtil: Allow snowflakes to be generated dynamically (d9a091f)
- GuildChannel: Add manageable getter (#2439) (49ad8cc)
- Guild: Add mfaLevel property (#2451) (7b9e84d)
- GuildChannelStore: Add topic to create options (#2488) (c9c2d66)
- SnowflakeUtil: Allow snowflakes to be generated dynamically (#2459) (f6216f3)
- Guild: Add mfaLevel property (#2451) (b3ff7c7)
- GuildChannel: Add manageable getter (#2439) (ef4bd92)
Refactor
- Move Message#cleanContent function to Util (#2703) (f3d7f7c)
- Remove user bot methods (#2559) (5afd77a)
- Webhook: Make token not enumerable (#2566) (e0378cf)
- MessageMentions: Make client, guild, and _content non enumerable (e8ab049)
- RESTManager handlers to use collection (#2539) (99bd355)
- Remove unnecessary Collection methods and add Collection#partition (#2511) (a732402)
- VolumeInterface: Remove usage of deprecated new Buffer (#2531) (bd9c9ce)
- Improve sweep performance (bd83bb9)
- Tidy up _inactive check (27a0f48)
- Role stores (#2478) (8b83553)
11.3.2 - (2018-03-04)
Bug Fixes
- ws: Set correct ratelimit remaining after reset or destroy (#1806) (c8f78b2)
Documentation
11.3.1 - (2018-03-03)
Bug Fixes
- RichEmbed timestamp cloning (8f9e911)
- BulkDelete discarding non-cached messages (363ead9)
- GuildAuditLogs using Guild#fetchInvites (acdf43a)
- Export CategoryChannel (f64e924)
- StreamDispatcher: Remove gratuitous parentheses (f2c5714)
- Activity: Ensure that timestamps are actually numbers (464fc14)
- If present, wait for libsodium-wrappers' ready to support v0.7.3 (c6f92c1)
- StreamDispatcher: Emit volumeChange event when the volume changes (#2349) (c25ea45)
- ReadyHandler: Don't create new guild instances for already existing guilds (dc92582)
- StreamDispatcher: Do nothing when resume is called when not paused (05c5bdc)
- Build with node 8 (2254a3e)
- Add node 8 to build (da14e33)
- Webpack minified and bump deps (a7b46be)
- Properly fix minified builds (5583e70)
- Dont require snekfetch supplemental because they are not a thing anymore (8e60743)
- Npm scripts (332558a)
- VoiceChannel: SetUserLimit defaulting to wrong value (40a2f09)
- StreamDispatcher: Properly check that timestamp fits in 2^32-1 (#2325) (8ee2788)
- AudioPlayer: Add opus to destructured key of stream options (96904b1)
- ClientApplication: CreateAsset incorrectly resolving image and posting (234648b)
- Add clone methods to GuildMember and GuildMemberRoleStore (32e2dd2)
- MessageEmbed: Remove length checks (#2304) (9810bdb)
- resolveColor: Not interpreting DEFAULT correctly (d46eec4)
- resolveColor: Not interpreting DEFAULT correctly (52c402f)
- Nullable activity (bd154bd)
- Webhook#send: Incorrect docs + return (e978253)
- RoleStore: Create method is supposed to take an options object (048e147)
- Require discordjserror to throw meaningful errors where necessary (07c48a6)
- startTyping: Return, to not overwrite already existing entries (8df1ac9)
- Guild: MemberCount not decrementing when an uncached member leaves (93e083d)
- client#voiceConnections: Incorrect docs description (#2280) (00e2f39)
- CategoryChannel: Set the type to 'category' and document its type (b5ff309)
- GuildMember: Make edit method only modify a copy of the voice state (fbd25f8)
- WebSocketConnection: Make errors in event handlers throw again (a22b856)
- guild#createRole: Incorrect guild reference (932980e)
- Missing height & width in embeds (#2249) (351f5f7)
Documentation
- Document the messages property for all TextBasedChannels (#2373) (069dccf)
- Examples & improvements (24571e4)
- Incorrect returns (96e88f3)
- Improvements & examples (fcdffcf)
- Message#type (38f5288)
- WIP: Bring the main doc pages up to date, and add more examples (#2094) (9f89252)
- Remove trailing commas (b79722a)
- Trailing commas (2b24b10)
- Improvements (af35175)
- Add links for the guide (#2346) (0ec53c9)
- Add links for the guide (#2346) (dc6bce1)
- Add TypeDef for MessageActivity (#2321) (4336317)
- ClientUser: Mark email field as user account only property (#2306) (31873eb)
- ClientUser: Mark email field as user account only property (#2306) (1f14758)
- Doc changes (2e0048a)
- Fix VoiceBroadcast documentation (#2277) (8a2ace4)
- Fix streamdispatcher documentation (#2275) (edc4e2b)
- Fix attachFiles() docs (#2267) (19591b0)
- Collection > RoleStore (#2251) (a3be0f3)
Features
- Allow multiple permission overwrites when editing channel (#2370) (b637c9c)
- GuildChannel: Add fetchInvites method (#2339) (47bc0fc)
- ShardClientUtil#broadcastEval: Allow promise resolve (#2328) (66c0512)
- ClientOptions: Add support for setting an initial presence (#2320) (87e5a45)
- Add GuildEmoji#fetchAuthor (#2315) (e0cbf0b)
Performance
- Collection: Performance improvements (#2342) (b7851ba)
- Collection: Performance improvements (#2342) (a817295)
Refactor
- Move member role-related functions to a special store (#2242) (00172e6)
- GuildMember#manageable: Refactored kickable and bannable (#2211) (36555c1)
- Tidier overflow checking in StreamDispatcher (83640a2)
11.3.0 - (2018-01-13)
Bug Fixes
- Message#addReaction: Incorrect regex (#2247) (f62fa05)
- Stream dispatcher throwing key error due to missing secretKey (8cab673)
- avatarURL: Gifs not being animated (#2195) (d94ead7)
- voiceStateUpdate: Incorrect members.size (#2231) (8226752)
- Allow the Util#parseEmoji regex to match emoji identifier (#2229) (2318812)
- verson: Update package.json (#2196) (b6c89ef)
- Guild#createChannel: Default type to 'text' (#2184) (4063a3a)
- bulkDelete: Stop rejections when filterOld=true (#2178) (6683c40)
- Guild#createChannel: Default to text (#2168) (9f0417c)
- CreateMessage: Reassigning wrong content (#2169) (1598efa)
- CreateMessage: Fix attachment and array sending (#2158) (443961c)
- UserGuildSettingsUpdate: Not creating settings with new guilds (#2150) (1c34819)
- VoiceChannel#edit: Incorrect bitrate (#2144) (d705a0c)
- guild#createChannel: New channel returning null (#2143) (fb6d14d)
- GuildAuditLogs: Backport (#2123) (e40c3f8)
- DMChannel: Messages not being cached (#2122) (22da595)
- GuildMember: Permissions.missing is not a function (#2118) (b274dba)
- Shard: Extend EventEmitter to be able to emit events (#2112) (6fa4fc5)
- Split/Webhook: Readd message chunk sending and fix webhook avatar/username (#2085) (05a41b5)
- Guild: Correctly resolve user in Guild#addMember (#2090) (21d09f3)
- TextBasedChannel: Return a promise in startTyping and clarify count parameter (#2047) (94a4a06)
- Presence: Pass client and default to offline (#2071) (a62d1e9)
- GuildMember#hasPermission: Pass correct parameters to Permissions#has (#2070) (cd3d334)
- Client: Login wasnt using env.token (#2060) (0277d1d)
- MessageBulkDeleteAction: Remove deleted messages from cache (#2046) (356778b)
- GuildDelete: Disconnect voice and cleanup GuildChannels (#2026) (fa3eee8)
- GuildAuditLogs: Incorrect webhook reference (#2004) (8fbae13)
- setPosition: RawPosition never getting updated when setPosition was called (#2006) (f178f9b)
- Role: SetPosition typo (#2003) (b462a7b)
- SetPosition taking wrong IDs and edit with position 0 breaking (#1989) (743668a)
- createChannel: Add support for more properties and fix overwrites optionals (#1983) (cc8060c)
- MessageEmbed: Don't send 'files' as part of the embed (#1982) (1537dd7)
- ClientManager: Reject login with proper error on timeout or on connection failure (#1947) (3ace61a)
- Reactions: Make MessageRection#id again null for default emojis (#1940) (25ece18)
- EmojiStore: Return super.create in the create method (#1932) (cc0b65d)
- DataStore: Make resolveID work properly (#1927) (fc1e78e)
- MessageEmbed: Deep copy fields and fix files when passed into constructor (#1864) (63f6247)
- Guild: Fix setChannelPositions method (#1900) (41c4999)
- Errors: Throw DiscordjsErrors where one would expect them (#1905) (e34bd7c)
- WebhookClient: Use applyToClass instead of multiple inheritance (#1896) (694f78c)
- Voice websocket sending (2305311)
- Minified webpack builds (9e66e80)
- Client: Apply shardId and shardCount to the correct options object (#1888) (bb4fe25)
- MessageStore: Fix fetchPinned method and add notice. (#1881) (ea1949a)
Documentation
- Fix guildChannel#toString() example (#2203) (e883afa)
- Improve examples (#2200) (c798230)
- Improve examples (master branch) (#2209) (45127bb)
- setParent: Docs update and nullable channel param (#2160) (4f8f208)
- Remove leftover docstring from 11.2 (#2115) (efd1c4c)
- Fixed some missing docstrings or incorrect return types (#2093) (0cd4a92)
- Add Guild#features type (#2105) (2d8e26c)
- Add/normalize .toString() docs on all classes (#2042) (1a8e8c7)
- Change repo for erlpack (#1992) (fc43736)
- Small doc improvement for PermissionOverwrites (#1964) (26c978c)
- Fix some small typos or "missing" docs (#1943) (eb591da)
- Improve documentation (#1898) (0607720)
- Collection first, firstKey, last, lastKey (a8df63a)
Features
- Backport animated emojis support (#2217) (659e89e)
- Backport after and before parameter when fetching a reaction's users (#2218) (db5bdcd)
- ClientUser: Deprecate ClientUser#setGame in favour of ClientUser#setActivity (#2127) (cd06684)
- CategoryChannel: Backport (#2117) (cce2480)
- Webhook: Allow to edit the channel of webhooks (#2039) (d8850db)
- MessageReaction: Add after option when fetching users who reacted with an emoji (#1882) (f40a5e9)
Refactor
- More oop with stores (#2216) (9eac19d)
- Actions: Remove obsolete user and guild member get actions (#2061) (cd08a3b)
- Remove redundant Client#rest and obsolete RESTManager#destroy (#2022) (68a3058)
- Make use of destructuring for Constants (#1942) (ec4c987)
- Attachment: Merge MessageAttachment with Attachment (#1894) (d6b276b)
11.2.0 - (2017-09-03)
Bug Fixes
- Made options.type optional in ClientUser#setActivity (#1875) (39013b1)
- Guild: Passing the constructor partial data from an invite no longer errors (#1868) (1bdaa62)
Documentation
- Collection: Adjust exists documentation (#1876) (efbde07)
Features
- Add DiscordAPIError#path and fixed Burst request handler handling api errors (#1867) (95e22c2)
Refactor
- DataStores: Move instantiating of store related classes into their date stores (#1869) (c4b5736)
- Emoji: Remove Guild#deleteEmoji in favour of Emoji#delete (#1877) (c93c4ad)
13.16.0 - (2023-05-06)
Bug Fixes
Features
- Update Discord developer documentation links and add new flags (#9473) (d867936)
- Voice messages (#9444) (3386bab)
- Add
ACTIVE_DEVELOPER user flag (#9428) (420f379)
- roleTagData: V13 add guildConnections (#9391) (7116151)
- V13
VIEW_CREATOR_MONETIZATION_ANALYTICS and USE_SOUNDBOARD permissions (#9124) (28a5c7b)
- StageChannel: V13 support messages (#9145) (7cf9224)
- AutoModeration: V13 support
customMessage (#9173) (add14ac)
13.15.1 - (2023-04-07)
Bug Fixes
- Message: Fix permissions check in locked threads (#9338) (a8d5325)
- ClientUser: Fix modifying self (#9318) (09ca243)
- Typo in
src/util/MessageFlags.js (#9312) (8f12054)
- AutocompleteInteraction: Fix responding (#9315) (f79a9b5)
13.15.0 - (2023-04-02)
Bug Fixes
- ThreadChannel: Fetch starter message properly (#9217) (af6a0e5)
- Actions: Inject built data by using a symbol (#9204) (df68520)
Features
- Backport
chatInputApplicationCommandMention (#9245) (51c3bf1)
- Add support for gif stickers (v13) (#9158) (4bc25c4)
- V13 support
SUPPRESS_NOTIFICATIONS flag (#9184) (120270e)
13.13.1 - (2023-02-21)
Bug Fixes
- Constants: Enum creation error (#9155) (224f21c)
13.13.0 - (2023-02-21)
Bug Fixes
- Minor forums cleanup (#9033) (eed293f)
- InteractionResponses: Spell
messages correctly (#9080) (123d0f1)
- ThreadChannel:
reason as second parameter (#9023) (a941cb6)
- Import errors correctly (#9030) (6457519)
- websocketshard: Backport zombie connection fix (#9003) (56e6718)
- Util: Flatten ignoring certain fields (v13) (#8936) (4ec3355)
- Backport allow deletion of ephemeral messages to v13 (#8811) (98846cf)
- Activity: Fix equals() not checking for differing emoji (v13) (#8842) (eecc50b)
- escapeMarkdown: Fix double escaping (v13) (#8799) (caf6f66)
- Fixed TS 4.8 compatibility (#8601) (e6ee7d8)
Documentation
- ThreadEditOptions: Move info tag back to
invitable (#9021) (cf3c7a7)
- Add missing
@extends (#9028) (1779e1b)
- Update UserContextMenu documentation v13 (#8721) (ea117bf)
- Update misleading
Client#guildMemberAvailable event description (v13) (#8627) (fcd52d7)
Features
- GuildMemberManager: Add
addRole and removeRole methods (#9108) (fd494a3)
- WebSocketShard: V13 add resume url (#9078) (0188e36)
- V13
guildAuditLogEntryCreate event (#9092) (84d34dc)
- Constants: Add auto moderation events to WSEvents (#9102) (61fa6f4)
- Role subscriptions (#9040) (0afa405)
- GuildChannelManager: Add
addFollower (#9050) (86329ad)
- Guild: Add
INVITES_DISABLED feature support (#9051) (69d71e9)
- ClientApplication: Add role connections (#9072) (a7dc40f)
- Webhook: Add
channel getter (#9074) (32cdaff)
- GuildMember: Add
flags (#9098) (d69529e)
applicationCommandPermissionsUpdate event (#9121) (c2968b5)
- Backport automod (#8886) (4287983)
- GuildAuditLogs: Support
after (#9012) (f0d4264)
- Backport guild forum support to v13 (#8651) (546ac43)
- Add
Message#bulkDeletable (v13) (#8761) (ca662b4)
- InteractionResponses: Add message parameter (v13) (#8838) (0e0851a)
- Util: Backport
escapeMarkdown PRs to v13 (#8703) (8a6588a)
- GuildBanManager: Add
deleteMessageSeconds (#8575) (ca68fc3)
Refactor
- Move
me and add fetchMe() (#9029) (b01c81d)
Typings
- ThreadEditOptions: Add
appliedTags (#9022) (6854df4)
- widget: Add missing
name (#9031) (35f6dad)
- Swap message reaction and emoji identifier types (#8970) (6490580)
- GuildChannelManager: Correct fetch return type (v13) (#8551) (f4e8133)
13.10.3 - (2022-08-22)
Documentation
- Fix broken discord support link (#8485) (11d6949)
Typings
- Disallow some channel types from webhook creation (#8535) (10b12cc)
- ModalMessageModalSubmitInteraction: ChannelId is not nullable (v13) (#8505) (526ea74)
13.10.2 - (2022-08-10)
Typings
- Message: Correct
bulkDelete return type (v13) (#8469) (03c59e3)
13.10.1 - (2022-08-10)
Bug Fixes
- ThreadChannel: Handle possibly
null parent (v13) (#8467) (2a46d9f)
13.10.0 - (2022-08-10)
Features
- Guild: Add
max_video_channel_users (v13) (#8424) (ae43bca)
13.9.2 - (2022-07-29)
Bug Fixes
- MessageMentions:
ignoreRepliedUser option in has() (v13) (#8365) (d0a4199)
- GuildChannelManager: Allow unsetting rtcRegion (v13) (#8362) (9612507)
- ThreadChannel: Omit webhook fetching (v13) (#8352) (4f7c1e3)
13.9.1 - (2022-07-23)
Bug Fixes
- ApplicationCommandManager: Allow passing 0n to defaultMemberPermissions (v13) (#8312) (4cf0555)
Refactor
- embed: Deprecate addField (#8318) (be35db2)
- Presence: Remove redundant date parsing (v13) (#8341) (e95caa7)
13.9.0 - (2022-07-17)
Bug Fixes
- PermissionOverwriteManager: Mutates user (#8282) (4d86cf4)
- GuildChannelManager: Access
resolveId correctly (v13) (#8297) (beb3d8e)
- GuildChannelManager: Edit lockPermissions (#8267) (8fe166d)
- applicationcommandmanager: Explicitly allow passing builders to methods (v13) (#8229) (f457cdd)
- Pass in the expected query object type for application commands (#8189) (f704b26)
- Use non-global flag whilst resolving regular expressions (#8178) (4063b90)
- GuildStickerManager.fetchUser: Changed guildId to guild.id (#8176) (0e0f784)
- guildmemberremove: Remove member's presence for v13 (#8182) (e8d72c7)
- WebSocketShard: Backport error handler preservation on connections (#8164) (c198e89)
Documentation
- Add new HTTP Error Codes
50068 (v13) (#8273) (00a7057)
- Add
MessageActivityType (v13) (#8257) (9cc336c)
- MessageInteraction: Update
commandName description (v13) (#8220) (feb8e30)
- constants: Document missing constants (#8168) (4ae08ad)
Features
- ApplicationCommand: Add
min_length and max_length for string option (v13) (#8217) (a93f4b1)
- interaction: Add
appPermissions (v13) (#8195) (222fc9c)
- Partially backport perms v2 for v13 (#8162) (125696f)
Typings
- GuildMemberManager: Non-void return of
edit() (v13) (#8187) (631abee)
- Add missing shard types (v13) (#8192) (079973f)
13.8.1 - (2022-06-23)
Bug Fixes
- VoiceChannel: NSFW property (v13) (#8161) (c61fc80)
- ModalSubmitInteraction: Add
isFromMessage() missing method (#8092) (0ab2227)
- Destroy options during cleanup (#8082) (afb18b9)
- AuditLog: Default changes to empty array (#8076) (3095f35)
Documentation
TextBasedChannel-> TextBasedChannels typos (v13) (#8155) (65444f5)
Refactor
- Deprecate
$ prefix from ws.properties keys (#8095) (3638b40)
Typings
- Shard#reconnecting: Backport to v13 - Fix event name (#8126) (70450f6)
- AutocompleteOption: Backport fix and improve types (#8078) (613fd43)
- GuildChannel: Fix type of
.isText() method (#8061) (0d0190a)
13.8.0 - (2022-06-05)
Bug Fixes
- guildchannelmanager: Wrong parameter in _sortedChannels call (#8011) (876816a)
- websocketshard: Deal with zombie connection caused by 4009 (#7581) (114bcc0)
- Video quality mode data property (#7946) (76df9fd)
- ApplicationCommandOptionType: Add attachment to jsdoc (#7952) (a51420f)
Features
- Backport text-in-voice support to v13 (#7999) (ddfe15b)
13.7.0 - (2022-05-13)
Bug Fixes
- MessageEmbed: Fix a typo (#7906) (ea28638)
- GuildEditData: Some fields can be null for v13 (#7633) (816936e)
- Apply v14 fix (#7756) (ab6c2ba)
- GuildChannelManager:
delete method accessing wrong id (#7771) (c9e4562)
- GuildScheduledEvent: Handle missing
image for v13 (#7627) (dfea9c2)
- messagementions: Fix
has method for v13 (#7591) (7a52785)
- Check if member has admininistrator on
moderatable (v13) (#7578) (13dd82d)
- ThreadChannel: Require
sendable for unarchivable (#7555) (49397c0)
- Backport
MessageReaction#me being incorrectly false (#7553) (5f621c1)
- typings: SweepStageInstances typo (#7521) (f096069)
- MessagePayload: V13 don't set reply flags to target flags (#7515) (30baff7)
- Shard: V13 EventEmitter listener warning (#7479) (77b8e01)
- MessageEmbed: Set footer to undefined (#7358) (bc5ddc3)
Documentation
- shardingmanager: Fix type of
execArgv option (v13) (#7863) (43a7870)
- Fix and improve localization docs (v13 backport) (#7807) (6dcf0bd)
- ApplicationCommand: Fix ApplicationCommandOptionChoice (#7798) (1040ce0)
- Backport version 13 fixes (#7552) (69ba067)
Features
- Backport (#7776) (5165b18)
- Backport (#7787) (3eb45e3)
- Backport (#7786) (ab324ea)
- Add support for localized slash commands (v13 backport) (#7766) (022e138)
- App authorization links and tags for v13 (#7731) (9e4a900)
- Backport (#7777) (6c56132)
- Backport (#7778) (ff49b82)
- Backport (#7779) (ae7f991)
- Backport (#7783) (cedc333)
- VoiceChannel: Support
video_quality_mode (v13) (#7785) (6daee1b)
- StageInstance: Add support for associated guild event (#7713) (68498a8)
- modals: Modals, input text components and modal submits, v13 style (#7431) (e1cdcfa)
- Backport
Interaction#isRepliable (#7563) (5e8162a)
- Add methods to managers for v13 (#7611) (9f09702)
- Add
premiumSubscriptionCount to InviteGuild (#7629) (8e7d15e)
- scheduledevents: Event cover images for v13 (#7613) (a7535a2)
- Backport
MessageMentions channel type fixes (#7562) (93cdb2f)
- Backport cache types resolving to
never (#7561) (611d3a7)
- Backport sending message flags (#7560) (29d42ed)
- ThreadChannel: Backport creation timestamp (#7559) (1d97dcf)
- Add custom image support to version 13 (#7557) (679b87c)
- Backport
reason on pin and unpin (#7556) (b231bec)
- GuildPreview: Add stickers to version 13 (#7554) (215dfe0)
- Backport
sweepStickers method (#7558) (ee1698d)
- scheduledevents: Add image option (v13) (#7549) (2fcf8af)
- thread: V13 add
newlyCreated to threadCreate event (#7481) (2b3db73)
- commands: Attachment options (#7441) (5bcca8b)
Refactor
Typings
- Fix ModalSubmitInteraction (#7768) (1d09ad4)
- threadchannel: Fix autoArchiveDuration types (#7817) (7afcd95)
- InteractionCollector: Fix guild and channel types (#7624) (7814074)
- V13 channel create overloads fix (#7480) (0b54089)
13.6.0 - (2022-01-13)
Documentation
- interaction: Add locale list link (#7261) (1f4e633)
Features
- Add Locales to Interactions (#7131) (233084a)
13.5.1 - (2022-01-07)
Bug Fixes
- sweepers: Provide default for object param (#7182) (2dabd82)
- GuildMemberManager: Nick endpoint (#7151) (d0c3961)
- Permissions: ToArray shouldn't check admin (#7144) (fc4292e)
- Remove deprecation warning on
Message#cleanContent (#7143) (7e5f16b)
Documentation
- Sweepers: Fix typo (#7165) (780b7ed)
Features
- GuildMember: Add method to check timeout (#7146) (baacd6b)
- ClientOptions: WaitGuildTimeout amount client option (#6576) (2bfc638)
Refactor
- MessageEmbed: Deprecate strings for
setAuthor() (completely) and setFooter() (#7153) (3496516)
- Import timers,
process, and Buffer from node: (#7157) (3c62bd2)
13.4.0 - (2021-12-24)
Bug Fixes
- BaseMessageComponent: Don't create new class instances (#7140) (e6f41b5)
- Make the followUp function error more clear (#7129) (b763dab)
- StickerPack: Nullify
bannerId (#7119) (6bb03f2)
- Webhook typeguards should use string comparisons (#7127) (645b3f8)
- Message: Remove usage of
.deleted (#7109) (a0fe0ac)
- GuildAuditLog: Remove
Promises in constructor (#7089) (9cf44d1)
- ShardingManager: Fix respawnAll not passing delay correctly (#7084) (de61fe4)
- StoreChannel: Mark as deprecated (#7072) (5ec542d)
- InteractionCollector: Handle thread (and parent) deletion (#7070) (b5cd288)
- ReactionCollector: Check for channel.threads (#7069) (3846f0d)
- GuildChannel: Default to
this.rawPosition in clone() (#7057) (5fcda73)
- Interaction channel type should be
GuildTextBasedChannels when in guild (#6998) (da86bd4)
- Util: Fix sorting for GuildChannels (#7002) (c07207f)
- MessageManager: Do not use
client.emojis (#7039) (fd63139)
- ActionsManager: Revert to manual requires (#7034) (0193efa)
- MessagePayload: Prevent spread of
undefined (#7029) (fabd343)
- MessageManager: Allow a string for
edit() (#7033) (54f937d)
- Avoid sending bot auth on token endpoints (#7022) (7efeff4)
- Sharding: Properly handle errors in fetchClientValues (#6990) (c0ba2d4)
- VoiceState: Set streaming to false when the stream ended (#6992) (fdb09cb)
- MessageReaction: Cache myself when
MessageReaction#me is true. (#6956) (b001e19)
Documentation
- Deprecate
.deleted getters (#7107) (d43f684)
- Sticker: Fix typo (#7085) (ee91f5a)
- Constants: Document missing errors (#7086) (6e57b65)
- Constants: Adjust
GUILD_STORE warning placement (#7083) (23513d1)
- StoreChannel: Add deprecation warnings (#7080) (fdba146)
- GuildStickerManager: Fix create() example (#7060) (6f58e81)
- Invite: Add info blocks for missing props (#7014) (b183a8e)
- MessageReference: Fix static link (#7041) (85e6812)
- Constants: Fix typo "announcement" (#7016) (a1a8ca4)
- README: Add installation instruction on @discordjs/voice (#6964) (3c857a6)
- Guild: Fix setOwner() example (#6929) (dc64541)
Features
- Add support for GuildScheduledEvent (#6493) (1316fd4)
- GuildMember: Add timeouts (#7104) (aa7c1b2)
- Export Sweepers (#7117) (b9b60a3)
- Add API error code 50109 (#7112) (55960cc)
- Client: Add global sweepers (#6825) (d1ef2f5)
- Add API error code 20029 (#7078) (f410536)
- ApplicationCommand: Add setX methods for easier editing (#7063) (7f980e3)
- Add API error code 50055 (#7068) (f028aea)
- SnowflakeUtil: Add
timestampFrom (#7058) (8b200c0)
- Guild: Add premiumProgressbarEnabled (#6887) (552d89f)
- Add
UserContextMenuInteraction and MessageContextMenuInteraction (#7003) (4fe063f)
- Shard: Add eval context (#7011) (77aff08)
- ThreadChannel: Add
ThreadChannel#viewable (#6975) (db09d79)
- ThreadManager: Add slowmode option on thread creation (#6989) (493e4f9)
- MessageAttachment: Description (alt text) support (#6871) (5e0a7d5)
- ApplicationCommand: Add support for min and max values (#6855) (c30a818)
- SystemChannelFlags: Add new flag (#6870) (49e3ce2)
- UserFlags: Add BOT_HTTP_INTERACTIONS (#6733) (f43140a)
- Add new activity flags (#6699) (47d74eb)
- ApplicationFlags: Add message content intent flags (#6888) (e94073a)
Refactor
- UserManager: Move methods to the manager (#7087) (2ed02f7)
- RoleManager: Move some methods over from Role (#7096) (1e00fc2)
- Guild: Remove duplicate methods (#7100) (717e0e9)
- Util: Replace
Util.delayFor with tp.setTimeout (#7082) (25b8491)
- Make
Structure#deleted a getter to a WeakSet (#7074) (b093750)
- SnowflakeUtil: Clean up utils and improve perf (#7036) (e59fac3)
- MessageEmbed: Utilise an object approach for
.setAuthor() (#6966) (73854ee)
- Deprecate application command events (#6937) (28688e2)
Typings
- CategoryChannel: Fix createChannel return type (#7138) (1626dde)
- CategoryChannel:
createChannel should default to a text channel (#7132) (a0a5b0e)
- Make channel types a lot stricter (#7120) (7b65a04)
- Forward cache types to collector filters (#7126) (77489b9)
- Fix possibly
null message properties (#7111) (bc6a6c5)
- Use mapped enums instead of overloads (#7088) (49f9a18)
- MessageComponentInteraction: Ensure
component is not null (#7099) (2ce244b)
- GuildAuditLog: Strengthen types (#7090) (5a5c045)
- Message:
guild should be non-null when message is in guild (#6933) (1230bee)
- Improve audit logs' typings (#6647) (b6b4570)
- Interaction: Narrow
memberPermissions (#7054) (01f8d1b)
- ApplicationCommandManager: Deprecate old
*Data type usages and allow camel cased dapi types to be used (#6959) (2c91c48)
- WebhookMessageOptions: Disallow stickers (#7012) (099536e)
- Remove unneeded collector types (#7008) (c1f2fe2)
- Make event emitters use mapped event types (#7019) (48555cb)
- ApplicationSubcommandData: Allow
autocomplete to be true (#6981) (ecc61f3)
- Fix interaction typeguards (#6976) (06cd16f)
- Strengthen autocomplete option types (#6950) (7630158)
- Fix cache type fallback types (#6961) (9f240ea)
- Unify ApplicationCommandManager#create overloads (#6970) (8e881d2)
- Events: Rest events can be emitted on BaseClient (#6936) (c297829)
13.3.1 - (2021-11-01)
Bug Fixes
- Assert channel types in message actions (#6919) (9bd3689)
- MessageEmbed: Only compare image urls in #equals (#6926) (95d2a4d)
- Correctly access guild IDs inside managers (#6927) (2d9ffb8)
Documentation
- README: Use correct capitalization of npm (#6930) (bb245b7)
Typings
- Improve toJSON methods for message components & embeds (#6925) (204aee7)
13.3.0 - (2021-10-29)
Bug Fixes
- Handle message bulk delete and thread delete in collectors (#6902) (d6685b1)
- ApplicationCommandManager: Update guild command cache on c/u/d (#6841) (f169c8f)
- TextBasedChannel: Return the cached message instead of clone it (#6877) (ceaf738)
- MessageComponentInteraction: Component getter is not null anymore (#6835) (7621e9d)
PartialGuildMember#id is not null (#6840) (4dff279)
- Webhook: Resolve source guild only if cached (#6834) (d193d04)
- AllowedImageSizes: Add new image sizes (#6844) (ef01b84)
- MessageReaction: Prevent event double fire from uncached messages (#6818) (267a4b3)
- Guild: Guild.available is never set on new joins (#6769) (29667c9)
- Types: Export more types (#6808) (b474677)
- GuildBanManager: Send reason in the headers instead of json body (#6800) (bfb89de)
- User: Don't generate the banner URL when not cached (#6783) (0d599a1)
- GuildMember: More explicit partial check (#6760) (b1656bf)
- Role: Check for presence of icon and unicode_emoji before patching (#6780) (e31c5ca)
Documentation
- Constants: Document missing autocomplete interaction constants (#6916) (aa4d055)
- InteractionCollector: Add info block about being prone to always running (#6906) (5d987ee)
- GuildStickerManager: Fix create() example (#6900) (bdd841a)
- InteractionResponses: Move embed var position in example (#6896) (8806039)
- Application: Rename Oauth2Application to Application (#6891) (76856b9)
- Util: Deprecate
.removeMentions() (#6866) (b6c9fd6)
- Correct tags used for objects (#6846) (f7b7aac)
- Redirect to events correctly (#6845) (38cc89e)
- Typos, consistency and grammar fixes (#6811) (c44ea50)
- Message: Specify
Snowflake in return type of awaitReactions() (#6822) (4354c37)
- Replace
FetchOwnerOptions type definition (#6814) (b030130)
- Remove dangling reference (#6810) (d57ec7a)
- InteractionCollector: Remove repeated "the" (#6802) (b1b9c83)
- MessagePayload: Change the typo of "wether" to "whether" (#6771) (d32956c)
Features
- ThreadMemberManager: Allow individual members to be fetched (#6889) (14716df)
- Add support for autocomplete interactions (#6672) (ddf759c)
- MessageEmbed: Add #equals (#6885) (fae4abf)
- StartThreadOptions: Default autoArchiveDuration to channel's defaultAutoArchiveDuration (#6278) (740d3f0)
- Add
rtcRegion to GuildManager#create() (#6858) (399e720)
- Add typeguards to webhooks (#6850) (e0afcad)
- GuildChannelManager: Add 'rtcRegion' option to 'create' method (#6849) (487d32d)
- Permissions: Add checkAdmin to permission overwrite checks (#6847) (7513b45)
- Interaction: Add
isApplicationCommand check (#6801) (6898fa3)
- CommandInteraction: Add toString method (#6793) (bd48e6d)
- Client: Add apiResponse and apiRequest events (#6739) (26f927b)
- ModuleImporter: Implement import module compatible with bundlers (#6709) (d399a28)
Refactor
- Move Guild setPositions methods to managers (#6875) (e12a5b6)
- Remove gen-esm-wrapper dependency (#6884) (b278884)
- Fix typos (#6852) (672baa4)
- GuildManager: Remove redundant check (#6859) (579569a)
- Remove redundant user agent parsing (#6820) (460df9e)
- Remove unnecessary checks (#6777) (e24209a)
- Role: Move initialization of delete prop out of _patch (#6776) (872e7a5)
Typings
- fix: BaseCommandInteractionOptionResolver and CommandInteraction (#6910) (673c03f)
- Constants: Remove deleted properties from Package (#6908) (7be9170)
- Shard: Eval returns a promise resolving with T instead of T[] (#6901) (14d9a99)
- ApplicationCommandManager: Add missing overload for
fetch (#6904) (ee93a27)
- TextBasedChannel: Text channel interaction collectors should have
message option (#6903) (91a432e)
- Cache types cleanup (#6867) (b2836da)
- Allow message cached props to be narrowed (#6838) (c3948f8)
- CommandInteractionOptionResolver: Allow narrowing of
getMember() (#6831) (e8b6997)
- BaseMessageComponent: Remove third parameter of
create() (#6833) (d27fddb)
- Message component cached props narrowing (#6809) (b541d0a)
- ApplicationCommandOptionData: Remove required on subcommands (#6790) (5566404)
- Integration: Add
IntegrationType values (#6815) (187581d)
- WelcomeChannelData: Allow store channels (#6778) (45ebea3)
- Make embed author and footer props
name and text required (#6779) (a84e51b)
13.2.0 - (2021-10-05)
Bug Fixes
- AllowedImageSizes: Add new image sizes (#6754) (d0025be)
- User: Compare flags in #equals (#6750) (00e1e26)
- VoiceState: Patch streaming value (#6747) (7eec061)
- Message: Avoid overwriting properties in _patch (#6738) (a8c21cd)
- ReactionCollector: Only call the filter function once (#6734) (d15dd5f)
- Shard: Use provided timeout when respawning (#6735) (905d100)
- Role: ToJSON() throwing due to permission bigints (#6724) (9e421f6)
- Don't patch set data with undefined (#6694) (9eb9591)
- Invite: #guild never resolving into a Guild (#6742) (b76bb8a)
- GuildManager: Add missing types and converts (#6683) (cdf65f7)
- Util: Default
animated to false when omitted on resolvePartialEmoji (#6725) (8d80fec)
- Message: Throw error on missing channel (#6581) (60aa9ae)
- CachedManager: Return updated data when cache is false (#6685) (8426770)
- GuildEmoji: Cache restricted roles and author data (#6675) (60b8ba6)
- Constants: Allow undefined size (#6686) (d3da833)
- *RoleManager: Create set of role ids correctly (#6674) (f8aa4bd)
- Shard: Eval promise never resolves (#6649) (5070d23)
- xxxable: Follow more properly with discord behavior (#6551) (5d87398)
- Allow null to be passed in order to reset icon/avatar (#6646) (6033506)
- Message: Pinnable returning false in non-DEFAULT messages (#6585) (3183b11)
- threadMembersUpdate: Fixed typo (#6589) (8826e9f)
- ThreadChannel: FetchStarterMessage bug (#6584) (08edc0b)
- Await message component collectors should return component interactions not collectors (#6562) (f49f70a)
- GuildChannel: Fix manageable method for voice-channels (#6447) (9301c9b)
- MessageAttachment: Re-assign name (#6518) (8a8c69a)
- UserUpdateAction: Rely on client.user when ids match (#6511) (1418649)
- Util: Allow empty strings in splitMessage (#6437) (d6e6244)
- BaseClient: Remove selfbot ability (#6429) (9a833b1)
- Sticker: Rename method correctly to _add (#6421) (2c449b6)
- Message: Fix typo (#6435) (ecb6e50)
Documentation
- FetchReply info + example (#6753) (8bc1ece)
- GuildMemberUpdateAction: Event doesn't get emitted on user update (#6752) (1db3e76)
- Better links for
.toJSON() of button and select menu (#6745) (6e5c768)
- Undocument private constructors (#6732) (34b2ad0)
- Message: Fix return type for
reply (#6720) (3f11009)
- CommandInteractionResolvedData: Fix key type (#6729) (466e796)
- EmojiResolvable: Update description of typedef to remove ambiguity (#6708) (7cba676)
- ApplicationCommandPermissionsManager: Fix example set method (#6658) (839974c)
- Shard: Point to correct events (#6641) (b9a4899)
- VoiceChannel: Deprecate editable (#6613) (88e2622)
- PermissionOverwriteManager: Correct
@returns of delete (#6632) (3c3522a)
- MessagePayload: Correct return type of
resolveFile() (#6605) (ea6a57e)
- MessageButton: Fix info tag (#6590) (db73cf9)
- WidgetMember: Fix typo for deaf (#6564) (33f6f82)
- Constants: Fix interaction type link (#6558) (29d5fd1)
- Fix JSDoc for
ClientUser#edit (#6554) (34024f5)
- Util: Correct
@param for cleanContent() (#6531) (b89280a)
- Formatters: Fix typo of TimestampStyles (#6523) (7d4a40a)
- GuildChannelCreateOptions: Fix #type type (#6502) (4bfd5d3)
- ThreadManager: Fix typo (#6485) (8a95211)
- Fix wrong type being displayed in docs (#6504) (9ca10cc)
- MessageManager: Fix typo (#6482) (70cc029)
- MessageReference: Add possible message types (#6464) (93a83c2)
- ApplicationCommandType: Add DAPI link (#6463) (17b4079)
- BufferResolvable: Add warning for URL input (#6451) (16493e6)
- Formatters: Use id over ID (#6439) (84bb4f4)
- RoleManager: Error in examples (#6416) (759faa4)
- Rename implementation of deferReply (#6412) (615afab)
Features
- Add support for role icons (#6633) (7129965)
- Interaction: Add memberPermissions (#6741) (28d96e3)
- CategoryChannel: Add createChannel shortcut method (#6614) (3eacf7a)
- Allow webhooks to fetch, edit and delete messages in threads (#6695) (107822d)
- Threads: Update permissions and fix getters (#6466) (10478ad)
- PartialGroupDMChannel: Add recipients & fix name (#6713) (2803db6)
- GuildMember: Add guild avatars (#5696) (dfd7b40)
- MessageAttachment: Add support for ephemeral property (#6652) (c5db0ff)
- ApplicationCommand: Add support for channel_types (#6640) (3b14883)
- UserManager: Allow #fetch to take UserResolvable (#6677) (a06a87a)
- Add api error code 50101 (#6663) (42fdcaa)
- Add support for API command types in
ApplicationCommandManager (#6621) (ecd637f)
- Permissions: Add
START_EMBEDDED_ACTIVITIES (#6622) (66a90d3)
- Integration: Add missing props and fix docs/types (#6623) (caa3b60)
- Default values for setX boolean methods (#6619) (8add4b0)
- Add api error code 30042 (#6635) (183dbd7)
- Give removed
MessageReactions on messageReactionRemoveAll event (#6607) (be8912a)
- ApplicationCommand: Add version property (#6603) (f866512)
- MessageTypes: Add CONTEXT_MENU_COMMAND (23) (#6425) (d81590d)
- Add api error code 160002 (#6566) (d16ada9)
- ApplicationCommand: Add #equals (#6414) (581921f)
- Threads: Add support for invitable in private threads (#6501) (a693254)
- BaseGuildTextChannel: Export
BaseGuildTextChannel (#6527) (fc51f61)
- User: Banners and accent colors (#6117) (839c6da)
- MessageAttachment: Allow files to be marked as spoilers (#6509) (96e26c4)
- ThreadChannel: Add fetchStarterMessage (#6488) (705c5a1)
- Message: Add method to resolve a component by id (#6484) (57b94b9)
- Set methods for MessageActionRow and MessageSelectMenu (#6490) (fb50dd9)
- Export BaseCommandInteraction (#6478) (c14e594)
- Guild: Add
Guild#maximumBitrate getter. (#6455) (21983de)
- Message: Prevent fetching an interaction webhook. (#6468) (f39b597)
- Add maximum prune requests reached api error (#6427) (a4b8623)
- Rest: Expose https.Agent options (#6177) (5eb3553)
- InteractionReponses: Allow fetching of ephemeral messages (#6426) (d289d5c)
- Export ContextMenuInteraction (#6434) (170c0c4)
Performance
- Use logical assignments instead of if statements (#6693) (e9daa31)
Refactor
- User: Set accentColor and banner to undefined when not yet received (#6721) (ba93e85)
- Use optional chaining (#6757) (a194d9c)
- Use the
node: protocol (#6710) (531b46c)
- VoiceState: Use manager edit method to remove error (#6631) (29dd319)
- Constants: Better type error in cdn endpoints (#6637) (124e177)
- ES2021 features (#6540) (00bd92a)
- Channel: Make delete async (#6417) (71fdf6f)
Typings
- Interaction: Allow
Interaction cached properties to be type narrowed (#6668) (d873a19)
- Rename
Awaited<T> to Awaitable<T> (#6756) (f88f4cc)
- GuildBanManager: Remove can return null (#6748) (c3f4de4)
- Add ExcludeEnum utility for easier typings (#6746) (42acc6e)
- Webhook: More accurate type for
sourceChannel (#6751) (32b5c2e)
- WebhooksUpdate: Allow
NewsChannels (#6749) (abf158d)
- More accurate types instead of
GuildChannelResolvable (#6744) (a8e6010)
- ChannelTypes: Remove unknown from CHANNEL options (#6701) (8b4456e)
- TextBasedChannels: Fix awaitMessageComponent return type (#6723) (a7cb314)
- Vanity: Make
uses non-nullable (#6715) (3a978f3)
- Role: Role#comparePositionTo accepts RoleResolvable (#6722) (7c4d1df)
- Presence: Fix ActivityOptions#type and Activity#id types (#6696) (fe95005)
- Fix missing channel type in subcommand options (#6706) (da3ae48)
- Add GuildEmojiManager to Caches (#6671) (1ca8d2c)
- VoiceState: Allow moving members to stage channels (#6684) (94ca0f5)
- Interaction: Improve type guard for inGuild() (#6644) (0347826)
- MessageOptions: Allow APIEmbed (#6656) (92f6471)
- WelcomeChannel: Allow store channels (#6615) (75d85f7)
- MessageEmbed: Allow APIEmbed type (#6629) (256fb90)
- TextBasedChannelFields: Add back createMessageCollector (#6616) (1b016a3)
- Make
channelId non-nullable on MessageComponentInteraction (#6600) (8cc3885)
Message#createMessageComponentCollector use MessageComponentInteractionOptions<T> (#6596) (c62823e)
- MessagePayload: Specify typings for
files and resolveFile (#6608) (ea36955)
- Collector filter parameter inference (#6574) (0841956)
- MessageReference: Correctly add undefined type (#6563) (cdb0005)
@typedef for StageChannelResolvable (#6568) (2c219cb)
- Allow message component interaction collectors to infer collected interaction types (#6476) (03d5549)
- CommandInteractionOptionResolver: Document & type thread channels (#6521) (774e960)
- MessageComponentInteraction: Fix componentType (#6536) (0fe5f88)
- Mark enums as const enums (#6394) (5c27639)
- MessageEmbed: Allow
null for setTimestamp (#6514) (7aff15a)
- Require component type in raw object formats (#6452) (c232baa)
- CommandInteractionOptionResolver: Add missing parameter (#6497) (656b518)
- ClientPresence: Add type declarations and docs (#6450) (6cac03a)
- GuildChannel: Added missing typing (#6454) (f294d1e)
- Message#_patch typings return type (#6433) (81bb68d)
13.1.0 - (2021-08-12)
Bug Fixes
- StageInstance: Ensure
discoverableDisabled is not undefined (#6395) (dce8fc7)
- WidgetMember: Default to
null and not undefined (#6399) (44bbfa5)
- Guild:
preferredLocale to always be a string (#6402) (4a64662)
- ContextMenuInteractin: Store message as raw value (#6400) (d9456a1)
- Util: Remove truthy check before isNaN check (#6358) (3c17939)
- Constants: Fix CDN endpoint typings (#6332) (47d2ef3)
- Managers: Fix typo in unsupported warning (#6338) (917e71a)
- GuildMemberRoleManager: Typo (#6335) (d87299b)
Documentation
- Remove unparsed examples (#6404) (e6f48d8)
- GuildManager: Increase fetch limit to 200 (#6406) (933d2c5)
- ApplicationCommandData: Fix type property (#6385) (de3c86f)
- Update links for api-docs (#6380) (779e14e)
- Switch urls from upstream rearranging (#6378) (4c8dc4c)
- Correct wrong interaction links (#6274) (49d3c0b)
- Invite:
MANAGE_CHANNELS instead of MANAGE_CHANNEL (#6361) (0062aa6)
- Options: DefaultMakeCacheSettings typo (#6365) (ea8d77e)
- Grammar fixes (#6345) (f13d27c)
Features
- GuildMemberManager: Add 'list' method (#6403) (2bf0970)
- GuildManager: Allow setting with_counts to false (#6407) (14aea12)
- CommandInteractionResolvedData: Access to "raw" resolved data (#6384) (fff887b)
- Utils: Add additional formatters (#6388) (cd40292)
- Right-clickybois (context menu support for ApplicationCommand and CommandInteraction) (#6176) (0266f28)
- Threads: Max autoArchiveDuration option (#6304) (394d486)
Refactor
- Options: Separate default settings for make cache (#6330) (d14a6bf)
Typings
- ApplicationCommandData: Make
type field optional (#6405) (dcc556c)
- Constants: Add
ApplicationCommandTypes to Constants (#6398) (6342430)
- ApplicationCommandOptionData: Align command data options types more with discord API (#6247) (297a911)
- ApplicationCommandData: Stronger typings for
ApplicationCommandData variants. (#6382) (75b48d8)
- Options: CreateDefaultOptions => createDefault (#6376) (2a3e819)
- Events: Renamed
messageReactionAdd's reaction parameter (#6371) (006edca)
- ImageURLOptions: Allow 'gif' format (#6342) (5f1def3)
13.0.1 - (2021-08-07)
Bug Fixes
- GuildMemberManager: Refactor fetchMany (#6328) (909c873)
- Message: Handle fetched messages (#6325) (ceae596)
Documentation
- Fix bad indentation (#6316) (cd1aefb)
Typings
- Util: Fix cleanContent parameter type (#6321) (60ace9a)
13.0.0 - (2021-08-06)
Bug Fixes
- MessageMentions: Check guild exists before adding roles (#6313) (1200bba)
- GuildMemberManager: FetchMany fixes (#6314) (52817fc)
- Caching: Sweep archived threads in all channel caches (#6312) (3725dca)
- Message: Fix thread getter (#6309) (913c9fa)
- BaseGuildTextChannel: Call patch (#6298) (3eb4140)
- Remove support for overriding caches that break functionality (#6282) (a6d4035)
- Message: Make #channel and #guild getters (#6271) (6e3236a)
- WebSocketShard: Mark shard ready if no guilds intent (#6284) (09471be)
- Action: GetChannel interaction DM (#6280) (a72b5a3)
- GuildChannel: SetParent not working (#6276) (7e0618f)
- ChannelUpdate: Restore accidentally removed line (#6263) (774f5b7)
- Util: Fix collection import (#6256) (93e0239)
- Array/keyArray removed (#6245) (bf221f2)
- TextBasedChannel: Fix MessageCreate handling (#6217) (6b85f90)
- PermissionOverwrites: Throw better error if resolving option fails (#6219) (42a0313)
- Channel: Add default for destructured options (#6203) (6872547)
- Use
string instead of Snowflake for invites (#6202) (f060a3f)
- ThreadChannel: Better property handling (#6172) (9679b90)
- Export various classes that are exported in the typings (#6166) (30a58dc)
- Typings: Type attachments to InteractionUpdateOptions (#6162) (4f8ca29)
- GuildAuditLog: Assert
target to null upon not finding invite codes (#6171) (c8ca7bf)
- Message: Fix typo in sticker_items (#6173) (870a0de)
- Sticker: Replace 'this.guildID' (undefined) by 'this.guildId' in fetchUser (#6160) (07017a9)
- CommandInteractionOptionResolver: Type should be USER (#6148) (02f55f0)
- CommandInteractionOptionResolver: Export CommandInteractionOptio… (#6146) (8ccfd6e)
- CommandInteraction: Change options type from Collection to array (#6139) (77784ac)
- GuildChannel: Only fetch invites for the specific channel (#6132) (c40c0f9)
- PermissionsOverwrites: Only convert type if number (#6092) (dee5c83)
- Channel type check in actions (#6086) (d433fe8)
- GuildChannel: Clone its PermissionOverwriteManager too (#6083) (f72ce7c)
- PresenceUpdate: Use added presence over nullable getter (#6077) (637c8e0)
- InviteScope: Added missing 'bot' scope (#6052) (93e2c04)
- SelectMenuInteraction: Set values to empty array if not provided (#6045) (34708d6)
- Guild: Add invite manager property, extend CachedManager (#6049) (e3d877d)
- TeamMember: Fixed incorrect return types. (#6044) (fe5d56c)
- Structures: Remove Structures (#6027) (ab0b3b9)
- GuildChannel: Use map method on cache not its manager (#6032) (d58f0d2)
- PermissionOverwriteManager: Pass ID to API correctly (#6026) (8077e4f)
- GuildChannel: Add missing 'cache' property (#6019) (7e30011)
- Remove
connection.url from open debug message (#6018) (39db953)
- Util: SplitMessage not working with array (#6008) (bd25ff5)
- Correct permissions checks and cache on update (#6015) (568691c)
- ThreadManager: Fixed wrong private and fetchAll check (#6012) (e4be666)
- Typings: Improve components typings in MessageEditOptions (#6002) (3a718d8)
- ApplicationCommand: Fix typo in JSDoc (#5994) (6edf55c)
- ThreadChannel: Check for existence of properties when patching (#5961) (9ac6867)
- Typings: Erronous RawMessage (5842e35)
- Thread: Make archive_timestamp not nullable (#5965) (edab5af)
- Sharding: Strict type context and return (#5933) (1925d01)
- Webhook: Return void from #delete for consistency. (#5954) (5ad83a6)
- Collector: Docs and types (#5937) (6c447b1)
- Message: Make author of referenced message nullable (#5929) (dc671c8)
- User: Fix bot and system properties being incorrect in some cases (#5923) (e44ae96)
- ThreadMemberManager: Fix ThreadMemberManager#add and ThreadMemberManager#fetch (#5927) (adecead)
- Webhook: Resolve non-string avatars too (#5914) (4714a96)
- ApplicationCommand: StringType isn't supposed to be sent to the API (#5916) (ca2a36b)
- Permissions: Allow admin to override in the missing method (#5911) (ee025b0)
- InteractionResponses: Set replied status on editReply (#5899) (6d3d00b)
- Message: Flags not being parsed on some edits (#5886) (2d7c12b)
- Guild: Don't patch before instance properties (#5885) (174b7a7)
- presenceUpdate: Fire when only state/details change on an activity (#5846) (1f8f3ab)
- Message: EditedTimestamp defaulting to 0 (#5847) (671436c)
- ApplicationCommand: Default option.required fix (#5848) (a1f94f6)
- Guild: SetChannelPositions null parenting (#5841) (01a1fd6)
- ApplicationCommand: Default option.required to false (#5838) (77c1f15)
- GuildManager: #create throws when systemChannelFlags is undefined (#5832) (29173bf)
- GuildChannel: Don't force parentID/permissionOverwrites to empty on create (#5823) (c585933)
- GuildChannel: Improve empty overwrite handling for permissionsLocked (#5821) (6df3623)
- ApplicationCommands: Allow managing commands for uncached guilds (#5729) (24e5868)
- ClientApplication: Freeze flags (#5811) (e990c35)
- *: Typedefs and typings for image & webhook options (#5805) (a5a6e22)
- TextBasedChannel: Allow passing an APIMessage with split (#5815) (93b0a4e)
- PermissionOverwrites: Optional allow/deny OverwriteData (#5810) (a7ebb21)
- Typings: Fix BitField toJSON/valueOf return types (#5806) (935f819)
- Hooks: Make husky hooks executable (#5812) (77e28cf)
- GuildChannel: Clone errors when options.name isn't provided (#5804) (41673b7)
- WebSocketShard: Don't catch errors thrown in event handlers (#5803) (53d8e49)
- Don't patch missing properties from partial payloads (#5796) (097c7b9)
- GuildChannel: Spread clone options to avoid infinite recursion (#5800) (2f5424b)
- Webhook: Throw an error if no token is available when it's required (#5798) (eb98e33)
- ClientPresence: Produce valid activities for set presences (#5799) (ea0e06f)
- BitField: Ensure missing returns an array of strings (#5795) (68f7aeb)
- ApiMessage: Only pass objects as options directly (#5793) (3578159)
- BitField: Throw an error if bit to resolve is undefined (#5565) (0156f69)
- Remove remnants of awaitMessageComponentInteractions (#5783) (ae78a33)
- *: Add missing imports for custom errors (#5767) (e980948)
- ShardingManager: Client error event cannot be emitted (#5559) (d1c5b6f)
- Add components to MessageOption typedefs (#5768) (657635c)
- Interaction: Add missing types and fix docs lists (#5762) (1d57754)
- Webhook: #editMessage throws error when content is null (#5757) (2901fd5)
- MessageComponentInteraction: Correctly type defer method (#5760) (f0dad26)
- RoleManager: Bug in #create (#5730) (cf22456)
- Message: Update typings and docs related to #edit (#5745) (a2f0c11)
- Typings: Add missing typings for
HttpError -> requestData (#5742) (3e9ce35)
- MessageEmbed: Import custom RangeError class (#5740) (bfe01b5)
- CommandInteraction: Cmds with no options throw error (#5734) (af2fad9)
- CommandInteraction: Channel type should be text based channels (#5690) (5141ea4)
- GuildMemberManager: Allow moving members to any non-text channel (#5681) (d21e6af)
- Interfaces not importing due to re-export of Snowflake (#5723) (086c3f0)
- PermissionOverwrites: Fix typo in typedef jsdoc (#5704) (6567ba8)
- Types: Make event listeners accept async callbacks (#5602) (a73a5cf)
- GuildEmojiRoleManager: Bug in #remove (#5666) (c89bdd7)
- ApplicationCommandOptionData: Options property should be itself (#5679) (b90b0c3)
- APIMessage: Document Interaction as valid MessageTarget (#5678) (9f491ff)
- Message: Bug in #suppressEmbeds due to #5612 (#5644) (840ad0a)
- Lint-staged for typescript files (5f6ec22)
- DataResolver: Fix circular dependency error with GuildTemplate (#5622) (b376f31)
- ApplicationCommandManager: Limit permission methods to guilds (#5613) (03256bd)
- CommandInteraction: Update typings and docs for #editReply (#5630) (56d44fb)
- ApplicationCommand: Return string equivalent of ApplicationCommandOptionType (#5617) (a6079bc)
- Resolve emoji in Message#react (#5614) (c733436)
- Typo in GuildMemberManager (#5616) (73f4114)
- Message: Editing with MessageEmbed or APIMessage (#5612) (74e97ef)
- VoiceReceiver: Fix memory leak (#5609) (2eac842)
- ApplicationCommandManager: Fix typo in JSDoc (#5603) (3392eb7)
- Sticker: File renamed to SnowflakeUtil (#5573) (f830eb7)
- Emoji: Name can be null (#5513) (5397021)
- GuildMemberRoleManager: Unable to remove roles when passed an array (#5556) (9572521)
- Typings for 'Message' (#5518) (0d68ca8)
- HTTPOptions: Change default value in jsdoc to 8 (#5547) (cb50241)
- GuildAuditLogsEntry: Executor can be missing (#5500) (e9bf206)
- typings: Update GuildMemberRoleManager typings to match implementation (#5497) (900e576)
- MessageMentions#channels: Fix type of channels of mentions (#5370) (565d7b3)
- Resolvables: Valid resolvables throw error when uncached (#5495) (fa5a37e)
- GuildChannel: Check for community required channels in GuildChannel#deletable (#5170) (b710a43)
- GuildMember: Correctly check for premium_since (#5312) (aff3625)
- Voice: Only skip undocumented voice packet byte if present (#5309) (2b52cdc)
- Typings for 'WebhookMessageOptions' (#5476) (67025e6)
- IntegrationApplication: Add missing export to index.js (#5475) (8023250)
- ApplicationFlags: Export class (#5465) (404ce57)
- Voice: Disconnect if voice channel not cached (#5467) (3af8179)
- InviteDelete: Guild can be missing (#5457) (6c6b105)
- ReactionUserManager: Remove before query option (#5281) (43bd568)
- GuildManager: Add missing toString() on Permission#resolve fns (#5324) (0778926)
- GuildChannel: Regression on default channel type (#5251) (e7c4f36)
- Guild/GuildChannel: Methods reason arg usage (#5419) (8411b9e)
- Role: Pass Permissions class, not the bitfield (#5321) (d744e51)
- WebSocketShard: Key name in WebSocketShard#_send. (#5304) (56d8b44)
- ApiMessage: Remove resolve() from typings (#5241) (a6bc39d)
- GuildChannel: Overload permissionsFor and BaseManager#resolve[id] (#5260) (41bd6c2)
- GuildEmoji: Check for cahnges to available in equals (#5201) (f95f5dc)
- VoiceConnection: Make #dispatcher nullable (#5217) (0d5de43)
- Message: Update getters to take null permissions into account (#5066) (98b1c58)
- typings: Return types for 'Webhook(Client)#send()' (#4876) (eb28ee7)
- MessageEmbed: Include
author.name in length getter (#5167) (e37160f)
- Collection: ToJSON() errors if the collection includes empty values (#5129) (2c2249e)
- Implement valueOf on pseudomanagers (#4595) (8883a01)
- Add presence to ClientPresence from ClientOptions (#5041) (9c7fe34)
- Filtering of string forms of null and undefined (#5075) (9042d19)
- ChannelManager: Avoid crash in remove method with uncached channel (#4937) (12c909e)
- Message: #system non-zero message types are not guaranteed to be system (#5108) (bb78120)
- UserFlags: Correct early bot dev name, remove deprecated aliases (#5104) (b509862)
- Collector: Throw an error if a non-function was provided as filter (#5034) (7365f40)
- BaseGuildEmoji: Typo in requiresColons (#5076) (e272fd6)
- MessageReaction: Set MessageReaction#me in patch method (#5047) (6b322f4)
- Voice:* Filter out silent audio from video users (#5035) (4fcb9eb)
- GuildTemplate: 'guild' getter (#5040) (53529bd)
- RoleManager: Fix ID return value, change return type to collection (#4935) (12a096b)
Documentation
- Grammatical fix (#6311) (7787a76)
- Grammar fixes (#6308) (0664477)
- General cleanup and improvements (#6299) (b4afcf8)
- Typo in ClientOptions (#6305) (dd3a79e)
- Grammar fix (#6294) (90c2e07)
- Client: Mark _finalize as private (#6281) (35fa3b3)
- Update link of the guide to v13 changes (#6273) (6e0ea02)
- Add missing semicolon to readme (#6270) (2c452df)
- Change example in readme to slash command (#6250) (626ff85)
- InteractionResponses: Correct
@returns on responses (#6257) (bb56f17)
- Refactor a few
@returns descriptions (#6228) (82daee5)
- Widget: Add the typedef WidgetChannel (#6182) (8b52d06)
- Update readme node version requirement (#6241) (797727a)
- GuildManager: Correct
GuildCreateOptions typo (#6224) (2675b08)
- Constants: Document the Constants object for enum-like usage (#6208) (cc5f1ce)
- Guild: Correct
GuildRolePosition typo (#6223) (40b127e)
- WelcomeChannel: Correct guild return type (#6222) (d310e4f)
- Constants: Fix StickerTypes typedef (#6218) (105a194)
- MessageMentions: Fix documentation for members property (#6206) (f44bfc4)
- Guild: Add GuildTextChannelResolvable type definition (#6221) (1009ce1)
- InteractionResponses: Document missing properties (#6178) (5e433b5)
- CommandInteraction: Correct type definition of
CommandInteractionOption (#6169) (5e70694)
- InteractionResponses: Reply docs example (#6079) (b170fb5)
- InteractionResponses: Generalize wording in update to fit other component interaction types (#6074) (67e9ce4)
- ClientUser: Fix shardId nullable (#6072) (28b5ffb)
- Fixed several typings and MessagePayload#create JSDoc (#6059) (4c0426c)
- ThreadChannel: Fix documentation for setLocked method (#6053) (8d9ab74)
- MessageManager: Document options param for #edit as required (#6031) (db60e36)
- Add Partial typedef (#6029) (b62d646)
- Fix some missed MessageComponent collector methods (#6023) (610b0b4)
- *: Wrap optional properties with union types in parentheses (#6021) (ec06ba7)
- Collector: Properly document endReason (#6016) (7dd1a8d)
- CreateInviteOptions: Fix TargetType link (#6017) (4adfc45)
- *: Add class links to isX() methods (#6007) (fbdad6e)
- WebSocketShard#send and TextBasedChannel#send (#5998) (726073f)
- Util: Methods removed on the base object (#5990) (d742814)
- Partials: Add link to the guide (#5982) (58183d4)
- MessageSelectMenu: Add link to Discord docs (#5984) (f819416)
- ThreadManager: Fix FetchedThreads typedef and startMessage (#5971) (f108746)
- Message: Add ThreadChannel as a channel type (#5972) (58bc145)
- ThreadManager: Fix reason prop of ThreadCreateOptions (#5970) (5dfd7dd)
- Channel: Fix description of thread channel types (#5968) (853be62)
- Drop string from MessageButtonStyleResolvable (#5944) (41f718f)
- Features: Resolved typo in
FATEWAY_PRESENCE_LIMITED (#5952) (d38b347)
- Webhook: Fix thread example in send method (#5953) (d3d19ce)
- Channel: Make the type news_thread an inline code-block (#5940) (630432b)
- Thread: Add links to discord api docs (#5919) (5af2ef5)
- MessageSelectMenu: Fix options typings (#5922) (75837a8)
- *: Add links to Discord's API objects & data (#5862) (e0efcc6)
- Move embeds field into BaseMessageOptions (#5902) (6cebeae)
- Readme: Remove dependencies badge (#5901) (edf6f0c)
- AnonymousGuild: Add missing extends tag (#5896) (3d96a33)
- VoiceState: Channel can be null (#5872) (807ea2d)
- ReplyMessageOptions,MessageEditOptions: Replaced
embed with embeds (#5860) (e3ed74a)
- Consistent application name usage (#5853) (96a4e7b)
- TextBasedChannel#send: Update embeds example (#5857) (a6dae75)
- ButtonInteraction: Fix typo (#5835) (9376ee4)
- Removed topics and FAQ from the repository (#5820) (9e5106d)
- README: Re-add install command, remove voice remnants (#5817) (55ad6f0)
- MessageEmbed: Deprecation advisory for type (#5774) (f5f3f77)
- Messages: Fix examples in messages after changes in #5758 (#5791) (35c2225)
- ApplicationCommand: Typos in ApplicationCommandPermissionData (#5789) (4511624)
- GuildMemberManager: Fix docs for #search() (#5784) (0139e10)
- CommandInteraction#channelID is type of Snowflake (#5776) (32d8c8b)
- InteractionDeferOptions: Correctly define the typedef (#5769) (4567cd4)
- Add new guild features (#5755) (f7e420b)
- Message: Fix content param in #edit not showing as nullable (#5748) (df9b678)
- All the missing object -> Object changes (#5738) (b317d86)
- Remove traces of StringResolvable (#5727) (678b7da)
- Webhook: Update typings and docs for #editMessage (#5713) (256d1b0)
- Message: Add example for message.reply (#5332) (7d7d2a5)
- TextChannel: Warning about setRateLimitPerUser NewsChannel (#5403) (47bbdf4)
- Fix InteractionDeferOptions typedef (#5694) (add924c)
- ColorResolvable: Add Fuchsia to ColorResolvable typedef (#5676) (7d9818e)
- Add new typedef to properly doc InteractionReplyOptions (#5632) (3589e0f)
- Guild: Add proper punctuation to #fetchOwner jsdoc (#5645) (c8d20a4)
- Correct casing of
object -> Object in AuditLogChange (#5636) (ab82caf)
- GuildChannelManager: Add stage option (#5608) (d219ecd)
- MessageEmbed: MessageEmbedOptions typedef (#5466) (4a06dd1)
- Update invite link, change version in the intro (#5592) (533c247)
- VoiceState:
#setRequestToSpeak and #setSuppressed returns a Promise instead of void (#5558) (705d7b3)
- GuildChannelManager: Fix type options in description (#5440) (936516c)
- ClientUser: #setPresence does not return a promise (#5485) (599f0f5)
- GuildChannel: #members add cached spec, include voice (#5385) (e848d25)
- BanOptions: Make days description more clear (#5327) (dedf432)
- Update docs and examples for #4879 (#5323) (685b260)
- GuildMember: Document owner override in permissions getter (#5320) (62ba249)
- ChannelManager: Fetch can return Promise (#5422) (1c8b109)
- Guild: Clarified description of guild.features (#5352) (941e36f)
- BaseManager: Fix a typo in #resolveID description (#5180) (640a663)
- BitFields: Remove string from BitFieldResolvable (#5122) (9ffcd83)
- MessageEditOptions: Add the flags parameter (#5126) (2aea7dd)
- RoleManager: Fetch description (#4920) (be0f383)
- TextBasedChannel: Indicate that replyTo cannot be system (#5115) (5c4547e)
- Permission overwrite methods descriptions (#5079) (77d4237)
- Client: #emojis is a BaseGuildEmojiManager (#5048) (2685b96)
- User: Fix typos in jsdoc (#5060) (09d0755)
- WebSocketManager: Fix type of status (#5059) (9f3c3e0)
Features
- Collector: Return a boolean on checkEnd (#6289) (f473f43)
- Channel: Add isVoice() (#6297) (5b4efd1)
- Constants: Added more error codes (#6234) (6b2098f)
- MessageEmbed: Add setFields method (#6186) (a25e165)
- ThreadChannel: Add fetchOwner() method (#6207) (331a9d3)
- Util: Add SweptCollection for auto sweeping of caches (#6110) (dbb59ba)
- WebhookClient: Allow creation of clients via URLs (#6192) (e000af5)
- FetchRecommendedShardsOptions: Account for large bot sharding (#6184) (19b242a)
- GuildAuditLogs: Add threads (#6195) (26ba0e1)
- Guild: Add fetchWidget() for getting widget data (#6180) (b22272f)
- ApplicationCommandOptionType: Add NUMBER (10) (#6128) (2f1cc1f)
- CommandInteractionOptionResolver: Add sub-command required option (#6165) (690c121)
- Sticker: Updates, sticker packs, and guild stickers (#5867) (54d6a3a)
- GuildPreview: Add createdAt & createdTimestamp (#6130) (9f039a8)
- CommandInteraction: Add CommandInteractionOptionResolver (#6107) (f293132)
- Make Instance#fetch force true by default, and fix force parameter (#6116) (366f3c9)
- REST: Append additional information to the required User Agent (#6112) (f200f14)
- Client: Add conditional ready typings (#6073) (4206e35)
- Allow channels from uncached guilds to be returned from fetch (#6034) (755c180)
- Collector: Better types for events (#6058) (c0a814f)
- Message: Add 'failIfNotExists' to ClientOptions (#6038) (28c5724)
- LimitedCollection: Export LimitedCollection (#6043) (31d3129)
- Client: Enforce passing scopes to generateInvite (#6024) (c6e5521)
- Managers: ✨ Add GuildInviteManager (#5889) (9e08b02)
- Managers: Add customizable caching for managers (#6013) (8c7cb0e)
- InteractionCollector: Reworked to be more generic (#5999) (374c779)
- PermissionOverwriteManager (#5318) (e7ad2fe)
- Formatters: Added new URL utilities and docs (#6014) (98e45a5)
- RoleManager: Added
edit method, alias Role#edit (#5983) (1e73c25)
- StageChannel: Add createStageInstance method & use better naming convention (#5951) (71fb33a)
- Channel: Add isThread typeguard for better TS support (#5978) (b7ed675)
- Util: Added formatters (#5976) (8c7a28f)
- Interactions: Option to auto-fetch replies (#5831) (5e28ff8)
- Interaction: Add guild guard (#5955) (87e8cdd)
- Managers: New ApplicationCommandPermissionsManager (#5897) (6264c60)
- MessageComponentInteraction: Component getter (#5840) (1439183)
- MessageMentions: Add repliedUser (#5905) (2616125)
- MessageSelectMenu: Droppybois (#5692) (e5fcf0b)
- Api v9 and threads (#5570) (7346621)
- InteractionCreate: Move to an Action handler (#5906) (ea49f7c)
- Add missing APIError codes (#5898) (d930c81)
- Interactions: Improve error handling for ephemeral responses (#5892) (bd9f56a)
- Add APIError codes for stage instance (#5888) (c850ae1)
- WelcomeScreen: Welcome screens (#5490) (44e2ee7)
- Stage instance invite (#5856) (2d12db0)
- Guild: Add enum for premium_tier (#5868) (a3cbcca)
- *: Use enums for consistency and speed (#5843) (f7eeccb)
- Widget: Wrapper for widget.json (#5619) (038ee99)
- Stage instances (#5749) (918921e)
- *: Document and support embeds field in message create endpoint (#5792) (99ff715)
- Guild: Add enum for mfa_level (#5797) (ffabec3)
- RequestHandler: Emit more info when a rate limit was hit (#5801) (18ac72e)
- Add new APIErrors (#5794) (e0ab836)
- Util: Allow array for StringOptions' char (#5566) (fbcbb29)
- GuildAuditLogs: Make #target a channel for channel related logs (#5781) (eb0291d)
- Sharding:* Contexts for broadcastEval (#5756) (c6aeebb)
- Voice: Implement support for @discordjs/voice (#5402) (7b2e12b)
- General component improvements (#5787) (c4f1c75)
- GuildChannelManager: Add 'fetch' method (#4966) (e798fb7)
- Rest: Optional ratelimit errors (#5659) (16f261e)
- Promisified single interaction collection (#5770) (c2b3ed0)
- Message: ApplicationID for interaction responses (#5765) (65dc00f)
- Client: Make use of with_expiration in #fetchInvite (#5764) (bf191df)
- Interactions: Add InteractionWebhook for better internals (#5712) (dec191a)
- MessageComponents: Clickybois (MessageButton, MessageActionRow, associated Collectors) (#5674) (cbd7f2b)
- Esm: Use
gen-esm-wrapper instead of manually making the file (#5700) (db0d7d4)
- Rest: Show the data that is sent to Discord when an errors occurs (#5701) (ef92339)
- CommandInteraction: Make options a collection (#5705) (fdad140)
- *: Enforce strings (#4880) (7b85a72)
- BREAKING CHANGE: Removes all Resolvables for only string inputs
- Co-authored-by: SpaceEEC spaceeec@yahoo.com
- Message: Allow editing files into messages (#5718) (b212b64)
- Easier guards for channelUpdate (#5716) (d52bcd4)
- Add support for fetching multiple guilds (#5472) (48d6850)
- Guild: Add the new nsfw_level property (#5660) (3fe7add)
- InteractionDeferOptions (#5641) (ed593c9)
- CommandInteraction: Ephemeral followup messages (#5618) (68b40dd)
- GuildChannel: CreateInvite target options (#5514) (f831872)
- MessageEmbed: Remove normalizeField validation (#5459) (ff2f737)
- GuildMemberManager: Extend API coverage (#4872) (2e2464b)
- GuildChannel: Make createOverwrite and updateOverwrite not dependent on cache (#5489) (58763b0)
- MessageManager: Extend API coverage (#4869) (c56c4a8)
- Message: Add ReplyMessageOptions for #reply (#5296) (7ce741d)
- ShardingManager: Add options typings (#5583) (31b4390)
- GuildChannel#clone: Support for position property (#5236) (d455cb6)
- GuildBanManager (#5276) (6d09160)
- APIRequest: Support setting global headers in HTTPOptions (#5586) (135abcc)
- Message: Replace referencedMessage with fetchReference (#5577) (1398431)
- Message: Allow removing attachments (#5557) (ca9e5a0)
- Add support for application command events (#5596) (9f74f95)
- Interactions (#5448) (f7643f7)
- Sticker: Added Sticker (#4909) (026afc2)
- Webhook: Add 'fetchMessage' method (#5530) (63398d6)
- GuildManager: Allow system channel flags in create (#5504) (d9fa180)
- Guild: SetChannelPositions parent, lockPermissions keys (#5507) (4866e26)
- Webhook: SourceGuild, sourceChannel, improve owner (#5508) (116ecf2)
- Guild: Allow description and features in edit (#5505) (8a059cc)
- Util: Make
cleanContent take a channel instead of a message (#5535) (f1c0c04)
- Guild: Nsfw guilds (#5525) (5968323)
- Guild: Replace
owner with fetchOwner (#5480) (1be67b8)
- GuildFeatures: Added the new screening features (#5328) (3c175cb)
- MessageAttachment: Support for #contentType (#5481) (7b161f9)
- SysChanFlags: New flag and rename in sync with client (#5506) (fe93a7e)
- Move internal regular expressions to static properties (#5384) (207735c)
- typings: Add ShardingManager.shardList to type definitions (#5446) (32b0d71)
- typings: Explicitly type PremiumTier and Collectors (#5458) (7c49612)
- Make changes to PresenceData typings and docs (#5317) (eb43ce4)
- MessageTypes: Add 16 and 17 (#4685) (c9107e3)
- GuildMemberManager: Add 'search' method (#4154) (0ba2bcb)
- Stage channels (#5456) (eec7cf7)
- Activity: Add missing fields (#4984) (63ff6a0)
- Webhook: Add '(edit|delete)Message' methods (#5223) (7cabc1c)
- Rest: Better handling of global rate limit and invalid request tracking (#4711) (9d2d606)
- Application: Application flags (#5147) (06e9d86)
- WebSocketManager: Let identify throw on depleted limits (#5283) (624a446)
- Jsdelivr default file support (#5424) (f469402)
- Client: Add InviteGenerationOptions#additionalScopes (#5215) (ae3c3d8)
- ReactionCollector: Event create (#4108) (09d1f2f)
- ShardingManager: Allow b-Eval/fetchClientValues on a specific shard when not all are ready (#5222) (001676c)
- GuildChannel: Support conversion between text and news (#5022) (5ac3b57)
- BitField: Move problematic bit into the error message (#5228) (273e955)
- ClientEvents: Add tuple labels to event arguments (#5225) (764966e)
- GuildMember: #pending (#5121) (c4c8171)
- GuildEmojiManager: Implement GuildEmojiManager#fetch (#4933) (ffe3140)
- Browser: Remove browser <20> (#5113) (0a591a9)
- Role: Role tags (#4628) (d6234b7)
- APIMessage: Remove disableMentions (#4836) (4107899)
- GuildMember: Make GuildMember#setNickname first param nullable (#5070) (d70127c)
- Message|TextChannel: Inline replies (#4874) (60e5a0e)
- BaseGuildEmojiManager (#4934) (8d650a7)
- Message: Added string type for message nonce (#4782) (4b555fd)
- GuildMemberManager: Throw TypeError on incorrect GuildMemberManager#ban params (#4816) (863734a)
Refactor
- Replace dependency with initial implementation (#6310) (d5e28c2)
- Interaction: Rename defer to deferReply (#6306) (4241feb)
- InteractionCollector: Only keep Ids of objects (#6084) (b639b6c)
- Channels: Fix incorrectly shared properties (#6262) (5be471b)
- Added
TextBasedChannels type (#6286) (61db5f7)
- MessageComponents: Default setDisabled to true (#6279) (3c7c822)
- *: Use async functions (#6210) (e2e4f65)
- GuildChannel: Use filter method for #members (#6253) (7c54076)
- VoiceState: Change kick to disconnect (#6251) (24931d7)
- Merge collections with keeping entries at max (#6242) (bb5e648)
- Message: Accept a single object instead of 3 arguments (#6244) (434e330)
- Move member adding to manager (#6231) (198a5c4)
- Use guild-wide route for fetching active threads (#6193) (2a07055)
- Remove extended collection (#6246) (00bae4f)
- Strengthen channel typings in appropriate places (#6232) (65ae064)
- Message: Make thread a getter for accuracy (#6215) (5f710ae)
- Match subcommand (group) name casing with Discord's (#6204) (a69e2f7)
- Only cache commands from own user (#6161) (4886ae2)
- Message: Combine patch methods (#6071) (cd47a52)
- CommandInteractionOptionResolver: Add readonly data property (#6156) (328501b)
- OptionResolver: Accept single type instead of an array (#6154) (5addcd1)
- Change const enums to interfaces (#6078) (63ce065)
- ActionsManager: Less complex code (#6102) (4d53d0f)
- Remove timer utilities from Client (#6113) (5ca97c9)
- Remove typing caching (#6114) (576eee8)
- Channel: Change channel types to UPPER_CASE (#6035) (6301728)
- Managers: Rename add to _add (#6060) (9cd5e7e)
- ApplicationCommandManager: Remove unused assignment (#6063) (98a5b52)
- Rename
Constants.OPCode to Opcode, moved objects to enums (#6065) (4eb3a2a)
- PresenceManager: Have Presence extend Base and simplify add (#6056) (ded93fe)
- Presences: Remove from User, nullable on GuildMember (#6055) (afbd5db)
- Intents: Remove computed shorts (#6050) (3022b0f)
- Remove
lastMessage properties from User and GuildMember (#6046) (1a27f57)
- typings: General cleanup (#6047) (676118a)
- Change
xID to xId (#6036) (a7c6678)
- Improve typings and docs related to threads (#5991) (4bf4980)
- Util: Make class extend
null (#6000) (2446ff5)
- Rename events to be consistent with WS names (#6010) (a11a105)
- New node features (#5132) (1e8f012)
- Presence: Remove second assignment of
syncID (#5956) (fb8d516)
- MessagePayload: Rename APIMessage (#5921) (b15d825)
- Removed
code and split options (#5918) (985d4d6)
- Co-authored-by: Jan 66554238+vaporox@users.noreply.github.com
- BREAKING CHANGE: Removed
APIMessage#split
- BREAKING CHANGE: Removed
MessageEditOptions#code
- BREAKING CHANGE: Removed
BaseMessageOptions#code
- BREAKING CHANGE: Removed
BaseMessageOptions#split
- Collector: Make filter an option (#5903) (0d0c8f0)
- Remove exported shortcuts to util methods (#5904) (1816a93)
- Package: Remove
runkitExampleFilename (#5866) (6cceb93)
- awaitMessageComponentInteraction: Use options object for lib consistency (#5852) (9dda9b7)
- *: Make typedefs for all options params (#5785) (1ac9a2e)
- GuildPreviewEmoji: Make roles an array (#5720) (4dbcaf7)
- APIMessage: Remove unused declarations (#5836) (02693bc)
- Fetch options consistency (#5824) (7111b4c)
- GuildChannel: Use Permissions.defaultBit over 0n (#5822) (19d0405)
- Remove all voice code (#5818) (fdef940)
- MessageEmbed: Remove files (#5813) (e3e466d)
- Guild: Remove region from guild and manager methods (#5766) (a1f763e)
- Enforce single param on sending/editing methods (#5758) (0467a90)
- GuildAvailable, typingStop from Constants (#4861) (dda5ee2)
- Interactions: Move Structures import out of switch block (#5763) (84e5b07)
- Remove _roles from pseudo-managers (#5721) (53d952a)
- Deps: Use async-queue package (#5662) (14c6802)
- *: Return the invalid element when erroring from Array (#5314) (eaf332f)
- MessageOptions: Move replyTo to reply#messageReference and add failIfNotExists (#5298) (1ecda83)
- Sticker: Rename Snowflake variable (#5575) (af00ec8)
- RequestHandler: Use x-ratelimit-reset-after when present (#5511) (a5d41c9)
- Remove error-silencing try/catch on event handler imports (#5542) (cdcc50f)
- Sharding: Use options objects (#5510) (c9b5353)
- Add discord-api-types as a dependency (#5539) (1b827fe)
- Rename Snowflake to SnowflakeUtil (#5502) (164ddf6)
- Guild: Remove fetchVanityCode() (#5471) (0a2e0c0)
- Collector: Make endReason a getter (#5271) (8d14ee3)
- Switch api and gateway to V8 (#4879) (ee5bc1a)
- Client: Remove fetchAllMembers option (#5257) (aaed72b)
- GuildMember: Remove GuildMember#hasPermission (#5152) (5401b92)
- Util: Remove convertToBuffer (#5237) (a33eed7)
- Message: Remove stored edit history (#5155) (8c2e6b7)
- RoleManager (#5131) (2a0dcc5)
- Message: Remove options for Message#delete (#4999) (75e6dfb)
- Client: Improve generateInvite() (#5065) (5b51392)
Testing
- Types: Add
notPropertyOf type-only utility (#6051) (03fe6ee)
- Client should destroy (#5353) (4099c28)
Typings
- MessageButtonOptions: Clean up and export some button option type definitions (#6291) (ae6200e)
- Make MessageTarget extend on TextBasedChannels (#6296) (5b0621f)
- Caches: Add GuildStickerManager and GuildInviteManager (#6268) (15aea68)
- Use api-types for stricter typings (#6230) (00c2bf8)
- ButtonMessageOptions: Make button/link button typings more specific (#6212) (77c72e6)
- WsEvents: Add thread ws events (#6194) (4f1f32f)
- DataManager: Add 'K' to type parameter of 'resolveId' (#6152) (8586505)
- ColorResolvable: Readonly tuple (#6153) (1e90be8)
- Message: Mark
#thread as nullable (#6129) (ef5ba05)
- Options: Add types for cacheWithLimits (#6095) (8db6df3)
- Interaction: Change inGuild return type (#6094) (60148c6)
- PartialWebhookFields: Add APIMessage to deleteMessage union (#6085) (a9e7ebd)
- Interactions: Fix function overloads (#6109) (98c6078)
- Guild: Remove fetchVoiceRegions (#6099) (a8984bc)
- Partial: Add partial reactions (#6066) (d6c43a5)
- Test: Fix overloads for channel create (5b6be0c)
- GuildInviteManager: FetchInvitesOptions (#6076) (c1eaa78)
- Fixed unreachable overloads (#6062) (7322547)
- ApplicationCommand: Fix option name (#6067) (58bbcd5)
- *: Revert incorrect unknown type changes (#6057) (2e078e4)
- Options: Should extend null (#6042) (c4aa9fe)
- Voice: Move types to the library's definitions (#6041) (185e376)
- Better fullPermissions typings (#6028) (2ab32e6)
- MessageOptions: Fix components being optional (#6005) (56b5b7e)
- *: Create mention types (#6003) (0dc5dd5)
- VoiceState: Fix optional params (#5993) (1242c54)
- ClientUser: Updated
setAFK signature (#6011) (c40b06c)
- MessageSelectMenu: Fix typings (#5995) (fe6cc0c)
- Interactions: Fix function overload types (#5989) (521d26c)
- Few missing thread channels (#5988) (941cd86)
- MessageOptions: Improved component typings (#5987) (0eeb277)
- ApplicationCommandPermissionsManager: Fix types (#5979) (388e05b)
- ThreadChannel: Make locked and archived param optional (#5980) (a08ce7d)
- *: Make hex color types compatible with ColorResolvable (#5973) (788d58e)
- CommandInteraction: Readd followUp type (#5974) (ae37d20)
- ThreadManager: Add type to ThreadManager#create options (#5969) (3174507)
- ColorResolvable: Change
string to #${string} (#5950) (acdcb90)
- Define ApplicationCommand enums in lib (#5947) (e37ef3a)
- Fix remaining Raw type references, update discord-api-types dep (#5942) (03d3a5c)
- ThreadMemberManager: Fix incorrect usage (#5928) (6065b11)
- MessageReactionResolvable: Add string (#5863) (a0b7d95)
- GuildApplicationCommandManager: Allow undefined command (#5837) (d5bb758)
- Corrected shard broadcastEval (#5834) (a0a56e2)
- MessageComponentInteraction: Update should return Promise (#5829) (08cffd6)
- Extendable: Add ButtonInteraction (#5802) (19fd162)
- Extend MessageComponentInteractionCollector correctly (#5752) (c6696d8)
- Fix awaitReactions typings for returned collection (43fc40e)
- Change remaining string IDs to Snowflakes (#5737) (ff4d6dd)
- Snowflake: Export the type (#5722) (66a6a1f)
- Use Snowflake type (#5717) (76db642)
- PermissionOverwriteOptions: Remove unused interface (#5651) (b40027b)
- WebhookMessageOptions: Omit reply instead of replyTo (#5610) (2345c6d)
- Remove typings for Client#disconnect event (#5469) (a4d09ab)
- PermissionOverwrites: Use correct parameter type for resolveOverwriteOptions (#5302) (ca5f371)
- MessageReaction: Allow message to be partial (#5303) (aac6275)
- RateLimitData: Remove timeDifference property (#5208) (80e1afb)
- Make Client#voice non-nullable (#5148) (40d77ba)
12.5.0 - (2020-11-22)
Bug Fixes
- Guild: Fetch member if already in the guild (#4967) (643f96c)
- User: Only assign to bot initially or if info is actually present (#4990) (eaecd0e)
- GuildMemberUpdate: Cache incoming members & use partials if enabled (#4986) (2e940e6)
- MessageReaction*Action: Correctly cache incoming members and users (#4969) (8b91ac5)
- MessageReaction: Add client property to typings (#5003) (042e071)
- Shard: Don't pass event arguments to exit handler (#4957) (adf2e87)
- PackageLock: Reinstall GitHub docgen dev dependency (#4958) (ed8b3cc)
Documentation
- Use npm ci instead of npm install (#4928) (efd7849)
Features
- Shard: Shard-specific broadcastEval/fetchClientValues + shard Id util (#4991) (2a6c363)
- Add support for guild templates (#4907) (2b2994b)
- Add missing error codes (#5008) (7faa73a)
- Message: Add crosspostable property (#4903) (b8fd3f6)
12.4.1 - (2020-10-24)
Bug Fixes
- Action: Attempt to get a User if GuildMember not returned (#4922) (3d158f4)
- GuildChannel: ParentID shouldn't be set in the constructor (#4919) (250c3ae)
12.4.0 - (2020-10-19)
Bug Fixes
- Webpack: Revert webpack upgrade (94c9cc2)
- esm: Add missing exports (#4911) (4bbe716)
- GuildEmojiManager: Check for guild in methods that use it (#4886) (728b3f9)
- GuildMember: Properly check permissions for hasPermissions (#4677) (7db6978)
- GuildEmojiCreate: Prevent double fire from emoji creation (#4863) (6261dd6)
- GuildMemberManager: Options.roles on 'prune' (#4838) (a45cc11)
- GuildChannel: Default
parentID to null (#4881) (6e4308b)
- Actions: Avoid crash in InviteCreate with unknown channel (#4882) (dd12912)
- GuildMemberManager: Use actually random nonce in fetch (#4884) (937153a)
- GuildChannel: Make setTopic argument nullable (#4875) (b9ad510)
- Rest: Resolved a regression, added retried AbortError (#4852) (d234165)
- MessageManager: Throw if delete param is not MessageResolvable (#4825) (13d64e6)
- Shard: Avoid caching null child in eval/fetchClientValue (#4823) (77c0788)
- Action: Sanity-Check if Discord includes all required data (#4841) (4e79e39)
- Message: Use Promise#reject instead of Throw on Message#delete (#4818) (1e63f37)
- Action: Don't crash when partials are disabled (#4822) (8fa3a89)
- Partials: Use more user objects available from the gateway (#4791) (eeb4c14)
- lint: RESTManager warning (#4796) (5b39737)
- Typings: Remove Partial types from some events (#4781) (a28754b)
- Util: Throw token invalid for fetching rec. shard amount (#4779) (77b6a7d)
- Guild: Cache fetched widget data (#4760) (7ba9440)
- Typing: Change NodeJS.Timer into NodeJS.Timeout (#4755) (405b487)
- Correctly import extendable classes (#4744) (6aab9c3)
- typings: Bot cannot be null (#4719) (e0e2711)
Documentation
- PresenceData: Add YouTube and remove application (#4910) (a7af4a8)
- Role: Update various Role method descriptions (#4798) (222137d)
- ReactionCollector: Revise JSDoc for ReactionCollector#dispose and #remove (#4709) (372a405)
- Guild: Guild.setName() example (#4797) (dfd63bd)
- GuildChannel: ThisType should be this (#4793) (b43e742)
- MessageManager: Update example for fetchPinned (#4785) (8ac25d3)
- BaseGuildEmoji: Account for optional properties (#4723) (a363b90)
- ClientOptions: Fix typo (#4730) (cfc6867)
- APIMessage: Fix wording on comment (#4717) (05c9e30)
- Update jsdoc type for User#bot (#4716) (b6167d8)
Features
- Message: Allow custom emoji format for react (#4895) (30808f9)
- Message: Add messageEditHistoryMaxSize to limit stored msg edits (#4867) (c412cd7)
- NewsChannel: Add support for following (#4805) (f83b3d7)
- GuildManager: Add AFK and system channel options in create (#4837) (f2bbad3)
- Rest: Switch queue to AsyncQueue (#4835) (32fe72f)
- ActivityTypes: Add Competing (type 5) (#4824) (9c76129)
- Message: Add support for crossposting (#4105) (bcb7c72)
- Channel: Add isText() type guard (#4745) (b0ab37d)
- Guild: Add includeApplications option for fetchIntegrations (#4762) (3141f7c)
- UserFlags: Add renamed UserFlags (#4761) (f973163)
- Client: Allow options for generateInvite (#4741) (727b29c)
Refactor
- Improve the accuracy of docs/improve docs (#4845) (af670fc)
- ReactionUserManager: Use client property (#4829) (169d4c3)
- Client: Remove non-existant property from toJSON (#4750) (46acfac)
Styling
- Remove unnecessary eslint comment (#4758) (74ebb65)
Typings
- TextBasedChannel: Make lastPinAt nullable (#4842) (4a6fb9a)
- Activity: Move flags from Presence to Activity (#4843) (824e922)
- GuildPreview: Make description nullable (#4854) (0b59141)
- Guild: Document RELAY_ENABLED feature (#4788) (422a4dd)
- Don't use readonly arrays in interfaces (#4794) (904aecf)
- PartialUser: Fix PartialUser remove
deleted property (#4773) (aa25608)
- Don't allow any object in the first parameter if second parameter is not given in TextBasedChannel#send (#4736) (74763ef)
- Add all types for GuildAuditLogsEntry#target (#4738) (2dc70af)
12.3.1 - (2020-08-15)
Bug Fixes
- User: Set User#bot to false if not partial (#4706) (db512d8)
12.3.0 - (2020-08-14)
Bug Fixes
- Partials: Correctly set properties as nullable (#4636) (980243f)
- APIMessage: Add reply user to allowedMentions (#4591) (b6ddd4c)
- MessageReactionAdd: Prevent double messageReactionAdd triggering (#4682) (6caeaeb)
- Integration: User might not be present (#4691) (baffbdb)
- GuildChannel: Make lockPermissions use parent overwrites (#4627) (599cde3)
- Collector: Support async (#4123) (124afeb)
- BaseManager: Properly type valueOf (#4594) (b4d6510)
- Correctly import VoiceState (#4616) (c5b6c4d)
- ApiMessage: Respect allowedMentions with split (#4588) (a663ea4)
- Message: Message#createdTimestamp uses deconstructed message id to get timestamp (#4632) (2be68e4)
- Util: Support empty array for flatten (#4590) (317f240)
- Consider #nsfw false if not present in data (#4593) (fab3153)
- PresenceStatus: Include invisible in typings (#4585) (276dddc)
- Set #nickname to null as the default value (#4641) (2adb581)
- Typings: Channel#delete returns bad type (#4118) (3df9993)
- Message: Include MessageEmbed type (#4675) (bbfc715)
- typings: Correct spelling of APIError (#4687) (c55b5c8)
- Util: Fix cleanContent mention exploit (#4663) (fb1dd6b)
- typings: Allow custom events (#4162) (47151fc)
- User: Type dmChannel as nullable (#4609) (f9f3661)
- Typing start event emitting on non text based channels (#4349) (16847a3)
- Guild: Fix vanityURLUses desc, internally use fetchVanityData (#4335) (1c275af)
- DataResolver: ResolveInviteCode to support new domain (#4281) (5955498)
- Grammatical errors in INVALID_TYPE errors (#4289) (fc4bddf)
- APIMessage: Only pass allowedMentions if content is defined (#4269) (15b5350)
- In/de-crement max listener for client events (#4168) (407bc77)
- Voice: Correctly set speaking data in the voice ssrcMap (d3c9384)
- MessageEmbed: Explicitly mark
proxyIconURL as undefined (#4097) (605ee85)
- Typing: DmChannel bulkDelete (#4115) (819e04a)
- Typing: SetSpeaking public (#4109) (e3303ac)
- Webpack: Add Buffer polyfill in browser (#4102) (67a74c3)
- Guild: Name acronym (#4104) (97cbbb1)
- PacketHandler: Guild members chunk packet handler should… (#4092) (5af1a55)
- Typings: Add optional Set to shardReady event (#4099) (97d23de)
- User: Jsdoc for User#flags (#4094) (6fbaf0a)
Documentation
- Updated applications URL (#4699) (0b38c5d)
- ReactionCollector: Update remove and dispose events (#4136) (139e56c)
- Embeds: Added descriptions to the typedefs (#4303) (2a7f749)
- Constants: Improve large_threshold description (#3744) (de8d26d)
- Ban: Days must be 0-7 (#4693) (446bbfe)
- Welcome: Change discord badge to shields.io for consistency (#4633) (bd2bb0e)
- Client: Fix docs for login method (#4350) (9d747d1)
- Guild: Clarify vanity URL documentation (#4125) (05cbf70)
- CategoryChannel: Fix children being incorrectly marked as nullable (#4620) (f628981)
- examples: Fix example img (#4678) (755f379)
- ReactionManager: Clarify cache Collection keys type (#4683) (5b716c5)
- Message: Add NewsChannel type to Message#channel (#4680) (b0e53e9)
- Make use of MessageResolvable type for bulkDelete (#4661) (0e61fca)
- erlpack: Discordapp to discord (#4288) (9a1c56c)
- Guild: Description of Guild#premiumSubscriptionCount (#4324) (bd34965)
- GuildManager: Resolve returns a GuildChannel (#4333) (88a62d5)
- WebSocketShard: Add missing properties (#4268) (2583ad5)
- ShardingManager: Fix typo in JSDoc (#4158) (766b91d)
- ShardingManager: Remove experimental status of Worker threads (#4157) (99612ba)
- VoiceState: Remove permissions required from description (#4156) (2617d3c)
- Message: Add timeout to Message#delete example (#4090) (863a709)
Features
- Trigger userUpdate on GUILD_MEMBER_UPDATE (#4697) (178439e)
- GuildMemberManager#prune: Roles query param (#4142) (f1194af)
- GuildManager: Adds GuildManager#fetch (#4086) (2742923)
- typings: Use readonly arrays in parameters (#4692) (f451be0)
- typings: Add number type for setExplicitContentFilter method (#4694) (e7eda72)
- Bypass cache check with forceFetch param (#4592) (290938b)
- BitField: Add problematic bit to error (#4617) (0225851)
- Guild: Updates for Community guilds (#4377) (57ca3d7)
- Guild: Discovery splash (#4619) (5be6630)
- types: BitFieldResolvable use ReadonlyArray (#4604) (f2f31a1)
- Deprecate GuildEmbed methods and properties in favour of GuildWidget (#4121) (e92cbc4)
- GuildEmoji: Cache the author (#4334) (b7740d4)
- Util: Add missing colors to docs (#3843) (03580b2)
- Add Blob support for browser (#4338) (1fbaf88)
- typings: TypeScript support for changing $browser (#4667) (e54c21b)
- Module: Add ReactionManager to exports (#4372) (2b6e6d8)
- Message: Support pin and unpin with reason (#4586) (c79ac4d)
- MessageMentions: Fix typings/docs, add resolvables support (#4339) (214981f)
- voiceState: Add self_video property (#4346) (54a7fda)
- Guild: Add fetchVanityData (#4103) (8030612)
- REST: Allow options.query as URLSearchParams (#4143) (257371d)
- GuildMemberManager: Nonce and chunk_count for _fetchMany (#4130) (ec0227a)
- Guild#fetch: WithCount param (#4111) (0266917)
Refactor
- GuildMemberManager: Use data instead of query (#4370) (49ad279)
Typings
12.2.0 - (2020-04-17)
Bug Fixes
- PermissionOverwrites: ResolveOverwriteOptions description (#4088) (d709656)
- Guild: Sort text, news, and store channels together (#4070) (fcacf1b)
- Typings: GuildPreview#features and Integration#type (#4080) (72a33cb)
- ClientApplication: Type fetchAssets as resolving with an a… (#4078) (72a7f2b)
- StreamDispatcher: Correct property types (#4059) (9ba4eff)
- BaseManager: Remove declaration of remove method (#4069) (a07c3c2)
- Message: Update MessageMention's roles on message edit (#4016) (9e4c39a)
- Presence: Add missing
userID property to declarations (#4013) (691e96c)
Documentation
- RoleManager: Everyone role can't be null (#3995) (a88b723)
- Webhook: Id and token information (#3962) (da5d928)
- MessageEmbed: Document the constructor (#4077) (4625881)
- MessageManager: Document return type of delete (#4012) (4c2308b)
- ShardClientUtil: Link Shard#message from send method (#4028) (7ce58db)
Features
- DataResolver: Prefer streams over buffers (#4075) (12187ef)
- ClientOptions: Allow setting default allowedMentions (#4085) (7c6000c)
- ESModules: Importing for esm modules (#3998) (0a3759f)
- GuildMemberManager: Customisable timeout for _fetchMany (#4081) (ff3454e)
- User#flags (#4060) (2e5a647)
- Message: Add allowedMentions to MessageEditOptions (#4071) (a8db988)
- Add supported 4096 image size and jpeg format (#4031) (1330e2d)
- Guild: PUBLIC_DISABLED and WELCOME_SCREEN_ENABLED features (#4009) (849c632)
12.1.1 - (2020-03-27)
Bug Fixes
- Typings: Use Channel instead of *ChannelTypes in ClientEve… (#4001) (5e49126)
12.1.0 - (2020-03-27)
Bug Fixes
- WebsocketShard: Pass ignore ACK when Discord asks for a beat (#3993) (65e8c92)
- Typings: Client message event should not emit PartialMessa… (#3983) (f2fdb93)
- Always emit guildUnavailable when a guild becomes unavailable (#3975) (2157401)
- TypingStart: Typing methods returning falsy values (#3939) (495cfa9)
- Guild: Default max presences value (#3970) (0f38d80)
- Partials: Correctly document properties for partialized st… (#3922) (8b906c6)
- Channel: Ensure partial DMChannels get created (#3954) (8c0a940)
- MessageReaction: Fetching a removed partial custom emoji (#3955) (a36a65b)
- RequestHandler: A global timeout implies limited (#3950) (7b38f46)
- Util: CleanContent should remove mentions after formatting… (#3936) (44ac5fe)
- GuildMemberRolesManager: Type error should mention Role an… (#3931) (e5264ab)
- GuildEmojiManager: Throw an error if image resolving fails (#3934) (ca75eb5)
Documentation
- MessageMentionTypes: Move possible values to description (#3990) (fee9a21)
- MessageReaction: Fix jsdoc for count (#3980) (993411d)
- VoiceState: Improve phrasing of setChannel method (#3959) (cd52424)
- MessageEmbed: Correct description of createdAt (#3897) (a5267e1)
- PlayInterface: Update example for broadcast (7994b56)
Features
- GuildPreview: Implement support for "preview" endpoint (#3965) (88133d0)
- AllowedMentions: Add support for MessageOptions#allowedMe… (#3893) (df324e2)
- Permissions: Adds VIEW_GUILD_INSIGHTS (#3928) (5b9cdc5)
- typings: Allow event listener type param inference (#3944) (2be9eba)
- Types: Support type-guarding using Channel#type string li… (#3918) (69d69f2)
Typings
- Add back accidental removal (#3984) (5da734c)
- Partials: Fix unexpected TSC errors (#3957) (a660515)
- StreamDispatcher: Remove end event (#3945) (609a545)
- PartialTextBasedChannelFields: Fix send overload (#3942) (a53404f)
- PartialTextBasedChannelFields: Fix send overloads (#3935) (d43f78c)
- Client: Remove typingStop event (#3919) (5b8f022)
12.0.2 - (2020-03-08)
Bug Fixes
- APIRequest: Only use form data when actually sending files (#3917) (a4f7e07)
- MessageEmbed: Skip validation of fields when inside a message (#3894) (3e169cb)
- Guild: Resolve role id and call existing handler (#3904) (f387337)
- Adapt #manageable to check for CONNECT for VoiceChannel (#3885) (61ef46f)
Documentation
- Structures: Add ExtendableStructure typedef (#3908) (79a28b5)
- Make collections more accessible in docs (#3907) (b5dfb55)
- GuildMemberResolvable: An member -> a member (#3909) (3c653aa)
- BitField: Document constructors of deriving classes (#3903) (bca4b03)
- sharding: ShardingManager#createShard doesn't spawn the s… (#3875) (b5a7e5c)
- faq: Replace ffmpeg-binaries with ffmpeg-static (#3886) (bfcd4be)
Performance
- VoiceConnection: Skip redundant volume transformer on join (#3916) (69d4153)
Testing
- Update tests (#3865) (9b5f005)
12.0.1 - (2020-03-01)
Bug Fixes
- guild: VerificationLevels (#3873) (66e625c)
- message_mentions: Lazy require GuildMember to avoid circular (#3877) (cd746f3)
12.0.0 - (2020-03-01)
Documentation
- Clarify which checks GuildMember#manageable does (#3870) (2d67fbb)
- PartialRoleData: Id is optional (#3866) (c7f4485)
Features
- Document intent error code messages (#3871) (f4b1b39)
Refactor
- Make LimitedCollection an implementation detail (#3872) (544bb78)
11.6.1 - (2020-02-29)
Bug Fixes
- playinterface: Lazy require VoiceBroadcast to avoid circul… (#3864) (713309e)
- typings: Enum values for ChannelType (#3861) (acdd832)
- typings: Remove duplicate VerificationLevels (#3862) (09e4912)
- typings: For intents (#3860) (a6d3501)
Documentation
- Bump version to 11.6.0 (#3863) (34d352d)
11.6.0 - (2020-02-29)
Bug Fixes
- guild: Import paths (d9e12b8)
- MessageEmbed: Prevent possible destructuring error (bbe169d)
- Shard: Cleanup after settling spawn promise (#3799) (f95df6f)
- typings: MessageOptions#split (#3834) (cf646b5)
- Client#sweepMessages should throw an INVALID_TYPE error (#3828) (0280734)
- MessageEmbed: Various typos and fixes (#3819) (52c0a40)
- ReactionManager: Update message if partial (#3789) (bc5e295)
- Message: Handle undefined/null content in cleanContent getter (#3778) (a36f386)
- Guild: Use snake case when editing system_channel_flags (#3781) (878cc05)
- BaseManager: BaseManager#valueOf should return cache (#3776) (62b227c)
- TextChannel: Remove old nsfw regex check (#3775) (324d9e0)
- Guild: Update premiumSinceTimestamp on guild member update (83bc6e0)
- GuildMember: Manageable - let owner override (#3766) (364914f)
- GuildMember: Manageable - let owner override (#3765) (3f03901)
- Voice:* Fix speaking event and voice receive (#3749) (fbcd363)
- Remove for..in in favor of Object.keys (#3745) (6d7e1e4)
- TextChannel#bulkDelete: Use GenericAction#getMessage to handle return value correctly (#3664) (d8b4725)
- ClientUser: Verified and enabled properties resetting (#3733) (3ea9ac5)
- *Collector: Always run postCheck, remove 'translatation' of message collector options (#3718) (099a1a4)
- RichPresenceAssets: Add Twitch preview link for largeImageURL (#3715) (a505a55)
- Only setMaxListeners when max listeners is not 0 (#3716) (903f6ca)
- ClientDataResolver: Return a user in resolveUser when passing guild (#3719) (464ef25)
- VoiceConnection: Use Client#clearTimeout to clear timeouts (#3709) (c5d2b96)
- Presence: Account for multiple activities everywhere (#3703) (f501d06)
- Regression (changing voice servers) (629c57f)
- Guild: Assign GuildMember#selfStream, if present, when adding a member (36c0496)
- ShardingManager: Assert shardList to be spawned, not totalShards (#3649) (400cb56)
- BitField: Remove for..in in favor of Object.entries (#3650) (11f9118)
- Provide count on bulk deletion (#3682) (59205a2)
- typings: Remove VoiceChannel#connection (#3676) (f74ae12)
- ChannelDelete: Mark messages of a deleted channel as deleted (#3572) (d1d0d75)
- Voice:* Internally disconnect and cleanup when forcibly disconnected (#3597) (cbabc16)
- Webhook: Edit channel when editing avatar (#3588) (e660ea9)
- APIRouter: Use proper symbol for util.inspect (#3589) (1003607)
- Invite: Fix valueOf returning undefined (#3582) (d39f179)
- *Collector: Account for a max listener count of 0 (#3504) (2e20e80)
- VoiceConnection: Clear timeouts using Client#clearTimeout (#3553) (9bcb6a0)
- VoiceReceiver: Delete opus encoder from map in stoppedSpeaking (#3499) (91600a6)
- Document ChannelData#reason (#3549) (7011c51)
- Message: Check for edited_timestamp in data when patching message (#3535) (9e0705c)
- docslink: Partialtypes (#3510) (c3228b4)
- Set messages deleted when their channel is deleted (#3519) (48856c0)
- Util: Make arraysEqual avoid mutating the input arrays (#3506) (8ddd061)
- typings: GuildChannel#parent and #parentID are nullable (#3509) (2a78b00)
- typings: GuildChannel#parentID is nullable (#3508) (e936f07)
- GuildChannelStore: Default channel type incorrectly set (#3496) (a03e439)
- BitField: Throw when resolving invalid string constant (41c0dd4)
- stores: Add symbol.species for not-actual-stores (#3477) (60f89bd)
- Typings for this-polymorphism of collections (#3472) (d5831df)
- typings: Remove leftover typeof (ea9e144)
- typings: Collection constructor (33ecdd4)
- typings: Collections import (ac44a7f)
- rate-limits: Reactions buckets need to be shared with sub-… (#3439) (278f185)
- Role: Throw TypeError in comparePositionTo (#3466) (8e0f525)
- Browser-compatability (4fc461c)
- Util#splitMessage when destructured (#3456) (5d95a4b)
- typings: Partially revert #3448 (89d9b0f)
- GuildAuditLogsEntry: Default to object with id for deleted targets (#3373) (43c0a79)
- ChannelStore: Return existing DMChannels within add() (#3438) (2a3fb70)
- GuildMemberStore#_fetchMany (#3420) (cc488a8)
- Webhook: Return raw data if the channel is unavailable (c786867)
- ReactionUserStore: Remove method firing messageReactionRemove event twice (#3277) (1851f74)
- GuildMemberRoleStore: Correctly reference the everyone role (#3434) (12b48b7)
- Message: Delete method caused messageDelete event to fire twice (#3252) (8ae7a30)
- Bots being unable to connect (f79f024)
- GuildMemberStore: Reject BAN_RESOLVE_ID error instead of throwing it (#3425) (9e76f23)
- typings: Send overloads (d14db52)
- GuildChannel: Return GuildChannel in setPosition instead of Guild (1121b2f)
- Update issue templates (651ff81)
- ClientApplication: Fix ternaries (b65a4f0)
- ClientApplication: Owner is still nullable (1dd4c04)
- Guild: Allow fetchMember to be used with an uncached user (#3333) (6f49aad)
- docs: Backport documentation for Presence#clientStatus (#3315) (0c61019)
Documentation
- readme: Remove mention of uws (08e7328)
- TextBasedChannel: Fix typo (#3858) (a04b4ca)
- shard: Add .cache to GuildManager in fetchClientValue exa… (#3857) (31ee0d8)
- MessageEmbed: Document
article embed type (#3846) (31a3a86)
- SystemChannelFlags: Properly document and use resolvable (#3794) (d406f42)
- MessageAttachment: Mark spoiler as readonly, order spoiler in typings (#3714) (ccb83a7)
- WSEvents: Add missing, remove duplicated and userbot events (#3800) (c4c6ad4)
- PermissionResolvable: Move definition outside of class (544b14a)
- Clarify what zlib-sync does (#3785) (21d37ed)
- Guild: Channels is a manager of channels (#3779) (d43692b)
- Info tag for ActivityType regarding CUSTOM_STATUS (#3758) (b7ccf9a)
- Info tag for ActivityType regarding CUSTOM_STATUS (#3757) (3f8ea38)
- Add extends to ChannelManager, cache is not nullable, resolveID accepts an object (#3771) (94bb268)
- *Manager: Fix child classes' cache type annotations (#3777) (92bc634)
- Guild: FetchBan returns a promise (#3752) (8e9e93d)
- MessageMentions: Backport mention order notice (#3712) (d8419ac)
- MessageMentions: Channels are actually in order (#3705) (6302afb)
- Replace all occurances of node-opus with @discordjs/opus (#3698) (6a0fe46)
- MessageMentions: Add sort order notice (#3693) (7f99be7)
- ReactionStore: ResolveID takes a reaction, not role (#3617) (1237133)
- Client: Clarify whose ToS are being violated (#3580) (1d66062)
- README: Link to guide page instead of source (#3566) (1352bff)
- README: Travis badge => github actions badge (#3569) (9a31e6e)
- NewsChannel and StoreChannel (#3557) (cc466fa)
- readme: Table of contents (#3539) (e26697f)
- VoiceStatus: Document name -> value, link in VoiceConnection#status (#3500) (1861352)
- VoiceStateUpdate always sends an instance of VoiceState (#3537) (a61cfc3)
- Rename LURKABLE to PUBLIC and update GuildFeatures type (#3484) (ea8b4e7)
- Document Message#author as nullable (#3464) (d252ddf)
- ClientOptions: Document unit of restRequestTimeout (#3449) (4c08812)
- Fix voice broadcast example code (#3436) (3fcc862)
- Guild: Add missing features (#3406) (e562564)
- Fix typos (#3404) (d8516ef)
- VoiceStateStore: Document and type the class (#3294) (20d7b3d)
- Team:* Fix appliction -> team, tag -> mention (4c11347)
- Add zucc to docsite welcome page (#3355) (61e2e3e)
- RoleStore: Update -> create in create method (#3349) (6100ace)
- Presence: Document client property (#3342) (f82f0af)
- Client: FetchVoiceRegions returns a promise (6cd4c27)
- Guild: Add missing features (#3336) (19ef451)
- *Resolvable: Make them appear on the docs (4a2335c)
- Constants: Add missing GUILD_EMOJIS_UPDATE to WSEvents (#3325) (ddcc6cf)
Features
- Intents bitfield (#3844) (8a2f893)
- MessageEmbed: Support EmbedFieldData[] instead of EmbedFi… (#3845) (6650d50)
- Reimplement disableEveryone into disableMentions (9c8aaf1)
- GuildMemberStore: Add options.withPresences to fetch() (#3562) (de4b4a0)
- GuildManager: Allow for more options for GuildManager.cre… (#3742) (2ee0f1c)
- RichEmbed: Add toJSON returning an api-compatible object (97457e1)
- RichEmbed: Backport spliceFields and normalizeField (#3762) (6eaf63f)
- MessageEmbed: Re-introduce MessageEmbed#addField (#3850) (df88729)
- Replace disableEveryone with disableMentions (#3830) (9cb306c)
- GuildEmoji & Invite to GuildResolvable (#3637) (91a025c)
- Collector: Addition of resetTimer() (#3825) (acf724e)
- GuildAuditLogs: Handle new event types (#3602) (a69ebbe)
- MessageEmbed: Change toJSON method to return an api-compatible object (#3813) (4ec01dd)
- Bring embed builder field manipulation in line with underlying array functionality (#3761) (b727f6c)
- PartialGroupDMChannel: To support Invite#channel for group dms (#3786) (161f907)
- Guild: Add rulesChannel and publicUpdatesChannel (#3810) (b0aed05)
- Guild: Add rulesChannel and publicUpdatesChannel (#3810) (bea6da6)
- Add new MessageTypes (14 and 15) (#3812) (b0d0b81)
- Message:* Add missing fields, add support for flag editing (#3795) (7e9c995)
- Guild: Add support for system channel flags (#3793) (330c410)
- GuildChannel: Add support for clone options, deprecate old signature (#3792) (ab866d6)
- Add new MessageTypes (14 and 15) (#3812) (ef8acec)
- Message: Add support for flag editing / embed suppression (#3674) (46ee06b)
- Message: Throw a TypeError if delete is passed a non-object (#3772) (592021d)
- BitField: Add BitField base class (#3759) (46e8bc4)
- GuildAuditLogs: Handle new event types (#3760) (dbdb49e)
- Remove datastores and implement Managers (#3696) (bbdbc4c)
- Integration: Add guild integrations (#3756) (c955fd0)
- Constants: Add CUSTOM_STATUS to ActivityTypes (2589db6)
- Presence/Game: Multiple activities and custom status (#3747) (17b8b23)
- Collector: Add idle option (#3746) (ccd6043)
- MessageReaction: Add remove method and Client#messageReactionRemoveEmoji (#3723) (030d263)
- MessageReaction: Backport removeAll and MessageReactionRemoveEmoji event (#3741) (ab7f9e8)
- GuildMemberStore: Make timeout refresh after every GUILD_MEMBERS_CHUNK (#3645) (90aa5b3)
- Webhook: Backport missing properties (#3710) (30adb37)
- MessageReaction: Backport animated, client, created*, and url (#3711) (88b675d)
- MessageAttachment: Add spoiler getter (#3713) (4ca1864)
- Client: Add support for INVITE_CREATE and INVITE_DELETE events (#3720) (929ff9c)
- Client: Backport INVITE_CREATE and INVITE_DELETE events (#3728) (40afbc1)
- Guild: Add fetchBan method (#3726) (c779fe3)
- Guild: Add setBanner method and banner to edit (#3708) (01826ae)
- Message/Mentions: Implement caching of members (#3684) (0f49d67)
- Collectors: Make collectors auto-stop when relevant structures are deleted (#3632) (cbb8db3)
- Use updated eslint action (#3699) (d096e40)
- Presence: Add support for multiple activities (#3661) (ee0b7c1)
- Constants: Backport VerificationLevels and missing APIError codes (#3688) (07996d1)
- Dynamic property for ImageURLOptions (#3530) (8014ddc)
- Speaking: Add PRIORITY_SPEAKING bit (#3680) (b5825c3)
- Webhook: Add ability to change channel and specify reason to edit (#3587) (fbe9bc4)
- Permissions: Add any method (#3571) (367c800)
- Partials: Add DMChannel/MessageReaction#fetch() and PartialTypes.REACTION (#3474) (6af0da1)
- RichPresenceAssets: Add Twitch preview link for largeImageURL (#3655) (bf31b28)
- MessageMentions: Cache mentioned members (#3601) (97eac66)
- Webhook: Add type property and created* getters (#3585) (ea76a56)
- Widen GuildResolvable to include more structures (#3512) (b4f00bf)
- Guild: Add systemChannelFlags (#3559) (f578cce)
- Add new MessageFlags.FLAGS & User#system (#3603) (4378283)
- Webhook: Addition of Webhook#avatarURL function (#3625) (330d5db)
- Activity: Support for CUSTOM_STATUS activity type (#3353) (2ca74d6)
- GuildAuditLogs: Add new event types (#3584) (1bcc0c2)
- MessageAttachment: Add spoiler property (#3561) (38d370f)
- GuildMember: Add selfStream (#3522) (96037e1)
- GuildMember: Filter out duplicate roles when updating (#3502) (f91ad70)
- VoiceState: Add VoiceState#streaming (#3521) (a8f06f2)
- GuildChannel: Backport permissionsLocked getter (#3507) (2610bf5)
- External collection package (#2934) (dad0cd8)
- constants: Add verificationLevels (#3369) (37ecf7b)
- Partials: Add DMChannel/MessageReaction#fetch() and Parti… (#3261) (b0047c4)
- Guild#partnered (#3444) (6f83e71)
- VoiceState: Add kick method (#3462) (c86a615)
- Permissions: Add new method Permissions#any (#3450) (a6810e2)
- typings: Reply overloads for splitmessage (c5cbf86)
- Abort Requests that takes a lot of time to resolve (#3327) (e4309b2)
- Invite: Add targetUser(Type) (#3262) (d62db23)
- Util: Fix animated part of parseEmoji regex and make id optional (#3407) (b662678)
- Collector: Allow collectors to be consumed by for-await-of loops (#3269) (6d3c55b)
- Overload for split always returning an array (#3411) (5af8cb8)
- Util.splitMessage always return an array (#3035) (e645dd6)
- typings: Constants export (#2915) (547bf83)
- Collector: Add idle time for a Collector to stop itself (#2942) (f1433a2)
- Teams: Backport support for teams (#3357) (0cd7556)
- Guild: Add banner to edit method and add setBanner method (#3364) (adb0823)
- Teams support (#3350) (a22aabf)
- Emoji: Backport delete method (#3343) (c355236)
- Guild: Add support for premium/boosting (#3332) (b892436)
- Guild: Backport misc properties and setRolePositions (#3337) (e6a378b)
- Guild: Default iconURL to gif if animated (#3338) (1bec28b)
- Guild: Add setRolePositions method(#3317) (8bc8ffe)
- Add support for premium guilds (#3316) (c877580)
Refactor
- GuildChannel: Change overwritePermisions to accept an… (#3853) (e4f567c)
- Add some more consistency (#3842) (1af1e0c)
- Remove unused error in catch statements (#3820) (0a1b9a5)
- MessageEmbed: Simplify initialization of files property (#3814) (b347e9e)
- VoiceChannel: Use Permissions.FLAGS in speakable (#3780) (562b5bf)
- Remove
util alias export (#3691) (53a1f8f)
- TeamMember: Remove client from constructor (#3409) (ab27dd0)
- Move Guild#defaultRole to RoleStore#everyone (#3347) (2df4f22)
- Util.escapeMarkdown: Allow separate escaping and add tests (#3241) (00c4098)
- TeamMember: Make id a getter (d7b2146)
Styling
- Change let to const in MessageMentions (#3483) (d280d1b)
Typings
- Refactor how channel types are done (#3808) (d33fc74)
- WebhookClient: Client is not a client (#3838) (6109669)
- WebhookClient: Client is not a Client (#3829) (44ff67d)
- MessageEmebd: Fix typings for addFields (#3821) (54f24d1)
- MessageEmbed: Properly mark properties (#3822) (967b533)
- MessageEmbed: Add interfaces for props, fix copy constructor (#3492) (e57ef25)
- Invite: Channel can be a PartialGroupDMChannel (#3823) (28490e8)
- AddGuildMemberOptions: Change accessToken from String to string (#3815) (ecd8ccc)
- Constants: Add VerificationLevels (#3811) (f6075a6)
- Guild: Mark afkChannel* & applicationID as nullable (#3805) (f852308)
- Add invite events to WSEventType and constants (#3782) (6770c7c)
- GuildMemberManager: Fetch with no parameters returns collection (#3773) (149f72b)
- Add HTTPOptions#api and export Constants as a value (#3768) (fe7df70)
- Constants: Add CUSTOM_STATUS to ActivityTypes (a12e1e8)
- TextChannel: Topic can be null (#3687) (17237c7)
- RichPresenceAssets: *ImageURL's options are optional (#3727) (877577b)
- GuildEmoji: Id isn't nullable (#3694) (69c79a4)
- VoiceBroadcast: Add subscribers property (#3677) (45cd58b)
- Fixed build error (#3689) (62afafd)
- BaseClient: Remove delay parameter from setImmediate (#3667) (a53d865)
- GuildEmoji: Make url not-nullable (#3656) (155b682)
- ShardingManager: Add options.shardList (#3657) (c734979)
- Bitfield: Add hasParams to toArray, fix serialize's type (#3579) (fc27ce1)
- TextChannel.topic & NewsChannel.topic should be nullable (#3628) (e13b3f5)
- Extendable: Add missing channels (#3581) (7d74e7e)
- Bitfield: Use IterableIterator instead of Iterator (#3599) (f56b442)
- GuildAuditLogsFetchOptions: Specify concrete type of 'type' property (#3586) (cbde819)
- Util: Use StringResolvable (fixes old pull) (#3556) (99466a9)
- GuildEmoji: Restore deletable, remove inherited property deleted (#3543) (16db92e)
- Emoji: Remove deletable, add deleted, mark nullable props (#3542) (ca1bd61)
- Optional reason for setNSFW and add deleted properties (#3505) (a8e3657)
- Mark GuildMember#nickname as nullable (#3517) (94ce19d)
- Mark GuildMember#nickname as nullable (#3516) (3458693)
- Add missing rateLimitPerUser property (#3480) (7485550)
- Make TypeScript interaction with channels better (#3469) (d05334f)
- GuildChannel: Add members getter (#3467) (4072ffb)
- Client: Remove 'resume', add 'replayed' parameter to 'shardResumed' (#3455) (9e6a73d)
- DataStore: Correct return types for resolve, resolveID and remove (#3448) (745a0ea)
- Switch overloads of RoleStore#fetch (#3397) (7fae6e5)
- Guild: Add typings for setRolePositions (8e18572)
- GuildChannelStore: Add CategoryChannel as possible return value (#3326) (e87e4a6)
11.5.1 - (2019-05-29)
Bug Fixes
- Decode voice ws data as json (8652e47)
- StreamOptions#volume typings (#3303) (d34b624)
- Delete VoiceStates even for uncached members (db56e0c)
- Message#pinnable: You can't pin system messages (#3279) (8c213e9)
- Message#pinnable: You can't pin system messages (#3279) (abebeac)
- GuildMember: Do not create a channel key when editing (06b72ee)
- GuildMember: Do not create a channel key when editing (3ad16fa)
- typings: Guild#member can return null (#3274) (97de79b)
- READY: Do not overwrite Client#user when reidentifying (1bafa4b)
- WebSocketManager: Rethrow unknown errors when connecting a WebSocketShard (16fcfa3)
Deprecation
- Explicitly mark everything deprecated as
@ deprecated (#3307) (db492e6)
Documentation
- StreamDispatcher: Specify pausedTime is in milliseconds (#3295) (34006cb)
- ChannelCreationOverwrites: Revert incorrect rename of "id" property (#3273) (e3d03ad)
- TextChanne: Specify unit of rateLimitPerUser (#3272) (363cec3)
- TextChanne: Specify unit of rateLimitPerUser (#3272) (55447fd)
- Guild: Fix typo in example of createChannel (c844a7b)
Features
- Throw custom error for uncached Guild#me (#3271) (3f1232e)
Typings
- VoiceState: Add connection getter (#3292) (9ca36b8)
- Guild: Remove voiceConnection, add voice, cleanup rest (97f3b6c)
- Collection: Use T in accumulator and initialValue when reducing (#3284) (b3060ea)
11.5.0 - (2019-05-11)
Bug Fixes
- Partials: Client#event:messageUpdate(oldMessage) and MessageReactionAdd on guild channels (#3250) (0dd3ed7)
- Client: Type status and do not throw an error if accessed before login (67da457)
- WebSocketConnection: Stringify data when no websocket is available (60013b7)
- ClientUser: Lint (aa253d9)
- Typing map being reset for ClientUser (#3216) (4e0cf87)
- Not checking for guild when creating a channel (e0cfb7f)
- Channels being removed from guild.channels (4d7fc03)
- MessageCreateAction: Remove redundant GuildMemberStore#add call (39115c8)
- Guild: Only update emojis when they are present in the payload (6a07715)
- typings: Collection#find & findKey can return undefined (#3228) (3f6d08a)
- Old objects not being cached (#3225) (23e6414)
- Structures: Allow multiple extensions by checking prototype chain (#3217) (52b4f09)
- Emit resume event, silent disconnects, error event param (#3192) (1514df0)
- PresenceUpdateAction: Emit presences again (#3214) (cde955c)
- typings: Remove duplicated Guild#defaultRole (#3211) (39fd8fd)
- Guild: Sort roles with the same position in the correct order (#3184) (923c945)
- ApiRequest: Filter out null query values (00eb7e3)
- ShardingManager: Do not spawn the last shard early (bfab203)
- Remove GuildChannel fallback, and remove GuildChannel as extendable (#3165) (bb92289)
- Internal Sharding, this time fixed™ (#3140) (3f5161e)
- MessageReactionRemove not emitting for partial messages (#3125) (2341d13)
- APIMessage: Edit shouldn't remove content (#3129) (1673b6f)
- Role: Proper undefined check for data.permission when editing (579283d)
- Emoji: Reject explicit error when MANAGE_EMOJI permissions are missing (#3063) (45a17e7)
- Util: SplitMessage throws an error if a chunk is too large (#3060) (1618829)
- GuildMember: Add explicit channel resolve error to member edit (#3059) (a0ff72b)
- Sharding issues, silent disconnects and code cleanup (#2976) (793341d)
- Ensure VIEW_CHANNEL permissions before trying to join (#3046) (7324a99)
- WebSocketShard: Report correct resumed event count (#3019) (f2ed93c)
- Guild: Ignore voice states referencing an invalid channel (73aaab5)
- ShardClientUtil#id: Erroneously reporting as an array (8230255)
- TextBasedChannel: Added missing lastMessage functionality in textchannels (#2999) (7186c91)
- WebSocketShard: Add websocket send error handling (#2981) (5cbdf38)
- GuildBanRemove event name (#2983) (b5d5c69)
- Util: Throw an explicit error if a chunk exceeds the max length (#2936) (ecaec29)
- GuildChannel: Add explicit channel resolve error to member edit (#2958) (23a16c3)
- Sharding Issues & Cleanup (#2952) (9085138)
- ShardClientUtil#count and ShardClientUtil#id typedef (#2956) (e793338)
- (GuilChannel): clone method not taking overwrites into account (#2932) (980d71f)
- Client#userUpdate receiving wrong packet (08002d0)
- Client#raw emitting twice (7796cb5)
- Client#shards not being set properly (be0d1cd)
- VoiceConnection: Compare new speaking to old to avoid TypeError (01476de)
- VoiceConnection: Use Speaking#has to fire _stoppedSpeaking (#2896) (2ba0003)
- Client#voiceStateUpdate: NewState is guaranteed (1607612)
- Emit voiceStateUpdate on guildMemberRemove (#2892) (183ba25)
- Revert #2768 (#2848) (950abd4)
- Shard: Use DISCORD_TOKEN instead of CLIENT_TOKEN, see #2843 (73b9b0e)
- ClientPresence: Use possibly extended constructor from structures (6b810b2)
- typings: Fix compilation with 'strict' enabled (#2845) (21999fa)
- Webhook: APIMessage require should be a const (0ab69c5)
- Webhook: APIMessage is not circular, fixes WebhookClients (c0a9b08)
- Webhook#send not resolving content (53420fa)
- typings: Remove UserConnection, fix various constructors (1d77d1a)
- HTTPError: The path property should actually be the path (ead99a5)
- typings: Move static properties above methods (b1ce602)
- Emit ReactionCollector#remove when reaction is removed by collected user (#2803) (038b142)
- Guild#deleteEmoji: Reject non emojis / emoji IDs (#2793) (cd58599)
- Better global ratelimit management (#2801) (989c365)
- Reactions ratelimits (#2795) (f326fe6)
- GuildChannel#lockPermissions: Properties allow and deny always returning undefined (#2800) (1fc84a9)
- Private_channels always returns an empty array on ready (#2787) (9c2aeb7)
- Guild#addMember incorrectly resolving userID (93bf430)
- Voice not throwing errors on bad stream input (#2786) (6f62d7d)
- ClientApplication: Message#application is a partial ClientApplication (82993fb)
- webpack: Properly minifying (02f98cd)
- webpack: Properly emitting process deprecation warnings (7684ad3)
- Actually fix Readonly typos (928fb30)
- Typo in Activity#flags (c59d329)
- Disable getter-return (5523233)
- Pin & update deps (d3e7dbc)
- WebhookClient should handle ratelimits properly (4ee3cf0)
- RequestHandler: DiscordAPIError#path should be the path, not the route (d91deef)
- Pin peer-deps to the latest version we allow (ab0ede0)
- Pin dev-deps to a higher version to avoid problems with upath on node 10 (8afc1fa)
- GuildBanAddHandler: Not emitting guildBanAdd for uncached users (#2763) (e935611)
- Handle async stacks correctly (#2744) (3f81b61)
- Permissions: Permissions itself is a valid PermissionResolvable (5d889be)
- GuildAuditLogs: Default target to object with target_id (#2742) (700201e)
- Message: Properly check for an edited_timestamp in patch (616e0dd)
- Fix GuildMember#presence getter and cleanup (#2751) (6506252)
- Client: Do not redefine _timeouts and _intervals of BaseClient (#2748) (7525474)
- Util#cleanContent parsing of GuildMember (bb0700a)
- StreamDispatcher doesn't emit finish if ended while paused (#2648) (bfde1dd)
- Message passing empty data to GuildMember#_patch (edf9c44)
- GuildMemberStore now works with custom structures again (d276850)
- GuildMemberStore now patches existing members (#1870) (332e30d)
Documentation
- (Client): disambiguate the description of channels collection (#3251) (8915bc1)
- faq: Bump to node 10.0.0 (#3224) (f7f4607)
- Update node version requirement, npm install links, add update guide (#3220) (d177877)
- Collector: Specify the unit for
CollectionOptions#time (#3219) (bccbb55)
- WebSocketShard: Mark non-nullable parameters as non-nullable (#3209) (eb537b6)
- Presence: Add ClientPresenceStatus typedef (#3208) (d9a053d)
- Collection: Fix findKey jsdoc (#3204) (3cd224d)
- faq: Add a link to the guide, restructure a bit (#3082) (2af101e)
- Document constructors of extendible structures (#3160) (ca43919)
- Presence: Add missing descriptions to clientStatus (#3127) (5d10585)
- GuildEmoji: Add @ name to requiresColons and managed properties (97c196c)
- GuildChannel: Fix setPosition's reason type (#3199) (62cba2e)
- Role: Fix setPosition's reason type (#3198) (266ac1c)
- Mark getters as @ readonly (e62833b)
- RateLimitInfo#limit instead of requestLimit (#3132) (be2f788)
- Guild: Update createChannel examples to not use deprecated overload (32ad56a)
- MessageEmbed: Add missing type value (#3106) (4d3f766)
- GuildMember: Add missing @name to document user property (4289b18)
- Structures: Note about extending prior to instantiating client (#2884) (db3ae01)
- Examples: Fix usage of removed overload of Collection#find (#3027) (3dff505)
- Client: Add missing example tag and closing parenthesis (#3024) (3b7b282)
- Client: Add missing parenthesis in fetchInvite example (#3023) (5ed2a95)
- Guild: Use 'updated' variable in example for setRegion (28db527)
- Guild: Use AuditLogAction for fetchAuditLogs' type option (46fd7b0)
- Webhook: Add mising '@name' to Webhook#token's docstring (89a9b93)
- Webhook: Add mising '@name' to Webhook#token's docstring (840d22f)
- (TextChannel): add documentation for messages and lastMessage (#2986) (2aa8e1d)
- Move event docstrings to the emitting line of code (fd21bbb)
- Add documentation for Client#channelCreate (#2967) (1d1b3f2)
- GuildChannel: Fix doc string for clone method (377ecd7)
- GuildChannel: Add rateLimitPerUser to ChannelData typdef (6aa7792)
- Restore Client#error docs that went missing (3418b5a)
- Add missing docstring for Client#guildDelete (b59c75e)
- Add missing docstring for Client#userUpdate (#2930) (905f1c3)
- ClientUser: Fix example for setActivity method (#2880) (fd25d19)
- Collection: Clarify example for tap method (#2881) (78c4be5)
- Game: Document possible values for type property (b92f8d9)
- Integration: Document Integration class (1428967)
- Fix typos (#2868) (d8c97be)
- Correct default value for SplitOptions.maxLength in Util#splitMessage (#2847) (3298ea1)
- MessageAttachment: Redocument name property (3f44320)
- Client: Fix syntax error in fetchInvite example (d2da771)
- User: Clarify what User#tag represents (9de3e09)
- ChannelPinsUpdate: Clarify time param (#2823) (9c2924a)
- GuildChannel: Permissionsfor returns a nullable readonly Permissions instance (6b9dd13)
- Add docstring to HTTPError (f75b80d)
- Correct Guild#memberCount (#2812) (da2d4d7)
- Added
url to Invite's warning comment (#2804) (b83fdbf)
- Emoji: Fix typo of the word "emoji" (#2791) (469fbe2)
- User: Fix hydrabolt's tag (#2747) (0ad7c24)
Features
- GuildMember: Add support for voice kicking (#3246) (ee42bdf)
- Actions: Use partials for messageDeleteBulk (#3240) (176fc47)
- VoiceState: Self mute/deaf methods (#3243) (692494d)
- VoiceConnection: Add .voice (ce1e3d2)
- MessageStore: Add remove() (#2468) (2666a9d)
- Public raw events (#3159) (9b0f4b2)
- VoiceChannel: Add editable (#3173) (870528e)
- Partials.GuildMember: GuildMemberRemove & Guild#me (#3229) (23191da)
- Invite: Add deletable getter (#3203) (c4b7957)
- Sharding: Change
waitForReady to spawnTimeout (#3080) (01c708b)
- Util: Resolve text parameter of splitMessage to a string (#3212) (abd9d36)
- MessageEmbed: Resolve color in embed constructor (#2912) (52bc5b0)
- Util: Add YELLOW to ColorResolvable (#3182) (520810d)
- Webhook: Add url getter (#3178) (c078682)
- Guild: Add fetchBan and withReasons to fetchBans (#3170) (5cd6d8d)
- MessageStore: Add cache parameter to fetchPinned() (#3154) (9b2bf03)
- MessageEmbed: Add missing proxyURL property to video (#3109) (7006f00)
- RichEmbed: Add timestamp support for setTimestamp (#3061) (49e8bd9)
- Guild: Add position to createChannel's implementation (#3058) (7bc2e23)
- RichEmbed: Add length getter (#3057) (890b1be)
- Presence: Add clientStatus (#3056) (a2a0c05)
- Util: Add WHITE as color resolvable (#3062) (5272cec)
- RoleStore, ChannelStore:
fetch() method (#3071) (c432591)
- Constants: Add error code 50020 (#2953) (359ddaf)
- Presence#clientStatus (#2997) (75e264d)
- MessageEmbed#length (#3003) (1db7899)
- GuildChannelStore: Add support for create to accept a position (#2965) (21ec031)
- GuildChannelStore: Add support for create to accept a position (a8b47a7)
- GuildChannel: Allow to set all options when cloning (#2937) (d92ee2f)
- Constants: Add error code 50020 (#2953) (54aff31)
- Internal sharding (#2902) (f3cad81)
- Emoji: Move createdAt and createdTimestamp getters from GuildEmoji (#2872) (71c04a3)
- ClientUser: Allow options as first parameter to setActivity (#2890) (1ee417c)
- GuildChannelStore: Support for create with rateLimitPerUser (#2878) (8ec3b51)
- MessageEmbed: Add spliceField method (#2857) (8feb874)
- MessageEmbed: Allow setTimestamp to take a timestamp (#2875) (1fe3608)
- TextChannel: RateLimitPerUser (#2811) (d4c0bb2)
- TextBasedChannel: Add lastPinTimestamp and lastPinAt (#2813) (e96a603)
- Add ClientOptions#retryLimit (#2805) (be4d6f9)
- Guild Integrations (#2760) (c4df027)
- GuildEmbed support (#2766) (5787dee)
- Handle and forward WEBHOOKS_UPDATE events (#2762) (0401b8a)
- Add guild.fetchVanityCode() (#2732) (f8057b0)
Refactor
- ClientVoiceManager: Make public, remove Client#voiceConnections (#3186) (70d4b44)
- WebSocket: Utilize URLSearchParams (#3185) (152d2e8)
- APIRequest: Utilize URLSearchParams (#3180) (5e9bd78)
- User: Avoid invoking dmChannel getter more than once per method (#3108) (fe5563e)
- Consistently use permissionOverwrites over overwrites (#2886) (6e5f088)
- WebhookClient: Make token property non-enumerable (#2861) (96a0655)
- Comprehensive permissionOverwrites refactor (#2818) (3d8207a)
- Remove duplicate send checks (#2790) (6d18425)
- Clean up rate limit handling (#2694) (13f46b9)
- Rewrite message creation (#2774) (19c298f)
- BitField: Base class for Permissions, ActivityFlags, Speaking (#2765) (c62f01f)
- Typings for voice state and presences refactor (9b5df57)
- Merge typings into 11.4-dev branch (efc8445)
Testing
- Add Webhook(Client) testing file (#2855) (cbb9b14)
- Add typings lint runner to test script (68c8329)
- lint: Update typings lint script (3b91fa0)
- lint: Fix typings lint errors (5fdd3a5)
- Fix typings lint script (29d51fa)
Typings
- Presence: Add missing guild property (8b83e2f)
- GuildChannel: Add manageable getter (12e041b)
- Collection: Add missing thisArg to partition (#3167) (4b6e8fc)
- Collection: Add typings for partition (#3166) (831f988)
- Guild: Add missing defaultRole property (#3126) (1207c24)
- Convert types to interfaces where applicable (#3068) (bc0a761)
- SnowflakeUtil: Add optional "timestamp" parameter to generate (#2998) (8b602eb)
- ShardClientUtil: Fix
id property type (#3054) (ae72690)
- GuildCreateChannelOptions: Added missing properties (#3052) (d98d464)
- Add missing ImageSize numbers (#3045) (2dcdc79)
- TextBasedChannel: Fix create(Message)Collector's options type (17ca836)
- Guild: Fix typos in method names (9d83516)
- TextBasedChannel: Add
Snowflake[] overload to bulkDelete (#3001) (8a76cc5)
- SnowflakeUtil: Add optional "timestamp" parameter to generate (#2998) (8286d1a)
- RichEmbed: Add MessageEmbed as valid data in constructor (351f0a3)
- Add Guild#shard and Guild#shardID (6b886b0)
- MessageEmbed: Add spliceField and static checkField methods (4491b7b)
- Collection: Each return Collection<K, V>, not void (27d2ce7)
- Fix lint script and linter errors (fcf4745)
- Add HTTPError class definition (#2852) (60ad905)
- Message: Member property is a readonly getter (2cc0a31)
- Add declaration of Message#url and MessageAttachment#size (#2821) (b068abb)
- GuildChannel: PermissionsFor's return value is nullable (75745fe)
- Clean up permissionResolvable (2e2c9c4)
- Add WEBHOOKS_UPDATE (bd14d5d)
- Fix PermissionResolvable typedef, allow resolving of Readonly<BitField> (55c58b6)
- Guild: Add fetchVanityCode (7546ca3)
- VoiceState is extendable (e7ee8d2)
- Remove UserFlags and ClientApplicationCreateAssetsOptions (58ce082)
- VoiceRegion: Remove no longer existing sampleHostname (c966aa2)
- VoiceConnection: Receivers is now receiver and no longer an array (6841b4e)
- Remove user bots (5942e8b)
- Make PermissionResolvable recursive (f5b3dff)
- Client: VoiceStateUpdate now always has an old state (9a95b6a)
11.4.1 - (2018-08-12)
Bug Fixes
- ClientDataManager: Replacing channels unecessarily (d772bff)
- PresenceStore: Pass user id as extra (#2733) (b7e61f2)
- Util.basename being unreliable (#2679) (0f63c50)
- Collection: Use Symbol.species for creating derived collections (#2715) (ce8a679)
- RichEmbed#_apiTransform fields (7126cad)
Documentation
- Update for 11.4.0 (#2727) (8b1bb95)
- Client: Actually fix rateLimit's event params (8adfc97)
- Fix client#rateLimit parameters (0e370d7)
11.4.0 - (2018-08-09)
Bug Fixes
- Collection: Use
new this.constructor instead of new Collection (#2709) (c10b4fe)
- Wrong _patch call from GuildEmoji#edit and other issues (#2673) (4ae58f6)
- Shards not receiving regular messages (88616ea)
- Emoji#fetchAuthor: Reject with Error rather than TypeError (4a9c2f8)
- GuildEmoji: Added a check for managed emojis in fetchAuthor (#2645) (f963621)
- MessageReaction: Only delete reaction if cache and count is empty (#2661) (3a7a7d7)
- Invite: Support for group dm invites (#2603) (3680661)
- GuildAuditLogs: Default to PartialGuildChannel if channel deleted (#2605) (886c212)
- ShardingManager: RespawnAll shard iteration (f67d682)
- Message: Keep reply option when replying with an embed or attachment (1d9edec)
- Message: Keep reply option when using an embed or attachment (5268320)
- Webhook: Import Channel correctly (077d41f)
- Shard: Actually remove default execArgv (938d87d)
- Client: Login catch (a667e44)
- Client: Login not properly rejecting on invalid token (448f384)
- TextBasedChannel: BulkDelete should not return non-Promise (72346fb)
- RequestHandler: Provide proper route and method (2694c0d)
- Shard: Allow node to default to process.execArgv (93f8c85)
- Instantiate constructors before using those properties (92e2c3c)
- Util: Circular reference (41a1dee)
- Typo in src/errors/messages.js (#2631) (f711aa3)
- Shard: Fix default args (6b3bfdd)
- Ratelimits (#2615) (58e5017)
- BasePlayer: Incorrectly mutating FFMPEG_ARGUMENTS when using seek (#2622) (bf738b3)
- Do not cache webhook users (#2611) (8a3ae87)
- ShardClientUtil: Send method erroneously rejecting (#2604) (c5fea45)
- ShardClientUtil: Send method's promise erroneously rejecting (#2604) (493ba73)
- Messages: Undeleting themselves (#2570) (037e8cf)
- GuildMember: Mark joined as nullable (ecf6e2b)
- GuildMember: Account for joinedTimestamp as well (5071477)
- GuildMember: Mark joined as nullable and fix fetching for these cases (13bfceb)
- VoiceChannel: Deletable erroneously returning true (0387d34)
- VoiceChannel: Deletable erroneously returning true (0be0d25)
- GuildMember: Invalid Date (46b19bb)
- Guild: Equals method modifying features array of guild (#2544) (d02c303)
- RequestHandler: Only retry once on 5xx (#2471) (14aab1b)
- ClientUser: Correctly resolve nicks to an object in createGroupDM (f23b617)
- docs: Remove duplicated Collection#findAll docstring (f921261)
- Burst request mode hanging permanently (3790619)
- Guild: MemberCount not decrementing when an uncached member leaves (15a8e17)
- ClientDataResolver: Always resolve with a buffer when fetching a file (ae28f52)
- Role: Allow role color to be removed (2f2e281)
- Collector: Increase and decrease max listeners dynamically (60288d0)
- GuildEmoji: Verify MANAGE_EMOJIS permission from Guild#me (6cde6de)
- Prevent max listener problems with collectors (#2521) (32369f3)
- RESTMethods: Remove listener from correct event (#2534) (a89de09)
- Webhook#edit attempting to use client.channels always (f293ddd)
- ClientUser: SetActivity should resolve with a Presence (a85d801)
- GuildMember#toJSON not having roles (#2520) (5acf406)
- Added everyone role to GuildMemberRoleStore#_filtered (#2514) (934e90b)
- OpusEngineLinst: Throw a descriptive error when not funding an opus engine (33a4232)
- Util: Reject with a meaningful error instead of throwing one (44fefdf)
- GuildEmoji#clone (64caa33)
- GuildMemberRoleStore#remove (30d43ef)
- TypeError in mixin function (#2506) (95b5317)
- MessageEmbed: Correct docs, default to array, resolve MessageAttachments (#2492) (e12ab74)
- Use Object.keys instead of Object.values for node 6 (#2487) (feb0991)
- RestMethods: Typo timeout -> timed (ff671b2)
- MessageEmbed: Avoid throwing error when accessing colorless hexColor (b60ee25)
- Message: Do not update editedTimestamp when there is none in the payload (3ba26ad)
- RESTMethods: Verify correct member in add and remove role listeners (de78a8d)
- MessageDeleteBulkAction: Remove bulkDeleted messages from cache (7c37a0d)
- Client#generateInvite resolving permissions incorrectly (c387e96)
- Client#generateInvite resolving permissions incorrectly (8d065fa)
- Role#setPermissions resolving & docs (7c0b617)
- GuildChannel#setTopic not nullable (92b4216)
- ClientManager: Patch ClientUser's presence with ClientOption's one (#2458) (61ad947)
- Webpack building and upgrading to webpack 4.5 (f247484)
- StreamDispatcher: Only update speaking for non broadcasts (#2437) (e845758)
- Guild: Remove member's voice state on guildMemberRemove (b955a51)
- Role: Allow edit method to null the color (#2447) (f985b6b)
- GuildChannel: Always return a boolean from the manageable getter (e431ccd)
- GuildEmojiRoleStore: Do not prematurely patch roles (d041cb2)
- MessageReaction: Do not increment count twice for own user (513dbf2)
- GuildemojiStore: Allow resolving of external ReactionEmoji (0f7ce3f)
- Convert lastMessage to getters (#2384) (630009f)
- DataResolver: Always resolve with buffer when resolving urls (8541348)
- GuildMemberRoleStore: Make remove role remove roles again (3e6c310)
- GuildMemberRoleStore: Only update roles after successful request (3f6a0e4)
Documentation
- Small changes regarding permissions/overwrites (#2718) (bafbee9)
- Change for GuildChannel#replacePermissionOverwrites (#2714) (af6d649)
- Implement #2707 on master (5980d04)
- RichEmbed: Timestamp is actually a Date (c7f379f)
- ShardingManager: RespawnAll actually resolves with a collection of shards keyed by numbers (4a48a7d)
- Added sizes 16, 32, 64 (#2666) (c46cbbf)
- Client: Clarify messageReactionRemove event's user description (#2657) (717e7f0)
- Client: Clarify messageReactionRemove event's user description (#2657) (a97b504)
- Improvements in various places (3d82ca9)
- Guild: MemberCount is not as of ready (#2621) (de408d7)
- Only cached messages emit reaction events (#2607) (7ce1d16)
- GuildMember: JoinedAt is nullable (bd3d8d4)
- Add video to MessageAttachment properties (#2608) (791f58e)
- Document lastMessageID for TextChannel and (Group)DMChannel (#2602) (e7eab42)
- Document lastMessageID for TextChannel and (Group)DMChannel (#2602) (507cce3)
- Last english fix for now (ba9a93b)
- Fix english because english is difficult (eb4607c)
- Wording improvements (5eff360)
- Add examples & improve notices (dfbd4bd)
- Add examples & improve notices (c699888)
- Guild: Handle error in example of fetchInvites correctly (#2568) (13880fe)
- Guild: Handle error in example of fetchInvites correctly (#2568) (27fcb64)
- Collection: Make findKey method show up in docs (56a9d1b)
- Using deprecated version of find (6070b22)
- Permissions (b2d1cb6)
- RateLimit event (6f02be2)
- Role: Change 'the this' to this (typo) (#2377) (e5e59cc)
- ClientUser: Correct warning for createGuild method (9264511)
- GroupDMChannel: Fix top 'an user' -> 'a user' (54fa5f6)
- Collection: Fix spelling of 'behavior' (#2529) (b757f9e)
- Collection: Fix spelling of 'behavior' (#2529) (17d2c2e)
- Consistency (745669a)
- (backport) Bring the main doc pages up to date, and add more examples (#2094) (d7e7803)
- Inconsistencies (b8a9a76)
- Inconsistencies (ec9211c)
- GroupDMChannel: Fix grammar
an user -> a user (#2482) (2dd7fd2)
- Fix a number of spelling mistakes (#2469) (8551b89)
- GuildStore: Correct warning for create method (#2453) (2bf68dc)
- Fix missing parameter type/description from #2193 (#2396) (acd1740)
Features
- Add new Permission PRIORITY_SPEAKER (#2698) (b38f537)
- Message: Add url getter (#2594) (ba32eec)
- Add support for Guild#setDefaultMessageNotifications (#2624) (95b2dd3)
- ShardingManager: Add execArgv option (#2585) (bfbb723)
- Guild: Add support to edit
defaultMessageNotifications level (#2592) (270a278)
- User: Add locale property (#2571) (bce9a8a)
- Add "deleted" property to multiple structures. (#2556) (f0c4d0e)
- Shard#kill method (#2454) (fc81924)
- Collection: Backport partition method (f456f4c)
- Collection: Add tap method (#2507) (de7d90a)
- Collection: Add sweep method (#2528) (2b6592e)
- GuildMember: Add manageable getter (9bb8831)
- GuildChannel: Add fetchInvites method (9904167)
- Emoji: Add fetchAuthor method (dd7eedb)
- Game: Add toString method (c0ca73a)
- GuildChannel: Add setNSFW method (54913d9)
- Guild: Add verified getter (#2027) (9169958)
- ClientDataResolver: Add 2 basic role colors (96b115e)
- Permissions: Add valueOf method (#2363) (2d83126)
- Emoji: Add deletable getter (ed8ab91)
- GuildEmoji: Add deletable getter (#2535) (fca6d3b)
- ClientDataResolver: Account for discord.gg/invite/
invites (21326f6)
- Add Collection#sweep() (#2528) (7a3a4d1)
- Add Collection#tap (#2507) (9f91819)
- DiscordAPIError: Backport method property (#2536) (8700e96)
- DataResolver: Account for discord.gg/invite/
invites (ddab809)
- DiscordAPIError: Add method property (#2530) (62605c4)
- Allow sweeping of inactive request buckets (b5f3772)
- SnowflakeUtil: Allow snowflakes to be generated dynamically (d9a091f)
- GuildChannel: Add manageable getter (#2439) (49ad8cc)
- Guild: Add mfaLevel property (#2451) (7b9e84d)
- GuildChannelStore: Add topic to create options (#2488) (c9c2d66)
- SnowflakeUtil: Allow snowflakes to be generated dynamically (#2459) (f6216f3)
- Guild: Add mfaLevel property (#2451) (b3ff7c7)
- GuildChannel: Add manageable getter (#2439) (ef4bd92)
Refactor
- Move Message#cleanContent function to Util (#2703) (f3d7f7c)
- Remove user bot methods (#2559) (5afd77a)
- Webhook: Make token not enumerable (#2566) (e0378cf)
- MessageMentions: Make client, guild, and _content non enumerable (e8ab049)
- RESTManager handlers to use collection (#2539) (99bd355)
- Remove unnecessary Collection methods and add Collection#partition (#2511) (a732402)
- VolumeInterface: Remove usage of deprecated new Buffer (#2531) (bd9c9ce)
- Improve sweep performance (bd83bb9)
- Tidy up _inactive check (27a0f48)
- Role stores (#2478) (8b83553)
11.3.2 - (2018-03-04)
Bug Fixes
- ws: Set correct ratelimit remaining after reset or destroy (#1806) (c8f78b2)
Documentation
11.3.1 - (2018-03-03)
Bug Fixes
- RichEmbed timestamp cloning (8f9e911)
- BulkDelete discarding non-cached messages (363ead9)
- GuildAuditLogs using Guild#fetchInvites (acdf43a)
- Export CategoryChannel (f64e924)
- StreamDispatcher: Remove gratuitous parentheses (f2c5714)
- Activity: Ensure that timestamps are actually numbers (464fc14)
- If present, wait for libsodium-wrappers' ready to support v0.7.3 (c6f92c1)
- StreamDispatcher: Emit volumeChange event when the volume changes (#2349) (c25ea45)
- ReadyHandler: Don't create new guild instances for already existing guilds (dc92582)
- StreamDispatcher: Do nothing when resume is called when not paused (05c5bdc)
- Build with node 8 (2254a3e)
- Add node 8 to build (da14e33)
- Webpack minified and bump deps (a7b46be)
- Properly fix minified builds (5583e70)
- Dont require snekfetch supplemental because they are not a thing anymore (8e60743)
- Npm scripts (332558a)
- VoiceChannel: SetUserLimit defaulting to wrong value (40a2f09)
- StreamDispatcher: Properly check that timestamp fits in 2^32-1 (#2325) (8ee2788)
- AudioPlayer: Add opus to destructured key of stream options (96904b1)
- ClientApplication: CreateAsset incorrectly resolving image and posting (234648b)
- Add clone methods to GuildMember and GuildMemberRoleStore (32e2dd2)
- MessageEmbed: Remove length checks (#2304) (9810bdb)
- resolveColor: Not interpreting DEFAULT correctly (d46eec4)
- resolveColor: Not interpreting DEFAULT correctly (52c402f)
- Nullable activity (bd154bd)
- Webhook#send: Incorrect docs + return (e978253)
- RoleStore: Create method is supposed to take an options object (048e147)
- Require discordjserror to throw meaningful errors where necessary (07c48a6)
- startTyping: Return, to not overwrite already existing entries (8df1ac9)
- Guild: MemberCount not decrementing when an uncached member leaves (93e083d)
- client#voiceConnections: Incorrect docs description (#2280) (00e2f39)
- CategoryChannel: Set the type to 'category' and document its type (b5ff309)
- GuildMember: Make edit method only modify a copy of the voice state (fbd25f8)
- WebSocketConnection: Make errors in event handlers throw again (a22b856)
- guild#createRole: Incorrect guild reference (932980e)
- Missing height & width in embeds (#2249) (351f5f7)
Documentation
- Document the messages property for all TextBasedChannels (#2373) (069dccf)
- Examples & improvements (24571e4)
- Incorrect returns (96e88f3)
- Improvements & examples (fcdffcf)
- Message#type (38f5288)
- WIP: Bring the main doc pages up to date, and add more examples (#2094) (9f89252)
- Remove trailing commas (b79722a)
- Trailing commas (2b24b10)
- Improvements (af35175)
- Add links for the guide (#2346) (0ec53c9)
- Add links for the guide (#2346) (dc6bce1)
- Add TypeDef for MessageActivity (#2321) (4336317)
- ClientUser: Mark email field as user account only property (#2306) (31873eb)
- ClientUser: Mark email field as user account only property (#2306) (1f14758)
- Doc changes (2e0048a)
- Fix VoiceBroadcast documentation (#2277) (8a2ace4)
- Fix streamdispatcher documentation (#2275) (edc4e2b)
- Fix attachFiles() docs (#2267) (19591b0)
- Collection > RoleStore (#2251) (a3be0f3)
Features
- Allow multiple permission overwrites when editing channel (#2370) (b637c9c)
- GuildChannel: Add fetchInvites method (#2339) (47bc0fc)
- ShardClientUtil#broadcastEval: Allow promise resolve (#2328) (66c0512)
- ClientOptions: Add support for setting an initial presence (#2320) (87e5a45)
- Add GuildEmoji#fetchAuthor (#2315) (e0cbf0b)
Performance
- Collection: Performance improvements (#2342) (b7851ba)
- Collection: Performance improvements (#2342) (a817295)
Refactor
- Move member role-related functions to a special store (#2242) (00172e6)
- GuildMember#manageable: Refactored kickable and bannable (#2211) (36555c1)
- Tidier overflow checking in StreamDispatcher (83640a2)
11.3.0 - (2018-01-13)
Bug Fixes
- Message#addReaction: Incorrect regex (#2247) (f62fa05)
- Stream dispatcher throwing key error due to missing secretKey (8cab673)
- avatarURL: Gifs not being animated (#2195) (d94ead7)
- voiceStateUpdate: Incorrect members.size (#2231) (8226752)
- Allow the Util#parseEmoji regex to match emoji identifier (#2229) (2318812)
- verson: Update package.json (#2196) (b6c89ef)
- Guild#createChannel: Default type to 'text' (#2184) (4063a3a)
- bulkDelete: Stop rejections when filterOld=true (#2178) (6683c40)
- Guild#createChannel: Default to text (#2168) (9f0417c)
- CreateMessage: Reassigning wrong content (#2169) (1598efa)
- CreateMessage: Fix attachment and array sending (#2158) (443961c)
- UserGuildSettingsUpdate: Not creating settings with new guilds (#2150) (1c34819)
- VoiceChannel#edit: Incorrect bitrate (#2144) (d705a0c)
- guild#createChannel: New channel returning null (#2143) (fb6d14d)
- GuildAuditLogs: Backport (#2123) (e40c3f8)
- DMChannel: Messages not being cached (#2122) (22da595)
- GuildMember: Permissions.missing is not a function (#2118) (b274dba)
- Shard: Extend EventEmitter to be able to emit events (#2112) (6fa4fc5)
- Split/Webhook: Readd message chunk sending and fix webhook avatar/username (#2085) (05a41b5)
- Guild: Correctly resolve user in Guild#addMember (#2090) (21d09f3)
- TextBasedChannel: Return a promise in startTyping and clarify count parameter (#2047) (94a4a06)
- Presence: Pass client and default to offline (#2071) (a62d1e9)
- GuildMember#hasPermission: Pass correct parameters to Permissions#has (#2070) (cd3d334)
- Client: Login wasnt using env.token (#2060) (0277d1d)
- MessageBulkDeleteAction: Remove deleted messages from cache (#2046) (356778b)
- GuildDelete: Disconnect voice and cleanup GuildChannels (#2026) (fa3eee8)
- GuildAuditLogs: Incorrect webhook reference (#2004) (8fbae13)
- setPosition: RawPosition never getting updated when setPosition was called (#2006) (f178f9b)
- Role: SetPosition typo (#2003) (b462a7b)
- SetPosition taking wrong IDs and edit with position 0 breaking (#1989) (743668a)
- createChannel: Add support for more properties and fix overwrites optionals (#1983) (cc8060c)
- MessageEmbed: Don't send 'files' as part of the embed (#1982) (1537dd7)
- ClientManager: Reject login with proper error on timeout or on connection failure (#1947) (3ace61a)
- Reactions: Make MessageRection#id again null for default emojis (#1940) (25ece18)
- EmojiStore: Return super.create in the create method (#1932) (cc0b65d)
- DataStore: Make resolveID work properly (#1927) (fc1e78e)
- MessageEmbed: Deep copy fields and fix files when passed into constructor (#1864) (63f6247)
- Guild: Fix setChannelPositions method (#1900) (41c4999)
- Errors: Throw DiscordjsErrors where one would expect them (#1905) (e34bd7c)
- WebhookClient: Use applyToClass instead of multiple inheritance (#1896) (694f78c)
- Voice websocket sending (2305311)
- Minified webpack builds (9e66e80)
- Client: Apply shardId and shardCount to the correct options object (#1888) (bb4fe25)
- MessageStore: Fix fetchPinned method and add notice. (#1881) (ea1949a)
Documentation
- Fix guildChannel#toString() example (#2203) (e883afa)
- Improve examples (#2200) (c798230)
- Improve examples (master branch) (#2209) (45127bb)
- setParent: Docs update and nullable channel param (#2160) (4f8f208)
- Remove leftover docstring from 11.2 (#2115) (efd1c4c)
- Fixed some missing docstrings or incorrect return types (#2093) (0cd4a92)
- Add Guild#features type (#2105) (2d8e26c)
- Add/normalize .toString() docs on all classes (#2042) (1a8e8c7)
- Change repo for erlpack (#1992) (fc43736)
- Small doc improvement for PermissionOverwrites (#1964) (26c978c)
- Fix some small typos or "missing" docs (#1943) (eb591da)
- Improve documentation (#1898) (0607720)
- Collection first, firstKey, last, lastKey (a8df63a)
Features
- Backport animated emojis support (#2217) (659e89e)
- Backport after and before parameter when fetching a reaction's users (#2218) (db5bdcd)
- ClientUser: Deprecate ClientUser#setGame in favour of ClientUser#setActivity (#2127) (cd06684)
- CategoryChannel: Backport (#2117) (cce2480)
- Webhook: Allow to edit the channel of webhooks (#2039) (d8850db)
- MessageReaction: Add after option when fetching users who reacted with an emoji (#1882) (f40a5e9)
Refactor
- More oop with stores (#2216) (9eac19d)
- Actions: Remove obsolete user and guild member get actions (#2061) (cd08a3b)
- Remove redundant Client#rest and obsolete RESTManager#destroy (#2022) (68a3058)
- Make use of destructuring for Constants (#1942) (ec4c987)
- Attachment: Merge MessageAttachment with Attachment (#1894) (d6b276b)
11.2.0 - (2017-09-03)
Bug Fixes
- Made options.type optional in ClientUser#setActivity (#1875) (39013b1)
- Guild: Passing the constructor partial data from an invite no longer errors (#1868) (1bdaa62)
Documentation
- Collection: Adjust exists documentation (#1876) (efbde07)
Features
- Add DiscordAPIError#path and fixed Burst request handler handling api errors (#1867) (95e22c2)
Refactor
- DataStores: Move instantiating of store related classes into their date stores (#1869) (c4b5736)
- Emoji: Remove Guild#deleteEmoji in favour of Emoji#delete (#1877) (c93c4ad)
13.15.1 - (2023-04-07)
Bug Fixes
- Message: Fix permissions check in locked threads (#9338) (a8d5325)
- ClientUser: Fix modifying self (#9318) (09ca243)
- Typo in
src/util/MessageFlags.js (#9312) (8f12054)
- AutocompleteInteraction: Fix responding (#9315) (f79a9b5)
13.15.0 - (2023-04-02)
Bug Fixes
- ThreadChannel: Fetch starter message properly (#9217) (af6a0e5)
- Actions: Inject built data by using a symbol (#9204) (df68520)
Features
- Backport
chatInputApplicationCommandMention (#9245) (51c3bf1)
- Add support for gif stickers (v13) (#9158) (4bc25c4)
- V13 support
SUPPRESS_NOTIFICATIONS flag (#9184) (120270e)
13.14.0 - (2023-03-12)
Bug Fixes
- ThreadChannel: Fetch starter message properly (#9217) (af6a0e5)
- Actions: Inject built data by using a symbol (#9204) (df68520)
Features
- Add support for gif stickers (v13) (#9158) (4bc25c4)
- V13 support
SUPPRESS_NOTIFICATIONS flag (#9184) (120270e)
13.13.1 - (2023-02-21)
Bug Fixes
- Constants: Enum creation error (#9155) (224f21c)
13.13.0 - (2023-02-21)
Bug Fixes
- Minor forums cleanup (#9033) (eed293f)
- InteractionResponses: Spell
messages correctly (#9080) (123d0f1)
- ThreadChannel:
reason as second parameter (#9023) (a941cb6)
- Import errors correctly (#9030) (6457519)
- websocketshard: Backport zombie connection fix (#9003) (56e6718)
- Util: Flatten ignoring certain fields (v13) (#8936) (4ec3355)
- Backport allow deletion of ephemeral messages to v13 (#8811) (98846cf)
- Activity: Fix equals() not checking for differing emoji (v13) (#8842) (eecc50b)
- escapeMarkdown: Fix double escaping (v13) (#8799) (caf6f66)
- Fixed TS 4.8 compatibility (#8601) (e6ee7d8)
Documentation
- ThreadEditOptions: Move info tag back to
invitable (#9021) (cf3c7a7)
- Add missing
@extends (#9028) (1779e1b)
- Update UserContextMenu documentation v13 (#8721) (ea117bf)
- Update misleading
Client#guildMemberAvailable event description (v13) (#8627) (fcd52d7)
Features
- WebSocketShard: V13 add resume url (#9078) (0188e36)
- V13
guildAuditLogEntryCreate event (#9092) (84d34dc)
- Constants: Add auto moderation events to WSEvents (#9102) (61fa6f4)
- Role subscriptions (#9040) (0afa405)
- GuildChannelManager: Add
addFollower (#9050) (86329ad)
- Guild: Add
INVITES_DISABLED feature support (#9051) (69d71e9)
- ClientApplication: Add role connections (#9072) (a7dc40f)
- Webhook: Add
channel getter (#9074) (32cdaff)
- GuildMember: Add
flags (#9098) (d69529e)
applicationCommandPermissionsUpdate event (#9121) (c2968b5)
- Backport automod (#8886) (4287983)
- GuildAuditLogs: Support
after (#9012) (f0d4264)
- Backport guild forum support to v13 (#8651) (546ac43)
- Add
Message#bulkDeletable (v13) (#8761) (ca662b4)
- InteractionResponses: Add message parameter (v13) (#8838) (0e0851a)
- Util: Backport
escapeMarkdown PRs to v13 (#8703) (8a6588a)
- GuildBanManager: Add
deleteMessageSeconds (#8575) (ca68fc3)
Refactor
- Move
me and add fetchMe() (#9029) (b01c81d)
Typings
- ThreadEditOptions: Add
appliedTags (#9022) (6854df4)
- widget: Add missing
name (#9031) (35f6dad)
- Swap message reaction and emoji identifier types (#8970) (6490580)
- GuildChannelManager: Correct fetch return type (v13) (#8551) (f4e8133)
13.12.0 - (2022-10-10)
Documentation
- Update UserContextMenu documentation v13 (#8721) (ea117bf)
Features
- Util: Backport
escapeMarkdown PRs to v13 (#8703) (8a6588a)
13.11.0 - (2022-09-15)
Bug Fixes
- Fixed TS 4.8 compatibility (#8601) (e6ee7d8)
Documentation
- Update misleading
Client#guildMemberAvailable event description (v13) (#8627) (fcd52d7)
Features
- GuildBanManager: Add
deleteMessageSeconds (#8575) (ca68fc3)
Typings
- GuildChannelManager: Correct fetch return type (v13) (#8551) (f4e8133)
13.10.3 - (2022-08-22)
Documentation
- Fix broken discord support link (#8485) (11d6949)
Typings
- Disallow some channel types from webhook creation (#8535) (10b12cc)
- ModalMessageModalSubmitInteraction: ChannelId is not nullable (v13) (#8505) (526ea74)
13.10.2 - (2022-08-10)
Typings
- Message: Correct
bulkDelete return type (v13) (#8469) (03c59e3)
13.10.1 - (2022-08-10)
Bug Fixes
- ThreadChannel: Handle possibly
null parent (v13) (#8467) (2a46d9f)
13.10.0 - (2022-08-10)
Features
- Guild: Add
max_video_channel_users (v13) (#8424) (ae43bca)
13.9.2 - (2022-07-29)
Bug Fixes
- MessageMentions:
ignoreRepliedUser option in has() (v13) (#8365) (d0a4199)
- GuildChannelManager: Allow unsetting rtcRegion (v13) (#8362) (9612507)
- ThreadChannel: Omit webhook fetching (v13) (#8352) (4f7c1e3)
13.9.1 - (2022-07-23)
Bug Fixes
- ApplicationCommandManager: Allow passing 0n to defaultMemberPermissions (v13) (#8312) (4cf0555)
Refactor
- embed: Deprecate addField (#8318) (be35db2)
- Presence: Remove redundant date parsing (v13) (#8341) (e95caa7)
13.9.0 - (2022-07-17)
Bug Fixes
- PermissionOverwriteManager: Mutates user (#8282) (4d86cf4)
- GuildChannelManager: Access
resolveId correctly (v13) (#8297) (beb3d8e)
- GuildChannelManager: Edit lockPermissions (#8267) (8fe166d)
- applicationcommandmanager: Explicitly allow passing builders to methods (v13) (#8229) (f457cdd)
- Pass in the expected query object type for application commands (#8189) (f704b26)
- Use non-global flag whilst resolving regular expressions (#8178) (4063b90)
- GuildStickerManager.fetchUser: Changed guildId to guild.id (#8176) (0e0f784)
- guildmemberremove: Remove member's presence for v13 (#8182) (e8d72c7)
- WebSocketShard: Backport error handler preservation on connections (#8164) (c198e89)
Documentation
- Add new HTTP Error Codes
50068 (v13) (#8273) (00a7057)
- Add
MessageActivityType (v13) (#8257) (9cc336c)
- MessageInteraction: Update
commandName description (v13) (#8220) (feb8e30)
- constants: Document missing constants (#8168) (4ae08ad)
Features
- ApplicationCommand: Add
min_length and max_length for string option (v13) (#8217) (a93f4b1)
- interaction: Add
appPermissions (v13) (#8195) (222fc9c)
- Partially backport perms v2 for v13 (#8162) (125696f)
Typings
- GuildMemberManager: Non-void return of
edit() (v13) (#8187) (631abee)
- Add missing shard types (v13) (#8192) (079973f)
13.8.1 - (2022-06-23)
Bug Fixes
- VoiceChannel: NSFW property (v13) (#8161) (c61fc80)
- ModalSubmitInteraction: Add
isFromMessage() missing method (#8092) (0ab2227)
- Destroy options during cleanup (#8082) (afb18b9)
- AuditLog: Default changes to empty array (#8076) (3095f35)
Documentation
TextBasedChannel-> TextBasedChannels typos (v13) (#8155) (65444f5)
Refactor
- Deprecate
$ prefix from ws.properties keys (#8095) (3638b40)
Typings
- Shard#reconnecting: Backport to v13 - Fix event name (#8126) (70450f6)
- AutocompleteOption: Backport fix and improve types (#8078) (613fd43)
- GuildChannel: Fix type of
.isText() method (#8061) (0d0190a)
13.8.0 - (2022-06-05)
Bug Fixes
- guildchannelmanager: Wrong parameter in _sortedChannels call (#8011) (876816a)
- websocketshard: Deal with zombie connection caused by 4009 (#7581) (114bcc0)
- Video quality mode data property (#7946) (76df9fd)
- ApplicationCommandOptionType: Add attachment to jsdoc (#7952) (a51420f)
Features
- Backport text-in-voice support to v13 (#7999) (ddfe15b)
13.7.0 - (2022-05-13)
Bug Fixes
- MessageEmbed: Fix a typo (#7906) (ea28638)
- GuildEditData: Some fields can be null for v13 (#7633) (816936e)
- Apply v14 fix (#7756) (ab6c2ba)
- GuildChannelManager:
delete method accessing wrong id (#7771) (c9e4562)
- GuildScheduledEvent: Handle missing
image for v13 (#7627) (dfea9c2)
- messagementions: Fix
has method for v13 (#7591) (7a52785)
- Check if member has admininistrator on
moderatable (v13) (#7578) (13dd82d)
- ThreadChannel: Require
sendable for unarchivable (#7555) (49397c0)
- Backport
MessageReaction#me being incorrectly false (#7553) (5f621c1)
- typings: SweepStageInstances typo (#7521) (f096069)
- MessagePayload: V13 don't set reply flags to target flags (#7515) (30baff7)
- Shard: V13 EventEmitter listener warning (#7479) (77b8e01)
- MessageEmbed: Set footer to undefined (#7358) (bc5ddc3)
Documentation
- shardingmanager: Fix type of
execArgv option (v13) (#7863) (43a7870)
- Fix and improve localization docs (v13 backport) (#7807) (6dcf0bd)
- ApplicationCommand: Fix ApplicationCommandOptionChoice (#7798) (1040ce0)
- Backport version 13 fixes (#7552) (69ba067)
Features
- Backport (#7776) (5165b18)
- Backport (#7787) (3eb45e3)
- Backport (#7786) (ab324ea)
- Add support for localized slash commands (v13 backport) (#7766) (022e138)
- App authorization links and tags for v13 (#7731) (9e4a900)
- Backport (#7777) (6c56132)
- Backport (#7778) (ff49b82)
- Backport (#7779) (ae7f991)
- Backport (#7783) (cedc333)
- VoiceChannel: Support
video_quality_mode (v13) (#7785) (6daee1b)
- StageInstance: Add support for associated guild event (#7713) (68498a8)
- modals: Modals, input text components and modal submits, v13 style (#7431) (e1cdcfa)
- Backport
Interaction#isRepliable (#7563) (5e8162a)
- Add methods to managers for v13 (#7611) (9f09702)
- Add
premiumSubscriptionCount to InviteGuild (#7629) (8e7d15e)
- scheduledevents: Event cover images for v13 (#7613) (a7535a2)
- Backport
MessageMentions channel type fixes (#7562) (93cdb2f)
- Backport cache types resolving to
never (#7561) (611d3a7)
- Backport sending message flags (#7560) (29d42ed)
- ThreadChannel: Backport creation timestamp (#7559) (1d97dcf)
- Add custom image support to version 13 (#7557) (679b87c)
- Backport
reason on pin and unpin (#7556) (b231bec)
- GuildPreview: Add stickers to version 13 (#7554) (215dfe0)
- Backport
sweepStickers method (#7558) (ee1698d)
- scheduledevents: Add image option (v13) (#7549) (2fcf8af)
- thread: V13 add
newlyCreated to threadCreate event (#7481) (2b3db73)
- commands: Attachment options (#7441) (5bcca8b)
Refactor
Typings
- Fix ModalSubmitInteraction (#7768) (1d09ad4)
- threadchannel: Fix autoArchiveDuration types (#7817) (7afcd95)
- InteractionCollector: Fix guild and channel types (#7624) (7814074)
- V13 channel create overloads fix (#7480) (0b54089)
13.6.0 - (2022-01-13)
Documentation
- interaction: Add locale list link (#7261) (1f4e633)
Features
- Add Locales to Interactions (#7131) (233084a)
13.5.1 - (2022-01-07)
Bug Fixes
- sweepers: Provide default for object param (#7182) (2dabd82)
- GuildMemberManager: Nick endpoint (#7151) (d0c3961)
- Permissions: ToArray shouldn't check admin (#7144) (fc4292e)
- Remove deprecation warning on
Message#cleanContent (#7143) (7e5f16b)
Documentation
- Sweepers: Fix typo (#7165) (780b7ed)
Features
- GuildMember: Add method to check timeout (#7146) (baacd6b)
- ClientOptions: WaitGuildTimeout amount client option (#6576) (2bfc638)
Refactor
- MessageEmbed: Deprecate strings for
setAuthor() (completely) and setFooter() (#7153) (3496516)
- Import timers,
process, and Buffer from node: (#7157) (3c62bd2)
13.4.0 - (2021-12-24)
Bug Fixes
- BaseMessageComponent: Don't create new class instances (#7140) (e6f41b5)
- Make the followUp function error more clear (#7129) (b763dab)
- StickerPack: Nullify
bannerId (#7119) (6bb03f2)
- Webhook typeguards should use string comparisons (#7127) (645b3f8)
- Message: Remove usage of
.deleted (#7109) (a0fe0ac)
- GuildAuditLog: Remove
Promises in constructor (#7089) (9cf44d1)
- ShardingManager: Fix respawnAll not passing delay correctly (#7084) (de61fe4)
- StoreChannel: Mark as deprecated (#7072) (5ec542d)
- InteractionCollector: Handle thread (and parent) deletion (#7070) (b5cd288)
- ReactionCollector: Check for channel.threads (#7069) (3846f0d)
- GuildChannel: Default to
this.rawPosition in clone() (#7057) (5fcda73)
- Interaction channel type should be
GuildTextBasedChannels when in guild (#6998) (da86bd4)
- Util: Fix sorting for GuildChannels (#7002) (c07207f)
- MessageManager: Do not use
client.emojis (#7039) (fd63139)
- ActionsManager: Revert to manual requires (#7034) (0193efa)
- MessagePayload: Prevent spread of
undefined (#7029) (fabd343)
- MessageManager: Allow a string for
edit() (#7033) (54f937d)
- Avoid sending bot auth on token endpoints (#7022) (7efeff4)
- Sharding: Properly handle errors in fetchClientValues (#6990) (c0ba2d4)
- VoiceState: Set streaming to false when the stream ended (#6992) (fdb09cb)
- MessageReaction: Cache myself when
MessageReaction#me is true. (#6956) (b001e19)
Documentation
- Deprecate
.deleted getters (#7107) (d43f684)
- Sticker: Fix typo (#7085) (ee91f5a)
- Constants: Document missing errors (#7086) (6e57b65)
- Constants: Adjust
GUILD_STORE warning placement (#7083) (23513d1)
- StoreChannel: Add deprecation warnings (#7080) (fdba146)
- GuildStickerManager: Fix create() example (#7060) (6f58e81)
- Invite: Add info blocks for missing props (#7014) (b183a8e)
- MessageReference: Fix static link (#7041) (85e6812)
- Constants: Fix typo "announcement" (#7016) (a1a8ca4)
- README: Add installation instruction on @discordjs/voice (#6964) (3c857a6)
- Guild: Fix setOwner() example (#6929) (dc64541)
Features
- Add support for GuildScheduledEvent (#6493) (1316fd4)
- GuildMember: Add timeouts (#7104) (aa7c1b2)
- Export Sweepers (#7117) (b9b60a3)
- Add API error code 50109 (#7112) (55960cc)
- Client: Add global sweepers (#6825) (d1ef2f5)
- Add API error code 20029 (#7078) (f410536)
- ApplicationCommand: Add setX methods for easier editing (#7063) (7f980e3)
- Add API error code 50055 (#7068) (f028aea)
- SnowflakeUtil: Add
timestampFrom (#7058) (8b200c0)
- Guild: Add premiumProgressbarEnabled (#6887) (552d89f)
- Add
UserContextMenuInteraction and MessageContextMenuInteraction (#7003) (4fe063f)
- Shard: Add eval context (#7011) (77aff08)
- ThreadChannel: Add
ThreadChannel#viewable (#6975) (db09d79)
- ThreadManager: Add slowmode option on thread creation (#6989) (493e4f9)
- MessageAttachment: Description (alt text) support (#6871) (5e0a7d5)
- ApplicationCommand: Add support for min and max values (#6855) (c30a818)
- SystemChannelFlags: Add new flag (#6870) (49e3ce2)
- UserFlags: Add BOT_HTTP_INTERACTIONS (#6733) (f43140a)
- Add new activity flags (#6699) (47d74eb)
- ApplicationFlags: Add message content intent flags (#6888) (e94073a)
Refactor
- UserManager: Move methods to the manager (#7087) (2ed02f7)
- RoleManager: Move some methods over from Role (#7096) (1e00fc2)
- Guild: Remove duplicate methods (#7100) (717e0e9)
- Util: Replace
Util.delayFor with tp.setTimeout (#7082) (25b8491)
- Make
Structure#deleted a getter to a WeakSet (#7074) (b093750)
- SnowflakeUtil: Clean up utils and improve perf (#7036) (e59fac3)
- MessageEmbed: Utilise an object approach for
.setAuthor() (#6966) (73854ee)
- Deprecate application command events (#6937) (28688e2)
Typings
- CategoryChannel: Fix createChannel return type (#7138) (1626dde)
- CategoryChannel:
createChannel should default to a text channel (#7132) (a0a5b0e)
- Make channel types a lot stricter (#7120) (7b65a04)
- Forward cache types to collector filters (#7126) (77489b9)
- Fix possibly
null message properties (#7111) (bc6a6c5)
- Use mapped enums instead of overloads (#7088) (49f9a18)
- MessageComponentInteraction: Ensure
component is not null (#7099) (2ce244b)
- GuildAuditLog: Strengthen types (#7090) (5a5c045)
- Message:
guild should be non-null when message is in guild (#6933) (1230bee)
- Improve audit logs' typings (#6647) (b6b4570)
- Interaction: Narrow
memberPermissions (#7054) (01f8d1b)
- ApplicationCommandManager: Deprecate old
*Data type usages and allow camel cased dapi types to be used (#6959) (2c91c48)
- WebhookMessageOptions: Disallow stickers (#7012) (099536e)
- Remove unneeded collector types (#7008) (c1f2fe2)
- Make event emitters use mapped event types (#7019) (48555cb)
- ApplicationSubcommandData: Allow
autocomplete to be true (#6981) (ecc61f3)
- Fix interaction typeguards (#6976) (06cd16f)
- Strengthen autocomplete option types (#6950) (7630158)
- Fix cache type fallback types (#6961) (9f240ea)
- Unify ApplicationCommandManager#create overloads (#6970) (8e881d2)
- Events: Rest events can be emitted on BaseClient (#6936) (c297829)
13.3.1 - (2021-11-01)
Bug Fixes
- Assert channel types in message actions (#6919) (9bd3689)
- MessageEmbed: Only compare image urls in #equals (#6926) (95d2a4d)
- Correctly access guild IDs inside managers (#6927) (2d9ffb8)
Documentation
- README: Use correct capitalization of npm (#6930) (bb245b7)
Typings
- Improve toJSON methods for message components & embeds (#6925) (204aee7)
13.3.0 - (2021-10-29)
Bug Fixes
- Handle message bulk delete and thread delete in collectors (#6902) (d6685b1)
- ApplicationCommandManager: Update guild command cache on c/u/d (#6841) (f169c8f)
- TextBasedChannel: Return the cached message instead of clone it (#6877) (ceaf738)
- MessageComponentInteraction: Component getter is not null anymore (#6835) (7621e9d)
PartialGuildMember#id is not null (#6840) (4dff279)
- Webhook: Resolve source guild only if cached (#6834) (d193d04)
- AllowedImageSizes: Add new image sizes (#6844) (ef01b84)
- MessageReaction: Prevent event double fire from uncached messages (#6818) (267a4b3)
- Guild: Guild.available is never set on new joins (#6769) (29667c9)
- Types: Export more types (#6808) (b474677)
- GuildBanManager: Send reason in the headers instead of json body (#6800) (bfb89de)
- User: Don't generate the banner URL when not cached (#6783) (0d599a1)
- GuildMember: More explicit partial check (#6760) (b1656bf)
- Role: Check for presence of icon and unicode_emoji before patching (#6780) (e31c5ca)
Documentation
- Constants: Document missing autocomplete interaction constants (#6916) (aa4d055)
- InteractionCollector: Add info block about being prone to always running (#6906) (5d987ee)
- GuildStickerManager: Fix create() example (#6900) (bdd841a)
- InteractionResponses: Move embed var position in example (#6896) (8806039)
- Application: Rename Oauth2Application to Application (#6891) (76856b9)
- Util: Deprecate
.removeMentions() (#6866) (b6c9fd6)
- Correct tags used for objects (#6846) (f7b7aac)
- Redirect to events correctly (#6845) (38cc89e)
- Typos, consistency and grammar fixes (#6811) (c44ea50)
- Message: Specify
Snowflake in return type of awaitReactions() (#6822) (4354c37)
- Replace
FetchOwnerOptions type definition (#6814) (b030130)
- Remove dangling reference (#6810) (d57ec7a)
- InteractionCollector: Remove repeated "the" (#6802) (b1b9c83)
- MessagePayload: Change the typo of "wether" to "whether" (#6771) (d32956c)
Features
- ThreadMemberManager: Allow individual members to be fetched (#6889) (14716df)
- Add support for autocomplete interactions (#6672) (ddf759c)
- MessageEmbed: Add #equals (#6885) (fae4abf)
- StartThreadOptions: Default autoArchiveDuration to channel's defaultAutoArchiveDuration (#6278) (740d3f0)
- Add
rtcRegion to GuildManager#create() (#6858) (399e720)
- Add typeguards to webhooks (#6850) (e0afcad)
- GuildChannelManager: Add 'rtcRegion' option to 'create' method (#6849) (487d32d)
- Permissions: Add checkAdmin to permission overwrite checks (#6847) (7513b45)
- Interaction: Add
isApplicationCommand check (#6801) (6898fa3)
- CommandInteraction: Add toString method (#6793) (bd48e6d)
- Client: Add apiResponse and apiRequest events (#6739) (26f927b)
- ModuleImporter: Implement import module compatible with bundlers (#6709) (d399a28)
Refactor
- Move Guild setPositions methods to managers (#6875) (e12a5b6)
- Remove gen-esm-wrapper dependency (#6884) (b278884)
- Fix typos (#6852) (672baa4)
- GuildManager: Remove redundant check (#6859) (579569a)
- Remove redundant user agent parsing (#6820) (460df9e)
- Remove unnecessary checks (#6777) (e24209a)
- Role: Move initialization of delete prop out of _patch (#6776) (872e7a5)
Typings
- fix: BaseCommandInteractionOptionResolver and CommandInteraction (#6910) (673c03f)
- Constants: Remove deleted properties from Package (#6908) (7be9170)
- Shard: Eval returns a promise resolving with T instead of T[] (#6901) (14d9a99)
- ApplicationCommandManager: Add missing overload for
fetch (#6904) (ee93a27)
- TextBasedChannel: Text channel interaction collectors should have
message option (#6903) (91a432e)
- Cache types cleanup (#6867) (b2836da)
- Allow message cached props to be narrowed (#6838) (c3948f8)
- CommandInteractionOptionResolver: Allow narrowing of
getMember() (#6831) (e8b6997)
- BaseMessageComponent: Remove third parameter of
create() (#6833) (d27fddb)
- Message component cached props narrowing (#6809) (b541d0a)
- ApplicationCommandOptionData: Remove required on subcommands (#6790) (5566404)
- Integration: Add
IntegrationType values (#6815) (187581d)
- WelcomeChannelData: Allow store channels (#6778) (45ebea3)
- Make embed author and footer props
name and text required (#6779) (a84e51b)
13.2.0 - (2021-10-05)
Bug Fixes
- AllowedImageSizes: Add new image sizes (#6754) (d0025be)
- User: Compare flags in #equals (#6750) (00e1e26)
- VoiceState: Patch streaming value (#6747) (7eec061)
- Message: Avoid overwriting properties in _patch (#6738) (a8c21cd)
- ReactionCollector: Only call the filter function once (#6734) (d15dd5f)
- Shard: Use provided timeout when respawning (#6735) (905d100)
- Role: ToJSON() throwing due to permission bigints (#6724) (9e421f6)
- Don't patch set data with undefined (#6694) (9eb9591)
- Invite: #guild never resolving into a Guild (#6742) (b76bb8a)
- GuildManager: Add missing types and converts (#6683) (cdf65f7)
- Util: Default
animated to false when omitted on resolvePartialEmoji (#6725) (8d80fec)
- Message: Throw error on missing channel (#6581) (60aa9ae)
- CachedManager: Return updated data when cache is false (#6685) (8426770)
- GuildEmoji: Cache restricted roles and author data (#6675) (60b8ba6)
- Constants: Allow undefined size (#6686) (d3da833)
- *RoleManager: Create set of role ids correctly (#6674) (f8aa4bd)
- Shard: Eval promise never resolves (#6649) (5070d23)
- xxxable: Follow more properly with discord behavior (#6551) (5d87398)
- Allow null to be passed in order to reset icon/avatar (#6646) (6033506)
- Message: Pinnable returning false in non-DEFAULT messages (#6585) (3183b11)
- threadMembersUpdate: Fixed typo (#6589) (8826e9f)
- ThreadChannel: FetchStarterMessage bug (#6584) (08edc0b)
- Await message component collectors should return component interactions not collectors (#6562) (f49f70a)
- GuildChannel: Fix manageable method for voice-channels (#6447) (9301c9b)
- MessageAttachment: Re-assign name (#6518) (8a8c69a)
- UserUpdateAction: Rely on client.user when ids match (#6511) (1418649)
- Util: Allow empty strings in splitMessage (#6437) (d6e6244)
- BaseClient: Remove selfbot ability (#6429) (9a833b1)
- Sticker: Rename method correctly to _add (#6421) (2c449b6)
- Message: Fix typo (#6435) (ecb6e50)
Documentation
- FetchReply info + example (#6753) (8bc1ece)
- GuildMemberUpdateAction: Event doesn't get emitted on user update (#6752) (1db3e76)
- Better links for
.toJSON() of button and select menu (#6745) (6e5c768)
- Undocument private constructors (#6732) (34b2ad0)
- Message: Fix return type for
reply (#6720) (3f11009)
- CommandInteractionResolvedData: Fix key type (#6729) (466e796)
- EmojiResolvable: Update description of typedef to remove ambiguity (#6708) (7cba676)
- ApplicationCommandPermissionsManager: Fix example set method (#6658) (839974c)
- Shard: Point to correct events (#6641) (b9a4899)
- VoiceChannel: Deprecate editable (#6613) (88e2622)
- PermissionOverwriteManager: Correct
@returns of delete (#6632) (3c3522a)
- MessagePayload: Correct return type of
resolveFile() (#6605) (ea6a57e)
- MessageButton: Fix info tag (#6590) (db73cf9)
- WidgetMember: Fix typo for deaf (#6564) (33f6f82)
- Constants: Fix interaction type link (#6558) (29d5fd1)
- Fix JSDoc for
ClientUser#edit (#6554) (34024f5)
- Util: Correct
@param for cleanContent() (#6531) (b89280a)
- Formatters: Fix typo of TimestampStyles (#6523) (7d4a40a)
- GuildChannelCreateOptions: Fix #type type (#6502) (4bfd5d3)
- ThreadManager: Fix typo (#6485) (8a95211)
- Fix wrong type being displayed in docs (#6504) (9ca10cc)
- MessageManager: Fix typo (#6482) (70cc029)
- MessageReference: Add possible message types (#6464) (93a83c2)
- ApplicationCommandType: Add DAPI link (#6463) (17b4079)
- BufferResolvable: Add warning for URL input (#6451) (16493e6)
- Formatters: Use id over ID (#6439) (84bb4f4)
- RoleManager: Error in examples (#6416) (759faa4)
- Rename implementation of deferReply (#6412) (615afab)
Features
- Add support for role icons (#6633) (7129965)
- Interaction: Add memberPermissions (#6741) (28d96e3)
- CategoryChannel: Add createChannel shortcut method (#6614) (3eacf7a)
- Allow webhooks to fetch, edit and delete messages in threads (#6695) (107822d)
- Threads: Update permissions and fix getters (#6466) (10478ad)
- PartialGroupDMChannel: Add recipients & fix name (#6713) (2803db6)
- GuildMember: Add guild avatars (#5696) (dfd7b40)
- MessageAttachment: Add support for ephemeral property (#6652) (c5db0ff)
- ApplicationCommand: Add support for channel_types (#6640) (3b14883)
- UserManager: Allow #fetch to take UserResolvable (#6677) (a06a87a)
- Add api error code 50101 (#6663) (42fdcaa)
- Add support for API command types in
ApplicationCommandManager (#6621) (ecd637f)
- Permissions: Add
START_EMBEDDED_ACTIVITIES (#6622) (66a90d3)
- Integration: Add missing props and fix docs/types (#6623) (caa3b60)
- Default values for setX boolean methods (#6619) (8add4b0)
- Add api error code 30042 (#6635) (183dbd7)
- Give removed
MessageReactions on messageReactionRemoveAll event (#6607) (be8912a)
- ApplicationCommand: Add version property (#6603) (f866512)
- MessageTypes: Add CONTEXT_MENU_COMMAND (23) (#6425) (d81590d)
- Add api error code 160002 (#6566) (d16ada9)
- ApplicationCommand: Add #equals (#6414) (581921f)
- Threads: Add support for invitable in private threads (#6501) (a693254)
- BaseGuildTextChannel: Export
BaseGuildTextChannel (#6527) (fc51f61)
- User: Banners and accent colors (#6117) (839c6da)
- MessageAttachment: Allow files to be marked as spoilers (#6509) (96e26c4)
- ThreadChannel: Add fetchStarterMessage (#6488) (705c5a1)
- Message: Add method to resolve a component by id (#6484) (57b94b9)
- Set methods for MessageActionRow and MessageSelectMenu (#6490) (fb50dd9)
- Export BaseCommandInteraction (#6478) (c14e594)
- Guild: Add
Guild#maximumBitrate getter. (#6455) (21983de)
- Message: Prevent fetching an interaction webhook. (#6468) (f39b597)
- Add maximum prune requests reached api error (#6427) (a4b8623)
- Rest: Expose https.Agent options (#6177) (5eb3553)
- InteractionReponses: Allow fetching of ephemeral messages (#6426) (d289d5c)
- Export ContextMenuInteraction (#6434) (170c0c4)
Performance
- Use logical assignments instead of if statements (#6693) (e9daa31)
Refactor
- User: Set accentColor and banner to undefined when not yet received (#6721) (ba93e85)
- Use optional chaining (#6757) (a194d9c)
- Use the
node: protocol (#6710) (531b46c)
- VoiceState: Use manager edit method to remove error (#6631) (29dd319)
- Constants: Better type error in cdn endpoints (#6637) (124e177)
- ES2021 features (#6540) (00bd92a)
- Channel: Make delete async (#6417) (71fdf6f)
Typings
- Interaction: Allow
Interaction cached properties to be type narrowed (#6668) (d873a19)
- Rename
Awaited<T> to Awaitable<T> (#6756) (f88f4cc)
- GuildBanManager: Remove can return null (#6748) (c3f4de4)
- Add ExcludeEnum utility for easier typings (#6746) (42acc6e)
- Webhook: More accurate type for
sourceChannel (#6751) (32b5c2e)
- WebhooksUpdate: Allow
NewsChannels (#6749) (abf158d)
- More accurate types instead of
GuildChannelResolvable (#6744) (a8e6010)
- ChannelTypes: Remove unknown from CHANNEL options (#6701) (8b4456e)
- TextBasedChannels: Fix awaitMessageComponent return type (#6723) (a7cb314)
- Vanity: Make
uses non-nullable (#6715) (3a978f3)
- Role: Role#comparePositionTo accepts RoleResolvable (#6722) (7c4d1df)
- Presence: Fix ActivityOptions#type and Activity#id types (#6696) (fe95005)
- Fix missing channel type in subcommand options (#6706) (da3ae48)
- Add GuildEmojiManager to Caches (#6671) (1ca8d2c)
- VoiceState: Allow moving members to stage channels (#6684) (94ca0f5)
- Interaction: Improve type guard for inGuild() (#6644) (0347826)
- MessageOptions: Allow APIEmbed (#6656) (92f6471)
- WelcomeChannel: Allow store channels (#6615) (75d85f7)
- MessageEmbed: Allow APIEmbed type (#6629) (256fb90)
- TextBasedChannelFields: Add back createMessageCollector (#6616) (1b016a3)
- Make
channelId non-nullable on MessageComponentInteraction (#6600) (8cc3885)
Message#createMessageComponentCollector use MessageComponentInteractionOptions<T> (#6596) (c62823e)
- MessagePayload: Specify typings for
files and resolveFile (#6608) (ea36955)
- Collector filter parameter inference (#6574) (0841956)
- MessageReference: Correctly add undefined type (#6563) (cdb0005)
@typedef for StageChannelResolvable (#6568) (2c219cb)
- Allow message component interaction collectors to infer collected interaction types (#6476) (03d5549)
- CommandInteractionOptionResolver: Document & type thread channels (#6521) (774e960)
- MessageComponentInteraction: Fix componentType (#6536) (0fe5f88)
- Mark enums as const enums (#6394) (5c27639)
- MessageEmbed: Allow
null for setTimestamp (#6514) (7aff15a)
- Require component type in raw object formats (#6452) (c232baa)
- CommandInteractionOptionResolver: Add missing parameter (#6497) (656b518)
- ClientPresence: Add type declarations and docs (#6450) (6cac03a)
- GuildChannel: Added missing typing (#6454) (f294d1e)
- Message#_patch typings return type (#6433) (81bb68d)
13.1.0 - (2021-08-12)
Bug Fixes
- StageInstance: Ensure
discoverableDisabled is not undefined (#6395) (dce8fc7)
- WidgetMember: Default to
null and not undefined (#6399) (44bbfa5)
- Guild:
preferredLocale to always be a string (#6402) (4a64662)
- ContextMenuInteractin: Store message as raw value (#6400) (d9456a1)
- Util: Remove truthy check before isNaN check (#6358) (3c17939)
- Constants: Fix CDN endpoint typings (#6332) (47d2ef3)
- Managers: Fix typo in unsupported warning (#6338) (917e71a)
- GuildMemberRoleManager: Typo (#6335) (d87299b)
Documentation
- Remove unparsed examples (#6404) (e6f48d8)
- GuildManager: Increase fetch limit to 200 (#6406) (933d2c5)
- ApplicationCommandData: Fix type property (#6385) (de3c86f)
- Update links for api-docs (#6380) (779e14e)
- Switch urls from upstream rearranging (#6378) (4c8dc4c)
- Correct wrong interaction links (#6274) (49d3c0b)
- Invite:
MANAGE_CHANNELS instead of MANAGE_CHANNEL (#6361) (0062aa6)
- Options: DefaultMakeCacheSettings typo (#6365) (ea8d77e)
- Grammar fixes (#6345) (f13d27c)
Features
- GuildMemberManager: Add 'list' method (#6403) (2bf0970)
- GuildManager: Allow setting with_counts to false (#6407) (14aea12)
- CommandInteractionResolvedData: Access to "raw" resolved data (#6384) (fff887b)
- Utils: Add additional formatters (#6388) (cd40292)
- Right-clickybois (context menu support for ApplicationCommand and CommandInteraction) (#6176) (0266f28)
- Threads: Max autoArchiveDuration option (#6304) (394d486)
Refactor
- Options: Separate default settings for make cache (#6330) (d14a6bf)
Typings
- ApplicationCommandData: Make
type field optional (#6405) (dcc556c)
- Constants: Add
ApplicationCommandTypes to Constants (#6398) (6342430)
- ApplicationCommandOptionData: Align command data options types more with discord API (#6247) (297a911)
- ApplicationCommandData: Stronger typings for
ApplicationCommandData variants. (#6382) (75b48d8)
- Options: CreateDefaultOptions => createDefault (#6376) (2a3e819)
- Events: Renamed
messageReactionAdd's reaction parameter (#6371) (006edca)
- ImageURLOptions: Allow 'gif' format (#6342) (5f1def3)
13.0.1 - (2021-08-07)
Bug Fixes
- GuildMemberManager: Refactor fetchMany (#6328) (909c873)
- Message: Handle fetched messages (#6325) (ceae596)
Documentation
- Fix bad indentation (#6316) (cd1aefb)
Typings
- Util: Fix cleanContent parameter type (#6321) (60ace9a)
13.0.0 - (2021-08-06)
Bug Fixes
- MessageMentions: Check guild exists before adding roles (#6313) (1200bba)
- GuildMemberManager: FetchMany fixes (#6314) (52817fc)
- Caching: Sweep archived threads in all channel caches (#6312) (3725dca)
- Message: Fix thread getter (#6309) (913c9fa)
- BaseGuildTextChannel: Call patch (#6298) (3eb4140)
- Remove support for overriding caches that break functionality (#6282) (a6d4035)
- Message: Make #channel and #guild getters (#6271) (6e3236a)
- WebSocketShard: Mark shard ready if no guilds intent (#6284) (09471be)
- Action: GetChannel interaction DM (#6280) (a72b5a3)
- GuildChannel: SetParent not working (#6276) (7e0618f)
- ChannelUpdate: Restore accidentally removed line (#6263) (774f5b7)
- Util: Fix collection import (#6256) (93e0239)
- Array/keyArray removed (#6245) (bf221f2)
- TextBasedChannel: Fix MessageCreate handling (#6217) (6b85f90)
- PermissionOverwrites: Throw better error if resolving option fails (#6219) (42a0313)
- Channel: Add default for destructured options (#6203) (6872547)
- Use
string instead of Snowflake for invites (#6202) (f060a3f)
- ThreadChannel: Better property handling (#6172) (9679b90)
- Export various classes that are exported in the typings (#6166) (30a58dc)
- Typings: Type attachments to InteractionUpdateOptions (#6162) (4f8ca29)
- GuildAuditLog: Assert
target to null upon not finding invite codes (#6171) (c8ca7bf)
- Message: Fix typo in sticker_items (#6173) (870a0de)
- Sticker: Replace 'this.guildID' (undefined) by 'this.guildId' in fetchUser (#6160) (07017a9)
- CommandInteractionOptionResolver: Type should be USER (#6148) (02f55f0)
- CommandInteractionOptionResolver: Export CommandInteractionOptio… (#6146) (8ccfd6e)
- CommandInteraction: Change options type from Collection to array (#6139) (77784ac)
- GuildChannel: Only fetch invites for the specific channel (#6132) (c40c0f9)
- PermissionsOverwrites: Only convert type if number (#6092) (dee5c83)
- Channel type check in actions (#6086) (d433fe8)
- GuildChannel: Clone its PermissionOverwriteManager too (#6083) (f72ce7c)
- PresenceUpdate: Use added presence over nullable getter (#6077) (637c8e0)
- InviteScope: Added missing 'bot' scope (#6052) (93e2c04)
- SelectMenuInteraction: Set values to empty array if not provided (#6045) (34708d6)
- Guild: Add invite manager property, extend CachedManager (#6049) (e3d877d)
- TeamMember: Fixed incorrect return types. (#6044) (fe5d56c)
- Structures: Remove Structures (#6027) (ab0b3b9)
- GuildChannel: Use map method on cache not its manager (#6032) (d58f0d2)
- PermissionOverwriteManager: Pass ID to API correctly (#6026) (8077e4f)
- GuildChannel: Add missing 'cache' property (#6019) (7e30011)
- Remove
connection.url from open debug message (#6018) (39db953)
- Util: SplitMessage not working with array (#6008) (bd25ff5)
- Correct permissions checks and cache on update (#6015) (568691c)
- ThreadManager: Fixed wrong private and fetchAll check (#6012) (e4be666)
- Typings: Improve components typings in MessageEditOptions (#6002) (3a718d8)
- ApplicationCommand: Fix typo in JSDoc (#5994) (6edf55c)
- ThreadChannel: Check for existence of properties when patching (#5961) (9ac6867)
- Typings: Erronous RawMessage (5842e35)
- Thread: Make archive_timestamp not nullable (#5965) (edab5af)
- Sharding: Strict type context and return (#5933) (1925d01)
- Webhook: Return void from #delete for consistency. (#5954) (5ad83a6)
- Collector: Docs and types (#5937) (6c447b1)
- Message: Make author of referenced message nullable (#5929) (dc671c8)
- User: Fix bot and system properties being incorrect in some cases (#5923) (e44ae96)
- ThreadMemberManager: Fix ThreadMemberManager#add and ThreadMemberManager#fetch (#5927) (adecead)
- Webhook: Resolve non-string avatars too (#5914) (4714a96)
- ApplicationCommand: StringType isn't supposed to be sent to the API (#5916) (ca2a36b)
- Permissions: Allow admin to override in the missing method (#5911) (ee025b0)
- InteractionResponses: Set replied status on editReply (#5899) (6d3d00b)
- Message: Flags not being parsed on some edits (#5886) (2d7c12b)
- Guild: Don't patch before instance properties (#5885) (174b7a7)
- presenceUpdate: Fire when only state/details change on an activity (#5846) (1f8f3ab)
- Message: EditedTimestamp defaulting to 0 (#5847) (671436c)
- ApplicationCommand: Default option.required fix (#5848) (a1f94f6)
- Guild: SetChannelPositions null parenting (#5841) (01a1fd6)
- ApplicationCommand: Default option.required to false (#5838) (77c1f15)
- GuildManager: #create throws when systemChannelFlags is undefined (#5832) (29173bf)
- GuildChannel: Don't force parentID/permissionOverwrites to empty on create (#5823) (c585933)
- GuildChannel: Improve empty overwrite handling for permissionsLocked (#5821) (6df3623)
- ApplicationCommands: Allow managing commands for uncached guilds (#5729) (24e5868)
- ClientApplication: Freeze flags (#5811) (e990c35)
- *: Typedefs and typings for image & webhook options (#5805) (a5a6e22)
- TextBasedChannel: Allow passing an APIMessage with split (#5815) (93b0a4e)
- PermissionOverwrites: Optional allow/deny OverwriteData (#5810) (a7ebb21)
- Typings: Fix BitField toJSON/valueOf return types (#5806) (935f819)
- Hooks: Make husky hooks executable (#5812) (77e28cf)
- GuildChannel: Clone errors when options.name isn't provided (#5804) (41673b7)
- WebSocketShard: Don't catch errors thrown in event handlers (#5803) (53d8e49)
- Don't patch missing properties from partial payloads (#5796) (097c7b9)
- GuildChannel: Spread clone options to avoid infinite recursion (#5800) (2f5424b)
- Webhook: Throw an error if no token is available when it's required (#5798) (eb98e33)
- ClientPresence: Produce valid activities for set presences (#5799) (ea0e06f)
- BitField: Ensure missing returns an array of strings (#5795) (68f7aeb)
- ApiMessage: Only pass objects as options directly (#5793) (3578159)
- BitField: Throw an error if bit to resolve is undefined (#5565) (0156f69)
- Remove remnants of awaitMessageComponentInteractions (#5783) (ae78a33)
- *: Add missing imports for custom errors (#5767) (e980948)
- ShardingManager: Client error event cannot be emitted (#5559) (d1c5b6f)
- Add components to MessageOption typedefs (#5768) (657635c)
- Interaction: Add missing types and fix docs lists (#5762) (1d57754)
- Webhook: #editMessage throws error when content is null (#5757) (2901fd5)
- MessageComponentInteraction: Correctly type defer method (#5760) (f0dad26)
- RoleManager: Bug in #create (#5730) (cf22456)
- Message: Update typings and docs related to #edit (#5745) (a2f0c11)
- Typings: Add missing typings for
HttpError -> requestData (#5742) (3e9ce35)
- MessageEmbed: Import custom RangeError class (#5740) (bfe01b5)
- CommandInteraction: Cmds with no options throw error (#5734) (af2fad9)
- CommandInteraction: Channel type should be text based channels (#5690) (5141ea4)
- GuildMemberManager: Allow moving members to any non-text channel (#5681) (d21e6af)
- Interfaces not importing due to re-export of Snowflake (#5723) (086c3f0)
- PermissionOverwrites: Fix typo in typedef jsdoc (#5704) (6567ba8)
- Types: Make event listeners accept async callbacks (#5602) (a73a5cf)
- GuildEmojiRoleManager: Bug in #remove (#5666) (c89bdd7)
- ApplicationCommandOptionData: Options property should be itself (#5679) (b90b0c3)
- APIMessage: Document Interaction as valid MessageTarget (#5678) (9f491ff)
- Message: Bug in #suppressEmbeds due to #5612 (#5644) (840ad0a)
- Lint-staged for typescript files (5f6ec22)
- DataResolver: Fix circular dependency error with GuildTemplate (#5622) (b376f31)
- ApplicationCommandManager: Limit permission methods to guilds (#5613) (03256bd)
- CommandInteraction: Update typings and docs for #editReply (#5630) (56d44fb)
- ApplicationCommand: Return string equivalent of ApplicationCommandOptionType (#5617) (a6079bc)
- Resolve emoji in Message#react (#5614) (c733436)
- Typo in GuildMemberManager (#5616) (73f4114)
- Message: Editing with MessageEmbed or APIMessage (#5612) (74e97ef)
- VoiceReceiver: Fix memory leak (#5609) (2eac842)
- ApplicationCommandManager: Fix typo in JSDoc (#5603) (3392eb7)
- Sticker: File renamed to SnowflakeUtil (#5573) (f830eb7)
- Emoji: Name can be null (#5513) (5397021)
- GuildMemberRoleManager: Unable to remove roles when passed an array (#5556) (9572521)
- Typings for 'Message' (#5518) (0d68ca8)
- HTTPOptions: Change default value in jsdoc to 8 (#5547) (cb50241)
- GuildAuditLogsEntry: Executor can be missing (#5500) (e9bf206)
- typings: Update GuildMemberRoleManager typings to match implementation (#5497) (900e576)
- MessageMentions#channels: Fix type of channels of mentions (#5370) (565d7b3)
- Resolvables: Valid resolvables throw error when uncached (#5495) (fa5a37e)
- GuildChannel: Check for community required channels in GuildChannel#deletable (#5170) (b710a43)
- GuildMember: Correctly check for premium_since (#5312) (aff3625)
- Voice: Only skip undocumented voice packet byte if present (#5309) (2b52cdc)
- Typings for 'WebhookMessageOptions' (#5476) (67025e6)
- IntegrationApplication: Add missing export to index.js (#5475) (8023250)
- ApplicationFlags: Export class (#5465) (404ce57)
- Voice: Disconnect if voice channel not cached (#5467) (3af8179)
- InviteDelete: Guild can be missing (#5457) (6c6b105)
- ReactionUserManager: Remove before query option (#5281) (43bd568)
- GuildManager: Add missing toString() on Permission#resolve fns (#5324) (0778926)
- GuildChannel: Regression on default channel type (#5251) (e7c4f36)
- Guild/GuildChannel: Methods reason arg usage (#5419) (8411b9e)
- Role: Pass Permissions class, not the bitfield (#5321) (d744e51)
- WebSocketShard: Key name in WebSocketShard#_send. (#5304) (56d8b44)
- ApiMessage: Remove resolve() from typings (#5241) (a6bc39d)
- GuildChannel: Overload permissionsFor and BaseManager#resolve[id] (#5260) (41bd6c2)
- GuildEmoji: Check for cahnges to available in equals (#5201) (f95f5dc)
- VoiceConnection: Make #dispatcher nullable (#5217) (0d5de43)
- Message: Update getters to take null permissions into account (#5066) (98b1c58)
- typings: Return types for 'Webhook(Client)#send()' (#4876) (eb28ee7)
- MessageEmbed: Include
author.name in length getter (#5167) (e37160f)
- Collection: ToJSON() errors if the collection includes empty values (#5129) (2c2249e)
- Implement valueOf on pseudomanagers (#4595) (8883a01)
- Add presence to ClientPresence from ClientOptions (#5041) (9c7fe34)
- Filtering of string forms of null and undefined (#5075) (9042d19)
- ChannelManager: Avoid crash in remove method with uncached channel (#4937) (12c909e)
- Message: #system non-zero message types are not guaranteed to be system (#5108) (bb78120)
- UserFlags: Correct early bot dev name, remove deprecated aliases (#5104) (b509862)
- Collector: Throw an error if a non-function was provided as filter (#5034) (7365f40)
- BaseGuildEmoji: Typo in requiresColons (#5076) (e272fd6)
- MessageReaction: Set MessageReaction#me in patch method (#5047) (6b322f4)
- Voice*: Filter out silent audio from video users (#5035) (4fcb9eb)
- GuildTemplate: 'guild' getter (#5040) (53529bd)
- RoleManager: Fix ID return value, change return type to collection (#4935) (12a096b)
Documentation
- Grammatical fix (#6311) (7787a76)
- Grammar fixes (#6308) (0664477)
- General cleanup and improvements (#6299) (b4afcf8)
- Typo in ClientOptions (#6305) (dd3a79e)
- Grammar fix (#6294) (90c2e07)
- Client: Mark _finalize as private (#6281) (35fa3b3)
- Update link of the guide to v13 changes (#6273) (6e0ea02)
- Add missing semicolon to readme (#6270) (2c452df)
- Change example in readme to slash command (#6250) (626ff85)
- InteractionResponses: Correct
@returns on responses (#6257) (bb56f17)
- Refactor a few
@returns descriptions (#6228) (82daee5)
- Widget: Add the typedef WidgetChannel (#6182) (8b52d06)
- Update readme node version requirement (#6241) (797727a)
- GuildManager: Correct
GuildCreateOptions typo (#6224) (2675b08)
- Constants: Document the Constants object for enum-like usage (#6208) (cc5f1ce)
- Guild: Correct
GuildRolePosition typo (#6223) (40b127e)
- WelcomeChannel: Correct guild return type (#6222) (d310e4f)
- Constants: Fix StickerTypes typedef (#6218) (105a194)
- MessageMentions: Fix documentation for members property (#6206) (f44bfc4)
- Guild: Add GuildTextChannelResolvable type definition (#6221) (1009ce1)
- InteractionResponses: Document missing properties (#6178) (5e433b5)
- CommandInteraction: Correct type definition of
CommandInteractionOption (#6169) (5e70694)
- InteractionResponses: Reply docs example (#6079) (b170fb5)
- InteractionResponses: Generalize wording in update to fit other component interaction types (#6074) (67e9ce4)
- ClientUser: Fix shardId nullable (#6072) (28b5ffb)
- Fixed several typings and MessagePayload#create JSDoc (#6059) (4c0426c)
- ThreadChannel: Fix documentation for setLocked method (#6053) (8d9ab74)
- MessageManager: Document options param for #edit as required (#6031) (db60e36)
- Add Partial typedef (#6029) (b62d646)
- Fix some missed MessageComponent collector methods (#6023) (610b0b4)
- *: Wrap optional properties with union types in parentheses (#6021) (ec06ba7)
- Collector: Properly document endReason (#6016) (7dd1a8d)
- CreateInviteOptions: Fix TargetType link (#6017) (4adfc45)
- *: Add class links to isX() methods (#6007) (fbdad6e)
- WebSocketShard#send and TextBasedChannel#send (#5998) (726073f)
- Util: Methods removed on the base object (#5990) (d742814)
- Partials: Add link to the guide (#5982) (58183d4)
- MessageSelectMenu: Add link to Discord docs (#5984) (f819416)
- ThreadManager: Fix FetchedThreads typedef and startMessage (#5971) (f108746)
- Message: Add ThreadChannel as a channel type (#5972) (58bc145)
- ThreadManager: Fix reason prop of ThreadCreateOptions (#5970) (5dfd7dd)
- Channel: Fix description of thread channel types (#5968) (853be62)
- Drop string from MessageButtonStyleResolvable (#5944) (41f718f)
- Features: Resolved typo in
FATEWAY_PRESENCE_LIMITED (#5952) (d38b347)
- Webhook: Fix thread example in send method (#5953) (d3d19ce)
- Channel: Make the type news_thread an inline code-block (#5940) (630432b)
- Thread: Add links to discord api docs (#5919) (5af2ef5)
- MessageSelectMenu: Fix options typings (#5922) (75837a8)
- *: Add links to Discord's API objects & data (#5862) (e0efcc6)
- Move embeds field into BaseMessageOptions (#5902) (6cebeae)
- Readme: Remove dependencies badge (#5901) (edf6f0c)
- AnonymousGuild: Add missing extends tag (#5896) (3d96a33)
- VoiceState: Channel can be null (#5872) (807ea2d)
- ReplyMessageOptions,MessageEditOptions: Replaced
embed with embeds (#5860) (e3ed74a)
- Consistent application name usage (#5853) (96a4e7b)
- TextBasedChannel#send: Update embeds example (#5857) (a6dae75)
- ButtonInteraction: Fix typo (#5835) (9376ee4)
- Removed topics and FAQ from the repository (#5820) (9e5106d)
- README: Re-add install command, remove voice remnants (#5817) (55ad6f0)
- MessageEmbed: Deprecation advisory for type (#5774) (f5f3f77)
- Messages: Fix examples in messages after changes in #5758 (#5791) (35c2225)
- ApplicationCommand: Typos in ApplicationCommandPermissionData (#5789) (4511624)
- GuildMemberManager: Fix docs for #search() (#5784) (0139e10)
- CommandInteraction#channelID is type of Snowflake (#5776) (32d8c8b)
- InteractionDeferOptions: Correctly define the typedef (#5769) (4567cd4)
- Add new guild features (#5755) (f7e420b)
- Message: Fix content param in #edit not showing as nullable (#5748) (df9b678)
- All the missing object -> Object changes (#5738) (b317d86)
- Remove traces of StringResolvable (#5727) (678b7da)
- Webhook: Update typings and docs for #editMessage (#5713) (256d1b0)
- Message: Add example for message.reply (#5332) (7d7d2a5)
- TextChannel: Warning about setRateLimitPerUser NewsChannel (#5403) (47bbdf4)
- Fix InteractionDeferOptions typedef (#5694) (add924c)
- ColorResolvable: Add Fuchsia to ColorResolvable typedef (#5676) (7d9818e)
- Add new typedef to properly doc InteractionReplyOptions (#5632) (3589e0f)
- Guild: Add proper punctuation to #fetchOwner jsdoc (#5645) (c8d20a4)
- Correct casing of
object -> Object in AuditLogChange (#5636) (ab82caf)
- GuildChannelManager: Add stage option (#5608) (d219ecd)
- MessageEmbed: MessageEmbedOptions typedef (#5466) (4a06dd1)
- Update invite link, change version in the intro (#5592) (533c247)
- VoiceState:
#setRequestToSpeak and #setSuppressed returns a Promise instead of void (#5558) (705d7b3)
- GuildChannelManager: Fix type options in description (#5440) (936516c)
- ClientUser: #setPresence does not return a promise (#5485) (599f0f5)
- GuildChannel: #members add cached spec, include voice (#5385) (e848d25)
- BanOptions: Make days description more clear (#5327) (dedf432)
- Update docs and examples for #4879 (#5323) (685b260)
- GuildMember: Document owner override in permissions getter (#5320) (62ba249)
- ChannelManager: Fetch can return Promise (#5422) (1c8b109)
- Guild: Clarified description of guild.features (#5352) (941e36f)
- BaseManager: Fix a typo in #resolveID description (#5180) (640a663)
- BitFields: Remove string from BitFieldResolvable (#5122) (9ffcd83)
- MessageEditOptions: Add the flags parameter (#5126) (2aea7dd)
- RoleManager: Fetch description (#4920) (be0f383)
- TextBasedChannel: Indicate that replyTo cannot be system (#5115) (5c4547e)
- Permission overwrite methods descriptions (#5079) (77d4237)
- Client: #emojis is a BaseGuildEmojiManager (#5048) (2685b96)
- User: Fix typos in jsdoc (#5060) (09d0755)
- WebSocketManager: Fix type of status (#5059) (9f3c3e0)
Features
- Collector: Return a boolean on checkEnd (#6289) (f473f43)
- Channel: Add isVoice() (#6297) (5b4efd1)
- Constants: Added more error codes (#6234) (6b2098f)
- MessageEmbed: Add setFields method (#6186) (a25e165)
- ThreadChannel: Add fetchOwner() method (#6207) (331a9d3)
- Util: Add SweptCollection for auto sweeping of caches (#6110) (dbb59ba)
- WebhookClient: Allow creation of clients via URLs (#6192) (e000af5)
- FetchRecommendedShardsOptions: Account for large bot sharding (#6184) (19b242a)
- GuildAuditLogs: Add threads (#6195) (26ba0e1)
- Guild: Add fetchWidget() for getting widget data (#6180) (b22272f)
- ApplicationCommandOptionType: Add NUMBER (10) (#6128) (2f1cc1f)
- CommandInteractionOptionResolver: Add sub-command required option (#6165) (690c121)
- Sticker: Updates, sticker packs, and guild stickers (#5867) (54d6a3a)
- GuildPreview: Add createdAt & createdTimestamp (#6130) (9f039a8)
- CommandInteraction: Add CommandInteractionOptionResolver (#6107) (f293132)
- Make Instance#fetch force true by default, and fix force parameter (#6116) (366f3c9)
- REST: Append additional information to the required User Agent (#6112) (f200f14)
- Client: Add conditional ready typings (#6073) (4206e35)
- Allow channels from uncached guilds to be returned from fetch (#6034) (755c180)
- Collector: Better types for events (#6058) (c0a814f)
- Message: Add 'failIfNotExists' to ClientOptions (#6038) (28c5724)
- LimitedCollection: Export LimitedCollection (#6043) (31d3129)
- Client: Enforce passing scopes to generateInvite (#6024) (c6e5521)
- Managers: ✨ Add GuildInviteManager (#5889) (9e08b02)
- Managers: Add customizable caching for managers (#6013) (8c7cb0e)
- InteractionCollector: Reworked to be more generic (#5999) (374c779)
- PermissionOverwriteManager (#5318) (e7ad2fe)
- Formatters: Added new URL utilities and docs (#6014) (98e45a5)
- RoleManager: Added
edit method, alias Role#edit (#5983) (1e73c25)
- StageChannel: Add createStageInstance method & use better naming convention (#5951) (71fb33a)
- Channel: Add isThread typeguard for better TS support (#5978) (b7ed675)
- Util: Added formatters (#5976) (8c7a28f)
- Interactions: Option to auto-fetch replies (#5831) (5e28ff8)
- Interaction: Add guild guard (#5955) (87e8cdd)
- Managers: New ApplicationCommandPermissionsManager (#5897) (6264c60)
- MessageComponentInteraction: Component getter (#5840) (1439183)
- MessageMentions: Add repliedUser (#5905) (2616125)
- MessageSelectMenu: Droppybois (#5692) (e5fcf0b)
- Api v9 and threads (#5570) (7346621)
- InteractionCreate: Move to an Action handler (#5906) (ea49f7c)
- Add missing APIError codes (#5898) (d930c81)
- Interactions: Improve error handling for ephemeral responses (#5892) (bd9f56a)
- Add APIError codes for stage instance (#5888) (c850ae1)
- WelcomeScreen: Welcome screens (#5490) (44e2ee7)
- Stage instance invite (#5856) (2d12db0)
- Guild: Add enum for premium_tier (#5868) (a3cbcca)
- *: Use enums for consistency and speed (#5843) (f7eeccb)
- Widget: Wrapper for widget.json (#5619) (038ee99)
- Stage instances (#5749) (918921e)
- *: Document and support embeds field in message create endpoint (#5792) (99ff715)
- Guild: Add enum for mfa_level (#5797) (ffabec3)
- RequestHandler: Emit more info when a rate limit was hit (#5801) (18ac72e)
- Add new APIErrors (#5794) (e0ab836)
- Util: Allow array for StringOptions' char (#5566) (fbcbb29)
- GuildAuditLogs: Make #target a channel for channel related logs (#5781) (eb0291d)
- Sharding*: Contexts for broadcastEval (#5756) (c6aeebb)
- Voice: Implement support for @discordjs/voice (#5402) (7b2e12b)
- General component improvements (#5787) (c4f1c75)
- GuildChannelManager: Add 'fetch' method (#4966) (e798fb7)
- Rest: Optional ratelimit errors (#5659) (16f261e)
- Promisified single interaction collection (#5770) (c2b3ed0)
- Message: ApplicationID for interaction responses (#5765) (65dc00f)
- Client: Make use of with_expiration in #fetchInvite (#5764) (bf191df)
- Interactions: Add InteractionWebhook for better internals (#5712) (dec191a)
- MessageComponents: Clickybois (MessageButton, MessageActionRow, associated Collectors) (#5674) (cbd7f2b)
- Esm: Use
gen-esm-wrapper instead of manually making the file (#5700) (db0d7d4)
- Rest: Show the data that is sent to Discord when an errors occurs (#5701) (ef92339)
- CommandInteraction: Make options a collection (#5705) (fdad140)
- *: Enforce strings (#4880) (7b85a72)
- BREAKING CHANGE: Removes all Resolvables for only string inputs
- Co-authored-by: SpaceEEC spaceeec@yahoo.com
- Message: Allow editing files into messages (#5718) (b212b64)
- Easier guards for channelUpdate (#5716) (d52bcd4)
- Add support for fetching multiple guilds (#5472) (48d6850)
- Guild: Add the new nsfw_level property (#5660) (3fe7add)
- InteractionDeferOptions (#5641) (ed593c9)
- CommandInteraction: Ephemeral followup messages (#5618) (68b40dd)
- GuildChannel: CreateInvite target options (#5514) (f831872)
- MessageEmbed: Remove normalizeField validation (#5459) (ff2f737)
- GuildMemberManager: Extend API coverage (#4872) (2e2464b)
- GuildChannel: Make createOverwrite and updateOverwrite not dependent on cache (#5489) (58763b0)
- MessageManager: Extend API coverage (#4869) (c56c4a8)
- Message: Add ReplyMessageOptions for #reply (#5296) (7ce741d)
- ShardingManager: Add options typings (#5583) (31b4390)
- GuildChannel#clone: Support for position property (#5236) (d455cb6)
- GuildBanManager (#5276) (6d09160)
- APIRequest: Support setting global headers in HTTPOptions (#5586) (135abcc)
- Message: Replace referencedMessage with fetchReference (#5577) (1398431)
- Message: Allow removing attachments (#5557) (ca9e5a0)
- Add support for application command events (#5596) (9f74f95)
- Interactions (#5448) (f7643f7)
- Sticker: Added Sticker (#4909) (026afc2)
- Webhook: Add 'fetchMessage' method (#5530) (63398d6)
- GuildManager: Allow system channel flags in create (#5504) (d9fa180)
- Guild: SetChannelPositions parent, lockPermissions keys (#5507) (4866e26)
- Webhook: SourceGuild, sourceChannel, improve owner (#5508) (116ecf2)
- Guild: Allow description and features in edit (#5505) (8a059cc)
- Util: Make
cleanContent take a channel instead of a message (#5535) (f1c0c04)
- Guild: Nsfw guilds (#5525) (5968323)
- Guild: Replace
owner with fetchOwner (#5480) (1be67b8)
- GuildFeatures: Added the new screening features (#5328) (3c175cb)
- MessageAttachment: Support for #contentType (#5481) (7b161f9)
- SysChanFlags: New flag and rename in sync with client (#5506) (fe93a7e)
- Move internal regular expressions to static properties (#5384) (207735c)
- typings: Add ShardingManager.shardList to type definitions (#5446) (32b0d71)
- typings: Explicitly type PremiumTier and Collectors (#5458) (7c49612)
- Make changes to PresenceData typings and docs (#5317) (eb43ce4)
- MessageTypes: Add 16 and 17 (#4685) (c9107e3)
- GuildMemberManager: Add 'search' method (#4154) (0ba2bcb)
- Stage channels (#5456) (eec7cf7)
- Activity: Add missing fields (#4984) (63ff6a0)
- Webhook: Add '(edit|delete)Message' methods (#5223) (7cabc1c)
- Rest: Better handling of global rate limit and invalid request tracking (#4711) (9d2d606)
- Application: Application flags (#5147) (06e9d86)
- WebSocketManager: Let identify throw on depleted limits (#5283) (624a446)
- Jsdelivr default file support (#5424) (f469402)
- Client: Add InviteGenerationOptions#additionalScopes (#5215) (ae3c3d8)
- ReactionCollector: Event create (#4108) (09d1f2f)
- ShardingManager: Allow b-Eval/fetchClientValues on a specific shard when not all are ready (#5222) (001676c)
- GuildChannel: Support conversion between text and news (#5022) (5ac3b57)
- BitField: Move problematic bit into the error message (#5228) (273e955)
- ClientEvents: Add tuple labels to event arguments (#5225) (764966e)
- GuildMember: #pending (#5121) (c4c8171)
- GuildEmojiManager: Implement GuildEmojiManager#fetch (#4933) (ffe3140)
- Browser: Remove browser <20> (#5113) (0a591a9)
- Role: Role tags (#4628) (d6234b7)
- APIMessage: Remove disableMentions (#4836) (4107899)
- GuildMember: Make GuildMember#setNickname first param nullable (#5070) (d70127c)
- Message|TextChannel: Inline replies (#4874) (60e5a0e)
- BaseGuildEmojiManager (#4934) (8d650a7)
- Message: Added string type for message nonce (#4782) (4b555fd)
- GuildMemberManager: Throw TypeError on incorrect GuildMemberManager#ban params (#4816) (863734a)
Refactor
- Replace dependency with initial implementation (#6310) (d5e28c2)
- Interaction: Rename defer to deferReply (#6306) (4241feb)
- InteractionCollector: Only keep Ids of objects (#6084) (b639b6c)
- Channels: Fix incorrectly shared properties (#6262) (5be471b)
- Added
TextBasedChannels type (#6286) (61db5f7)
- MessageComponents: Default setDisabled to true (#6279) (3c7c822)
- *: Use async functions (#6210) (e2e4f65)
- GuildChannel: Use filter method for #members (#6253) (7c54076)
- VoiceState: Change kick to disconnect (#6251) (24931d7)
- Merge collections with keeping entries at max (#6242) (bb5e648)
- Message: Accept a single object instead of 3 arguments (#6244) (434e330)
- Move member adding to manager (#6231) (198a5c4)
- Use guild-wide route for fetching active threads (#6193) (2a07055)
- Remove extended collection (#6246) (00bae4f)
- Strengthen channel typings in appropriate places (#6232) (65ae064)
- Message: Make thread a getter for accuracy (#6215) (5f710ae)
- Match subcommand (group) name casing with Discord's (#6204) (a69e2f7)
- Only cache commands from own user (#6161) (4886ae2)
- Message: Combine patch methods (#6071) (cd47a52)
- CommandInteractionOptionResolver: Add readonly data property (#6156) (328501b)
- OptionResolver: Accept single type instead of an array (#6154) (5addcd1)
- Change const enums to interfaces (#6078) (63ce065)
- ActionsManager: Less complex code (#6102) (4d53d0f)
- Remove timer utilities from Client (#6113) (5ca97c9)
- Remove typing caching (#6114) (576eee8)
- Channel: Change channel types to UPPER_CASE (#6035) (6301728)
- Managers: Rename add to _add (#6060) (9cd5e7e)
- ApplicationCommandManager: Remove unused assignment (#6063) (98a5b52)
- Rename
Constants.OPCode to Opcode, moved objects to enums (#6065) (4eb3a2a)
- PresenceManager: Have Presence extend Base and simplify add (#6056) (ded93fe)
- Presences: Remove from User, nullable on GuildMember (#6055) (afbd5db)
- Intents: Remove computed shorts (#6050) (3022b0f)
- Remove
lastMessage properties from User and GuildMember (#6046) (1a27f57)
- typings: General cleanup (#6047) (676118a)
- Change
xID to xId (#6036) (a7c6678)
- Improve typings and docs related to threads (#5991) (4bf4980)
- Util: Make class extend
null (#6000) (2446ff5)
- Rename events to be consistent with WS names (#6010) (a11a105)
- New node features (#5132) (1e8f012)
- Presence: Remove second assignment of
syncID (#5956) (fb8d516)
- MessagePayload: Rename APIMessage (#5921) (b15d825)
- Removed
code and split options (#5918) (985d4d6)
- Co-authored-by: Jan 66554238+vaporox@users.noreply.github.com
- BREAKING CHANGE: Removed
APIMessage#split
- BREAKING CHANGE: Removed
MessageEditOptions#code
- BREAKING CHANGE: Removed
BaseMessageOptions#code
- BREAKING CHANGE: Removed
BaseMessageOptions#split
- Collector: Make filter an option (#5903) (0d0c8f0)
- Remove exported shortcuts to util methods (#5904) (1816a93)
- Package: Remove
runkitExampleFilename (#5866) (6cceb93)
- awaitMessageComponentInteraction: Use options object for lib consistency (#5852) (9dda9b7)
- *: Make typedefs for all options params (#5785) (1ac9a2e)
- GuildPreviewEmoji: Make roles an array (#5720) (4dbcaf7)
- APIMessage: Remove unused declarations (#5836) (02693bc)
- Fetch options consistency (#5824) (7111b4c)
- GuildChannel: Use Permissions.defaultBit over 0n (#5822) (19d0405)
- Remove all voice code (#5818) (fdef940)
- MessageEmbed: Remove files (#5813) (e3e466d)
- Guild: Remove region from guild and manager methods (#5766) (a1f763e)
- Enforce single param on sending/editing methods (#5758) (0467a90)
- GuildAvailable, typingStop from Constants (#4861) (dda5ee2)
- Interactions: Move Structures import out of switch block (#5763) (84e5b07)
- Remove _roles from pseudo-managers (#5721) (53d952a)
- Deps: Use async-queue package (#5662) (14c6802)
- *: Return the invalid element when erroring from Array (#5314) (eaf332f)
- MessageOptions: Move replyTo to reply#messageReference and add failIfNotExists (#5298) (1ecda83)
- Sticker: Rename Snowflake variable (#5575) (af00ec8)
- RequestHandler: Use x-ratelimit-reset-after when present (#5511) (a5d41c9)
- Remove error-silencing try/catch on event handler imports (#5542) (cdcc50f)
- Sharding: Use options objects (#5510) (c9b5353)
- Add discord-api-types as a dependency (#5539) (1b827fe)
- Rename Snowflake to SnowflakeUtil (#5502) (164ddf6)
- Guild: Remove fetchVanityCode() (#5471) (0a2e0c0)
- Collector: Make endReason a getter (#5271) (8d14ee3)
- Switch api and gateway to V8 (#4879) (ee5bc1a)
- Client: Remove fetchAllMembers option (#5257) (aaed72b)
- GuildMember: Remove GuildMember#hasPermission (#5152) (5401b92)
- Util: Remove convertToBuffer (#5237) (a33eed7)
- Message: Remove stored edit history (#5155) (8c2e6b7)
- RoleManager (#5131) (2a0dcc5)
- Message: Remove options for Message#delete (#4999) (75e6dfb)
- Client: Improve generateInvite() (#5065) (5b51392)
Testing
- Types: Add
notPropertyOf type-only utility (#6051) (03fe6ee)
- Client should destroy (#5353) (4099c28)
Typings
- MessageButtonOptions: Clean up and export some button option type definitions (#6291) (ae6200e)
- Make MessageTarget extend on TextBasedChannels (#6296) (5b0621f)
- Caches: Add GuildStickerManager and GuildInviteManager (#6268) (15aea68)
- Use api-types for stricter typings (#6230) (00c2bf8)
- ButtonMessageOptions: Make button/link button typings more specific (#6212) (77c72e6)
- WsEvents: Add thread ws events (#6194) (4f1f32f)
- DataManager: Add 'K' to type parameter of 'resolveId' (#6152) (8586505)
- ColorResolvable: Readonly tuple (#6153) (1e90be8)
- Message: Mark
#thread as nullable (#6129) (ef5ba05)
- Options: Add types for cacheWithLimits (#6095) (8db6df3)
- Interaction: Change inGuild return type (#6094) (60148c6)
- PartialWebhookFields: Add APIMessage to deleteMessage union (#6085) (a9e7ebd)
- Interactions: Fix function overloads (#6109) (98c6078)
- Guild: Remove fetchVoiceRegions (#6099) (a8984bc)
- Partial: Add partial reactions (#6066) (d6c43a5)
- Test: Fix overloads for channel create (5b6be0c)
- GuildInviteManager: FetchInvitesOptions (#6076) (c1eaa78)
- Fixed unreachable overloads (#6062) (7322547)
- ApplicationCommand: Fix option name (#6067) (58bbcd5)
- *: Revert incorrect unknown type changes (#6057) (2e078e4)
- Options: Should extend null (#6042) (c4aa9fe)
- Voice: Move types to the library's definitions (#6041) (185e376)
- Better fullPermissions typings (#6028) (2ab32e6)
- MessageOptions: Fix components being optional (#6005) (56b5b7e)
- *: Create mention types (#6003) (0dc5dd5)
- VoiceState: Fix optional params (#5993) (1242c54)
- ClientUser: Updated
setAFK signature (#6011) (c40b06c)
- MessageSelectMenu: Fix typings (#5995) (fe6cc0c)
- Interactions: Fix function overload types (#5989) (521d26c)
- Few missing thread channels (#5988) (941cd86)
- MessageOptions: Improved component typings (#5987) (0eeb277)
- ApplicationCommandPermissionsManager: Fix types (#5979) (388e05b)
- ThreadChannel: Make locked and archived param optional (#5980) (a08ce7d)
- *: Make hex color types compatible with ColorResolvable (#5973) (788d58e)
- CommandInteraction: Readd followUp type (#5974) (ae37d20)
- ThreadManager: Add type to ThreadManager#create options (#5969) (3174507)
- ColorResolvable: Change
string to #${string} (#5950) (acdcb90)
- Define ApplicationCommand enums in lib (#5947) (e37ef3a)
- Fix remaining Raw type references, update discord-api-types dep (#5942) (03d3a5c)
- ThreadMemberManager: Fix incorrect usage (#5928) (6065b11)
- MessageReactionResolvable: Add string (#5863) (a0b7d95)
- GuildApplicationCommandManager: Allow undefined command (#5837) (d5bb758)
- Corrected shard broadcastEval (#5834) (a0a56e2)
- MessageComponentInteraction: Update should return Promise (#5829) (08cffd6)
- Extendable: Add ButtonInteraction (#5802) (19fd162)
- Extend MessageComponentInteractionCollector correctly (#5752) (c6696d8)
- Fix awaitReactions typings for returned collection (43fc40e)
- Change remaining string IDs to Snowflakes (#5737) (ff4d6dd)
- Snowflake: Export the type (#5722) (66a6a1f)
- Use Snowflake type (#5717) (76db642)
- PermissionOverwriteOptions: Remove unused interface (#5651) (b40027b)
- WebhookMessageOptions: Omit reply instead of replyTo (#5610) (2345c6d)
- Remove typings for Client#disconnect event (#5469) (a4d09ab)
- PermissionOverwrites: Use correct parameter type for resolveOverwriteOptions (#5302) (ca5f371)
- MessageReaction: Allow message to be partial (#5303) (aac6275)
- RateLimitData: Remove timeDifference property (#5208) (80e1afb)
- Make Client#voice non-nullable (#5148) (40d77ba)