github discordjs/discord.js 12.0.0

See the updating guide for a better representation of what changed and how you have to change/adapt your code.

  • Guild#fetchMembers removed in favour of GuildMemberStore#fetch (^)
  • Rewrite Presence. This removes Client#setGame and replaces it with Client#setActivity while also adding a Presence store and a Presence structure (c4df2502ecdae2b1989be71e3a7861da1da2437c)
  • Removed Guild#deleteEmoji in favour of Emoji#delete (c93c4ad21fc2272ab2269083dd94bbb6af4f7aa7)
  • Removed Attachment in favour of MessageAttachment (methods stay the same) (d6b276bc29ba1f9fe357287c7603899d022c0986)
  • MessageSearchOptions#sortBy now defaults to timestamp instead of recent (291af7e845126d10a5fd95c6a6576e0e40a9e0ac)
  • Removed exported EvaluatedPermissions (0a05761b49dbd3970234ddaf80484fc78a1afbda)
  • Rename ShardingManager#launch event to shardCreate (0d188c0fba3ecd5c247e1d9269b42297c3f83eb8)
  • Add more options to MessageMentions#has (2f84d950775c2d50b9f254f61885533440b9deaf)
  • GuildMember#permissionsFor takes options object (61da73fee00078a88401d82b66fa3402e0d2785d)

  • Return undefined from Collection.find() / findKey() (4122db027531a0e9382a6d01ce60f3848ca3bb35)
  • Receiver#createStream should take options (4a1b55d145bdad7383b6bcf56c930c8cd205db08)
  • Unified audio playing methods, now called play (2b5fc77a67de2d9143a31e18ab95d3452aff7360)
  • StreamDispatcher#end renamed to StreamDispatcher#finish (65673197d4fbb10038ea4ab650177831a57fa577)
  • Remove MessageEmbed's max length checks (9810bdbc5ffcddfabd390c5ff72254465a78aa59)
  • Message#member is now a getter (d93d628f197117e8cda731a8d0a00d61d276a641)
  • Create a base Emoji class, for Emoji, now GuildEmoji and ReactionEmoji (aa3407f705002384acd8bb824437351d6f341305)
  • Fixed a typo in Error constants (352bd13e6f590e12d5e2e3be0cf836e929cef74b)
  • Make getters return null instead of undefined (799eea957e282519865f8ca80b685842ef15aa68)
  • Convert the lastMessage property from TextBasedChannel, User and Member to a getter (630009f3cf6185f9b94ec146dd1a2f0bdf7f9acc)
  • Remove various Collection methods and argument types and add Collection#partition (a732402c95438f5ddda20958e5c1b2360500069a)
  • Make client, guild, _content non enumerable in MessageMentions (e8ab049a677335453978afb0261a46da4018dd23)
  • Mark VoiceConnection#client and VoiceWebsocket#client as getters (18646b72f902d79b73b8010013df2cb9141a2755)
  • Remove Userbot methods and properties (5afd77ab730f413d0090be6ce0b0a7083ef15f7c)
  • Remove Collection#deleteAll (8e0ea9aa163983977c4cd8a1e1eca490612eb0cf)
  • Use null for getters (147488df89d91c908171e843ff962dea9fcda373)
  • Remove Clyde (94214fa73321f7fb73a149403dcb765cdad10372)
  • Make WebhookClient#token property non-enumerable (96a065560990a5fd06e7bdf38c62502dcba71b9a)
  • Move broadcasts to Client#voice (c8225631c9f7906c0aa4966db701fe594074f27c)
  • Rename createVoiceBroadcast to createBroadcast (9a092b6e57908e763c67a07dcbab5826f6bceef7)
  • Remove Client#voiceConnections (70d4b4455b4b7687c7e00aae8f6db5f453f2c7d2)
  • Guild#voiceConnection => Guild#voice#connection (dd446475371cdbd476e0cb11f79b996d0756e10f)
  • Remove Guild.voiceConnection and VoiceChannel.connection (bcb0cd838b9fbcbb7467d4618280a820baf2e0a2)
  • VoiceBroadcast.{dispatchers -> subscribers} (72dd872fce70754b0f7616f3d31b5616a48c7188)
  • Util#splitMessage always returns an array (e645dd6358d1ad60f81a919ddfebf7db2092b1bc)
  • Move Guild#defaultRole to RoleStore#everyone (2df4f227a446a48330e941762374a262e138d2fd)
  • Remove passes (Discord drops duplicated audio packets now) (c715ed9f8b6a7487d335901cf4b06d276069962b)
  • Remove util alias export (53a1f8fcd4e333e60c32f9f51dc4062708eec207)
  • Implement Managers (#3696) (bbdbc4cfa789383b7b3dbecf5e6b8401ea2dd998)
  • Bring MessageEmbed builder field manipulation in line with underlying array functionality (#3761) (b727f6c1b9dfca28f77908c28071da423fb3e503)
  • disableEveryone renamed to disableMentions (9cb306c823216130e5bddc268ba3aee025a5b98f)

Additions

  • Allow fetching of the author of an emoji (e0cbf0bb607381633fe125c18b86722985ba31ea)
  • Allow setting an initial presence via ClientOptions (87e5a4565937bf08c392401f1b75552aec49428d)
  • Allow Message#edit to accept a MessageEmbed as options parameter (b7c55f02c20bee5dab107ff453a6d3ea1a4a776a)
  • after option when fetching users who reacted with an emoji (f40a5e9f8875299aa6ec25a0491e4dc92868f54d)
  • Channel categories (c46c092d0de1d556c71d26bc3de45fb481dd75df) (64cbb98fb3c23f97e2c6535c5501480c123090c6)
  • Deep copy fields for MessageEmbed (63f6247ce5daf9ae6c065c07ed65aacf8d867dd7)
  • Expose DataStore (d41675c080fe2960d2966461223cd721b2e35f0e)
  • TextBasedChannel#bulkDelete now accepts an array of ids and handles cases of 0 or 1 message(s) (3c0d7b810507ba05e7e49eb93794f44a7a8c5825)
  • Allow editing the channel of webhooks (d8850dbdd821508d1dfec676ae9c5260aaa28a5f)
  • Support Guild#verified (69d84081d327382a35ed22dd52cc5ceb3e84fe96)
  • Rate limit event (ee1d4c53f2770b5e4748d0d7402dc0291f9f869e)
  • Zlib stream compression (0589b7d7f1dbb49e065f69098d9097811c3ed1be)
  • TextChannel#setNSFW (0fc9459450341ae894dcbf62939f43bbca0d6c79)
  • Expose Base, CategoryChannel, ClientApplication, ClientUserChannelOverride, ClientUserGuildSettings, RichPresenceAssets, UserConnection, VoiceRegion (0a05761b49dbd3970234ddaf80484fc78a1afbda)
  • Allow GuildChannel#setUserLimit to reset when passing null (62544905a06152ca769c4e6d5f16337b134ac67e)
  • Emit ReactionCollector#remove on all reaction removals (09315ae9dbcef978721a10dde4d00971fba0561c)
  • Shard#ready property and related events (196cf7652e1a9c9009578a0c532bf6f0ddd7451e)
  • Custom Structures (77fc0465508c3a3b673e4b7c19d0448536c4a8f8, dcf48e2225ce68c004c312fac7125dd85c0f2872)
  • Animated Emojis (84e4dd6a998294e8a9a50c885006c1a908ba09ba) (2318812f7f2229e0934a28967b406c4ef7f58073)
  • Allow passing a function to shard eval (8aafcd6cdea4b524e910c5e765e080cfff3477f2) (42c0e50c92d28dca78057907d89d4df576daedf2)
  • Permissions improvements (d5b0cf9ffb5456efb270fc7ca8a0995feffe08e8)
  • Allow GuildChannel#permissionsFor to resolve permissions based off a role (b846cbd2b3760bc9438a0c75974bd15b9246d5e8)
  • Added Permissions#toArray (d5b0cf9ffb5456efb270fc7ca8a0995feffe08e8)
  • Added GuildMember#managable (36555c1cea5d559eb5cfbaebec7866b21cd1a835)
  • Added GuildChannel#fetchInvites (47bc0fc51e937f036a71d477f56fa884d44ee92d)
  • Add Guild#manageable# getter (ef4bd92c8a56a50df3d6caea92b34d3c9ad90f0f, e431ccdad2d539fe6f6e35a836a2c83cc6308cdf)
  • Add Guild#mfaLevel property (b3ff7c728ee005f7c07f6f521f90dd0fcc5ae3cb)
  • Allow dynamic generation of snowflakes (f6216f3905adc2d01532c0fd6ad1e0fadec6d842)
  • Add topic in GuildChannelStore#create options (c9c2d6697119fcbe9b0f4e8285852f62a4dbccda)
  • Add DiscordApiError#method property (62605c4470bc78b4f302b7d40f2492f066b3e5b8)
  • Add Collection#tap method (7a3a4d1388c5f97d73a06021c1bd9167ea905656)
  • Add Collection#sweep method (7a3a4d1388c5f97d73a06021c1bd9167ea905656)
  • Add GuildEmoji#deletable getter (fca6d3be568fa57fb75bb3483ac6d637d5a4e190)
  • Add Shard#kill method (fc8192472455da917133c80dc0eea7666c69c195)'
  • Add "deleted" property on multiple structures (f0c4d0e834d66a4ad1c3cd766addfd8726ef2070)
  • Add support for Guild#defaultMessageNotifications (30c7d6d1b16a336a1ff37cac23fc5dfe3c952417, 270a278a6e93c65eeb4e861b230f61f5c3e1da5e, 95b2dd3fe63ec9b6c7cec4f63f8276f4d907f228)
  • Add support for passing execArgv to ShardingManager (bfbb723f4293c883172d977e4451104b8cfe42b7, 6b3bfdd7dede049ba592e94ef1b1acc40a5e37fe, 93f8c8547b1033b10a0204a8e7343e64af34120a, 938d87d5d630f533e17c6dfd96f1f6622ad87079)
  • Add GuildEmoji#fetchAuthor (e0cbf0bb607381633fe125c18b86722985ba31ea, f963621ef1ad952bfe38f42a65c9025967f3bf50)
  • Add Message#url getter (ba32eec7e8903d6cd6d589c9fa3feda506a33537)
  • Add new Permission PRIORITY_SPEAKER (b38f537da89e02d7cce0af508cd07d284e2fa8ec)
  • Add cache members from data in message payloads (8152841bab23eb37b2c83c4d2dc136ddc0c01cb4)
  • Move Message#cleanContent function to Util (f3d7f7c3bd662d84cd9fb1780ebebeafa91a2b64)
  • Presences track users and guilds, emit them in presenceUpdate (08eff6693971ed57f96f32b8b41e3969ff0cd325)
  • Allow for streaming silence to avoid audio glitches with repeated pausing/resuming (e0f52162eabc901d994f644ba9dcdcc3bf70776d)
  • Add Guild#fetchVanityCode() (f8057b01cb321d468c61b04227b9589fb4dcded1)
  • Handle and forward WEBHOOKS_UPDATE events (0401b8ad779a210358975d2e4bd37bd570428c83)
  • Support GuildEmbed (5787deef264fd5cc2179c5f9584d49443d1eb0d9)
  • Add UNKNOWN_WEBHOOK error code (6be8172539065675c1cd7c12f25ffbaa19f66713)
  • Support Guild Integrations (c4df02782efadbfa152a697d6085191efb54d272)
  • Add ClientOptions#retryLimit (be4d6f9dc31229b3557b464a0937967d56d760f1)
  • Add TextBasedChannel#lastPinTimestamp and TextBasedChannel#lastPinAt (e96a60361ad76a9aee9205d09b2962e0d7979db1)
  • Support RateLimitPerUser (d4c0bb2a0d9a103a6c8242439c918704b93ead85)
  • Add WHITE to ColorResolvable (62e7e26310927d2898eca5c5036d29fd5e79fcc0)
  • Move Emoji#createdAt and Emoji#createdTimestamp getters from GuildEmoji (71c04a303a2c77e908d7c6f2ba742b520a2e1e73)
  • Allow options as first parameter to ClientUser#setActivity (1ee417cd65e81c4c44669355baf3de717b5b8b3a)
  • Support for create with GuildChannel#rateLimitPerUser (8ec3b5134dcd55c5d18910ad0d751ef0c01568d6)
  • Allow MessageEmbed#setTimestamp to take a timestamp (1fe36087d4a665fc61905a84e69f2257437a1a72)
  • Add worker-based sharding to the ShardingManager (ab3a43919890f0a45812fd91788ea911a106f937)
  • Add error code 50020 (54aff3191e3576dce519634fdbf31bbaabfd907c)
  • Allow to set all options when cloning GuildChannel (d92ee2ff999954899c891c093f5f107dd686b64f)
  • Support for GuildChannel#create to accept a position (a8b47a7a6cfa7a823dbb47f250fa5447f4c5320f) (21ec03140f182b93ddc151e9edbdb6da8d8ae703)
  • Presence#clientStatus (75e264da5744b7258d92865856f5f238947c1f47)
  • MessageEmbed#length (1db78994dde894e796934758c7701e7bb160af00)
  • Export HTTPError class (dd8ba00af4e4e4f64526cf476467fb0ded0257ff)
  • Partials (5c3f5d704840fca3888264e19eb38d88977304ea) (6af0da10436b13b29033a1da0a7ea96598651029) (161f90761aa357f17066f4171a5f43f76a552eb7)
  • Add ability to delete broadcasts (6adb0a6609905318959a51f4e9d16b2c2a503987)
  • Internal Sharding (3f5161eb76b71ab8984e39ff39bf2937b82f5b43)
  • Add Webhook#url getter (c078682722541713c9ac30f6777d6dafe560fcb5)
  • Add ClientVoiceManager (70d4b4455b4b7687c7e00aae8f6db5f453f2c7d2)
  • Add YELLOW to ColorResolvable (520810d48411013307ca310f0eff988a210266ca)
  • Add Invite#deletable getter (c4b79571ba5bd468c6c2b27b7c6f43d421730dd5)
  • Add VoiceChannel#editable (870528ed33b22b7a803915965da9f701cf62ccd2)
  • Public raw events (9b0f4b298d12ce95863265c32e8a0308ae51661a)
  • Add .voice (ce1e3d20847ea226839a4cba15dcefa875086d12)
  • Add news and store channels (a59968f7de048118e307faa8e7a5990813b6f338)
  • Self mute/deaf methods (692494dc043e0c98f9e5075138e461c9a972a615)
  • Add Stream permission (5154850a54ad4a4d253c14d1ae34db94c68d28fe)
  • Support for premium guilds (c87758086b81fda632a2f678ed46c4ab2ae8673f)
  • Add Guild#setRolePositions method (8bc8ffe168f9bd37a9fb372bd2b47d8be15d9f40)
  • Teams support (a22aabf6a827f8643cf84939e9065b6c37b289e0)
  • Add banner to Guild#edit method and add Guild#setBanner method (adb082305d41194f0392353f1da29d43f2bc5617)
  • Add idle time for a Collector to stop itself (#2942) (f1433a2d97fb037660a33dc577d005d7f9676dda)
  • Allow separate escaping in Util#escapeMarkdown (00c4098bb315a92322d708fe4cf71d070508ab69)
  • Allow collectors to be consumed by for-await-of loops (6d3c55b68cbdb258421e017577f52da0d8deaf85)
  • Add Permissions#any (a6810e2eaaea4021d0a283c7f20ff6d643d34f4f)
  • Add VoiceState#kick method (c86a6154aa736aee6bde9fa76ebd34b24225ee79)
  • Guild#partnered (6f83e715557ce834e0e5021846836698856a9fec)
  • Add Constants#verificationLevels (37ecf7b826db002875ff578e31bc9ac001b14882)
  • External @discordjs/collection package (dad0cd8e81e3f530d5e0dda1ea45359c602372ca)
  • Add VoiceState#streaming (a8f06f251f1af87650711d4c163ed32d909d4e18)
  • Add MessageAttachment#spoiler property (38d370fb18fdbf079b1c91793c0550e77667eccd)
  • Add new GuildAuditLogs event types (MEMBER_MOVE, MEMBER_DISCONNECT, BOT_ADD, MESSAGE_BULK_DELETE, MESSAGE_PIN, MESSAGE_UNPIN, INTEGRATION_CREATE, INTEGRATION_UPDATE, INTEGRATION_DELETE) (1bcc0c2e1d7a8824529e63bee304ad1cb54ddfe3) (a69ebbe9d957a21d165caf0582c0640e501908e9)
  • Support for CUSTOM_STATUS activity type (2ca74d6b63392c09a388c58f9b04945e884646c6)
  • Add Webhook#avatarURL method (330d5db5868ad61bbdae5ba0b2090d10d76ae9c9)
  • Add new MessageFlags.FLAGS (SOURCE_MESSAGE_DELETED, URGENT) & User#system (43782839ec51519deb27977573fb44e516c35ec2)
  • Add Guild#systemChannelFlags (f578cce9ac75114c51f7a4538974817a3836d3fd)
  • Widen GuildResolvable to include more structures (b4f00bfb6be6e6db25ca33122bd6e4318f081bf4)
  • Add Webhook#type property and Webhook#created* getters (ea76a5663937afe78b58076eefb6ab1ed2fc1795)
  • Cache mentioned members (97eac663b3e1292cc399c56eb701069301f4637d)
  • Add Twitch preview link for RichPresenceAssets#largeImageURL (bf31b28ad95ce98840aac898209715b2c7b450ad)
  • Add PRIORITY_SPEAKING bit (b5825c33b0f07b57d174a7d0bf157b19dc99e73c)
  • Dynamic property for ImageURLOptions (8014ddcd1c651749fc64e8dfc0b0863422d57203)
  • Support for multiple activities (ee0b7c155a1767ed42e2756e53d56368e8b69929)
  • Add Guild#fetchBan method (c779fe3670b2279de8638de6f2e70e008b1b1804)
  • Support for INVITE_CREATE and INVITE_DELETE events (929ff9ccd0f1aa3c1d070915d567f594077b8288)
  • Add MessageReaction#remove method and Client#messageReactionRemoveEmoji (030d263a9e018a766c5f399624fe4f8ec2b7349c)
  • Support for flag editing / embed suppression (46ee06b4245ee930698f880ae35c90b321382858)
  • Add new MessageTypes (14, 15) (ef8acecc70542c0ffbebe4626c111c5dbd1f7993)
  • Add Guild#rulesChannel and Guild#publicUpdatesChannel (bea6da621d0e37000826c6fddf6f33c964704443)
  • Add Collector#resetTimer (acf724e691678998cb6774846454913a183c9614)
  • Add GuildEmoji and Invite to GuildResolvable (91a025caaaadb49a4f6610ef1ff2f06d69784987)
  • Document article embed type (31a3a86ebccf7db299588e9899d20c19dab80710)
  • Document intent error code messages (f4b1b398d9c15d43e012eb3b8971ae0fc8412dc0)

Fixes

  • Make Util.splitMessage handle more edge cases (e58ff642f5be86960ffdabb8e9dec82a6d500c8f)
  • Allow Util.mergeDefault and Util.convertToBuffer to be destructured (58d85282b43f83974a2131563fafafaf99eed372)
  • GuildMember#addRoles and GuildMember#removeRoles return the member before the change (84153be8940328cd72c9406eff6f72c942fba938)
  • End process gracefully after failed login (5a3b59b4b0007ad6d5e1061a60fbb89b57b65dc0)
  • presenceUpdate fires twice, oldMember and newMember being the same both times (30dd3e0cff4aef4b32abdc4556d32c86658f6df3)
  • MessageReaction#count always being 1 (4e028d713a5830490936536d85994b4a7df0c3f3)
  • Guild#afk, Guild#systemChannel and Guild#icon not removeable (b8a37b6f0c89e48af64e61b8b56ef2d2f03c1f19)
  • Passing the constructor partial data from an invite (1bdaa6248193915b4333ea4cc6ac2b901117f1f6)
  • Avoid uncaught exception in ClientUserGuildSettings (87fa74acd4fccbc16534bda8108cdd90d5cf0f52)
  • Strip RTP header extensions for voice receive (99419a36706a52ac2372712a86229c3e0a2c0666)
  • userUpdate not triggering for initial setting (or removal) of avatars (f95ae4fcb7b92796d294fb7dba728b0c1e6dacfb)
  • Throw DiscordjsErrors at expected places (e34bd7c09c42697ff84a3d6396572a3a4ed92b83)
  • Guild#setChannelPositions (41c4999c2bf3dfa4e36aa71ee0d9106e95d084ea)
  • Check for GuildChannel#deletable not allowing guild ID to be passed (3767b351898b6ab6bd0c562ff9b94b19af13c634)
  • Permissions not resolving correctly (98b81fac3812bb1f84c83d75aaa96b250bdbef70)
  • Null MessageRection#id for default emojis (25ece1882b5a064013fad242fb2c84ac09252c70)
  • Reject login with proper error on timeout or on connection failure (3ace61a1795639487508856c1238884a27c61105)
  • VoiceConnection#setSpeaking not returning the correct value (3871662a9530e9f3c25f0c169ea8fbbfded1e1bc)
  • Incorrect webhook reference in GuildAuditLogs (8fbae130408613df3c8c49a8d89b956b4ff9c1ea)
  • Throw error when no token is passed in Client#login (69dcfa0708b3a2d0baebad6b3dcedd50f090cf23)
  • Websocket ratelimits (d8f6198a12b166f6a81f5cad82ad1555d431f90d)
  • VoiceConnection.playFile fails to be called twice (6b249ba4548e0cf105c6115a63e3ed1a18482194)
  • Timestamp of 0 on GuildMember#joinedTimestamp (8d7e745ee8283f41b6f7bceb87b46e151c36551c)
  • GuildChannel#edit and Role#edit with a position being incorrect (37f5256a0452697020b0119ed866343980ac3a90)
  • Remove bulkDeleted messages from cache (356778b9d56bead4b6534f372c4c139b7e4c606a)
  • Rapid joining/leaving of voice channel (29d743a5213e477f460ae6f32754dcf20b8468a4)
  • Client#login not using env.token (0277d1de7806947b963be86cd5a353700fcec9df)
  • Avatar URL generation for Clyde (bc30fdd8671d3a82ca90ede3c7df571ca3f0ecf2)
  • User#bot being undefined (b255af0825776eed430bbba0f96c4b8546bab926)
  • Default presence to be offline (a62d1e954d9e8be0a8acf3802dd4f87c367ac2a5)
  • Return a promise in TextBasedChannel#startTyping (94a4a068b9400000a3b057a1ae781cb9eb585bc4)
  • Correctly resolve user in Guild#addMember (21d09f338e8dc2ad3cbc74d1e3fd56994b92de01)
  • Fix location of toString for channels (abb93c9eb99ee1cf1580b3d09e46679186e8b6b7)
  • Don't send files in Message#edit (59d5c5a9475fef746542bdf4b7de826d3d632f10)
  • Allow resolving of external ReactionEmojis to succeed (0f7ce3f720c201a95320dec1a3e804a08e6699b0)
  • Do not increment MessageReaction#count twice when reacting to a message (513dbf2f689c7a1e4314c2141ae6dd4e7ebaaeea)
  • Fix null-check udp socket first in voice (ef8366d189b8c53f4acdc279caaae9fe682d63f2)
  • Do not prematurely patch roles in GuildEmojiRoleStore (d041cb2460a294b026e73750647647168ce7359a)
  • Inaccurate count in MessageReaction (4e0e64d8a19096c625603fe02f26cac2e42fda66)
  • Handle voice receive stream ends (a5e8f05d01e34b69b80736688704ee594b4d0900)
  • Properly cleanup voice after disconnection (384fdf8f1730a9b570f76419e1f769b1618e5566)
  • Fix issue of no audio after voice region change (fa886eaae9ae920092c8d3aacdd628bd8224369b)
  • null voiceSessionID after changing server region (ef138fd3e9fc4f7bc393bab6a8e053d75a131e0a)
  • Incorrect resolving of color in Role#edit (f985b6bef361e7ddde99396d539cee4d3a6ca5aa)
  • Remove member's voice state on guildMemberRemove (b955a514f6269c6300bbd633481824e9536bfe7b)
  • Only update speaking for non broadcasts in SreamDispatcher (e84575803702576669eb02c647474430ac0295b8)
  • Allow changing volume with webm/ogg streams (cb69102e5e2fda47172c306f76fcaa16093f0b11)
  • Webpack not successfully building (f2474845ba804c19313669e5f9405a7298352f7d)
  • Patch ClientUser presence with provided one in ClientOptions (61ad9475de1c47a9298d415b030aa44803d5a197)
  • Fix incorrect permissions resolving in Client#generateInvite (8d065fa043c3e855c3f6a296dc76d7da0846db18)
  • Provide an ip rather than manually resolve in voice (299fc001d5985cfceef05af2b11d355ff832f081)
  • Stop Webhook#edit from always trying to use client.channels (f293dddc29a0c3939f319b52c6553edb83fa88ad, 077d41fbca258b5e4c96c7ca08edeb15dcd066f5)
  • Stop using deprecated new Buffer (42ce4f8bc0c740c6fe7dff867df95febc267067b)
  • Also account for discord.gg/invite/<code> invites in DataResolver regex (ddab8096cffa8719694896ee3fba69e5f1b71f7b)
  • Prevent max listener warnings with collectors (32369f3bdd6ad765a571ec7595b1a53096419b11)
  • Make GuildEmoji#deletable check guild permissions instead of channel ones (6cde6deceee975d76ea3abf40e87bd6ab04655f7)
  • Ensure speaking is false when paused (841b9de918ea96a902c55414d641de5a0aee3caf, 685814aa619bfbce4824647e435858f097782491)
  • Support support xsalsa20_poly1305_lite and xsalsa20_poly1305_suffix (43c92c13e236d03375de263da963dd4459c523f3)
  • Only retry once on 5xx error codes (14aab1be3836eaa873f91c4fbe1456786add6e04)
  • Properly check for nsfw channels (5494f8e3bdb2e4a2aae74747797de4036a0bffa3)
  • Remove Util#arraysEqual in favor of new array comparison to stop guild from losing features in Guild#equals (d02c303afd84b3c05970379242db6b237b8c3305)
  • Fix GuildMember#joinedAt returning an Invalid Date (46b19bbbdbd17259108220a38b9e2fc530cef501)
  • Fix VoiceChannel#deletable returning true without required Connect permissions (0be0d2542df722bd8b155568caed5345c6135e3a)
  • Fix Shard#send and ShardClientUtil#send returning false on large payloads (512af54e5df43bb85a617708501892ec6b5b0a42, c5fea45f3090fd9ad565f581ee511fed5e9df63a)
  • Fix ReactionUserStore#fetch to be consistent with MessageStore#fetch (09708482f677452c111a5c559b9c84ab50613b94)
  • Account for GuildMember joined properties as nullable and allow fetching a new member in that case (13bfceb83cf771d1d56d28fd474d824f9a8884db, 5071477172053ef9d274aaab16cec0cfbd25b860)
  • Fix voice receive with suffix and lite encryption modules (d69e906027b82a36f91ead7f4cbe08bf4425d422)
  • Fix voice write after end (3bfc1ff61ca478a4e7bd34d64feb22c757113f8f)
  • Fix StreamDispatcher#_step _writeCallback being called multiple times (04618f554f6c86255f1d8e18eb083b020140419c)
  • Reimplement seek option in voice (1cdee7b48a13f571f563e7d8fe474908b64c4a5b)
  • Fix messages marking themselves as not deleted (037e8cf969a2ceb0b10f362f4e12467e779aad03)
  • Fix voice volume not being passed to transform constructor (3d41748a3802aed678bddccf76c9e5d2baa48c1d)
  • Fix incorrect mutation of FFMPEG_ARGUMENTS when using seek (bf738b34de1f02f83b4ddb3f60f3947840db91e7)
  • Fix socket hangup when using reply with an embed (526832058e78de8d8936e8db61b60775a0bcf3a5)
  • Fix ShardingManager#respawnAll iteration (f67d682223a0b0d330ec34738a3dfe51a50f3d8f)
  • Fix MessageReaction to only delete cache if count and users are both empty (3a7a7d730bcedf4a11789467f9d436d46949c9d2)
  • Fix wrong _patch call from GuildEmoji#edit and other issues (4ae58f66f4b46e789b3eb050f1dca9e09db71e0a)
  • Delete receive stream immediately to prevent it being written to after end (46fa9603c21411effee456362c1fe0031ccbfd19)
  • Don't clear reject timeout until connection fully resolved (55863efa155fb504d2ecd06986470eaa6c221f39)
  • Fix Util.basename being unreliable (0f63c50c063e072f034ead0d6a94ff31b0e3fd5d)
  • Fix splitting messages with codeblocks (ea4375bf9051bebdf25411d2eef096bcf148168b)
  • Fix VoiceChannel#members should be a Collection, not an Array (7968442dbfadb0345cffdd9f57abd3600e735520)
  • Fix GuildChannel#setParent should allow channel to be a Snowflake (8ac664801c38e7fe59b2ea4a6c930a88ff1f707e)
  • Fix default target to object with target_id (700201e3fe36651f77fbe06e2424adb90905d19d)
  • Fix patch in default VoiceStateUpdate in case on doesn't exist, cache member (38597de271ade384bdbb70aad60903c252e7d4c9)
  • Fix clear connect timeout after connected (64832abfdbb21041328a7155790764ef73e0b9fa)
  • Fix permission checking for Administrator channel overwrites (d437cecb3f8d10fa3f726f5806df1e7d972bbbb4)
  • Not emitting guildBanAdd for uncached users (e935611e50d3a55c35c9698c88639aae8a2d9b67)
  • Fix reactions ratelimits (f326fe67b1dec620c718e08ad8028abd0a577620)
  • Emit ReactionCollector#remove when reaction is removed by collected user (038b142db287353f205bc954d3653e175d52c436)
  • Emit voiceStateUpdate on guildMemberRemove (183ba25fafa51b76ea38d77235f9d33dd2f02daa)
  • Add missing MessageEmbed#proxyURL property to video (7006f00ae4f2c9e23ec4f31bf2d1de9ae4c98b90)
  • Delete VoiceStates even for uncached members (db56e0cbae67f221db9265f6889ae2b4f5c987d4)
  • Remove member voice state after emitting leave event (b5aff6d12006697d77dd10cd49cfca591065d9b3)
  • Default iconURL to gif if animated (1bec28bd8105aa09f43492491be9dd9cc7f7d701)
latest releases: 13.2.0, 13.1.0, 13.0.1...
19 months ago