Eris Versions Save

A NodeJS Discord library

0.17.2

1 year ago

Additions

  • Support Discord's gateway resume URLs (d27ef56)
    • In theory, bots may disconnect less after this change
  • Support GuildScheduledEvents (3e62ca7)
  • Support Member#dynamicAvatarURL() (eb40373)
  • Support addGuildMember() (OAuth2-only) (61b3b4f)

Fixes

  • Fixed audio send/receive in VoiceConnections (135dc35)
  • Added missing props in guildUpdate event (9320ab2)
  • Fixed the permissions check for the CommandClient help command (e43418d)

Contributors

  • @abalabahaha
  • @bsian03
  • @DonovanDMC
  • @ebroder
  • @eritbh
  • @Loliticos
  • @motoenduroboy
  • @TTtie
  • @YalphaFR

0.16.2

1 year ago

Fixes

  • Fixed audio send/receive in VoiceConnections (bf03a54)

0.17.1

1 year ago

Additions

  • Added config option for shard concurrency (05a932a)
  • Support pagination in getGuildBans() (fe16a8f)
  • Support batch-editing channel positions editChannelPositions() (99b1376)
  • Support setting permissionOverwrites in editChannel() (ba4cb94)
  • Support custom intent numbers (f886ebc)
  • Support interaction appPermissions (c7689d0)

Fixes

  • Fixed Guild#editCommandPermissions() acting like getCommandPermissions() (b8dcd62)
  • Fixed missing presences when getAllUsers and the presences intent are enabled (f7a8e50)
  • Fixed handling of uncached users/threads in getGuildAuditLog() (e888253)
  • Fixed joinVoiceChannel() erroring when the bot member is uncached (162d4ef)
  • Fixed videoQualityMode option in editChannel() (ba4cb94)
  • Fixed voice receive stopping when reconnecting (a9ad12f)
  • Improved handling of shard concurrency (05a932a, 34cd985)
  • Improved error thrown when calling connect() without a token present (bd58677)
  • Fixed docs (d0099b1), typings (a2e3a00, a2a60a5)

Contributors

  • @A5rocks
  • @abalabahaha
  • @Catboi8
  • @DonovanDMC
  • @eritbh
  • @frobinsonj
  • @HcgRandon
  • @HeadTriXz
  • @jimchen5209
  • @xaxim

0.17.0

1 year ago

Breaking Changes

  • TextVoiceChannel now exists. Previous assumptions about GuildChannels being text XOR voice are no longer valid.
  • The type of Member#premiumSince has been changed to match the documented behaviour. It was previously being (incorrectly) passed through as the Discord-provided ISO timestamp string.

Additions

  • Support timeouts (1a6e043)
  • Support text-in-voice channels (d6df49a)
  • Support Moderate Members permission (1a6e043)
  • Support concurrent sharding for large bots (36e7a76)
  • Support editing individual channel positions (bb8a45e)
  • Support new 5/20s editStatus() ratelimit (072db2e)
  • Support passing BigInt to Permission#has() (e963166)
  • Expose headers in DiscordHTTPError and DiscordRESTError (2712a85)

Fixes

  • Fixed Member#user property de-sync issues (6619b17)
  • Improve handling of shared ratelimits (2712a85)
  • Fixed incorrect Guild#shard calculation (c1f1f86)
  • Fixed some disconnect-related gateway race conditions (a9b8ad4)
    • Including the occasional zlib data error
  • Fixed bitwise overflow error in VoiceConnection (52db153)
  • Updated Constants.Permissions.all with new permissions (b485352)
  • Fixed error when handling USER_UPDATE for uncached users (c223725)
  • Fixed missing audit log reason when using deleteMessages() (017c18a)
  • Fixed Member#premiumSince parsing (65b1850)
  • Fixed error in unknown interaction type handling (c6b380b)
  • Fixed missing file in interaction createMessage() (9a55be5)
  • Fixed missing defaultPermission in command-related requests (90fad3a)
  • Fixed undefined ThreadChannel#ownerID (4ca306d)
  • Fixed errors in THREAD_MEMBERS_UPDATE handling (6ba5b05, 1a79ef6)
  • Fixed error when building Message#jump for private channel messages (2f7526a)
  • Fixed docs (f4db90e, b7a1189), typings (4c631f5, 98c5c8b, 44dba49, cb8971a, 42e713b, f163a56)

Contributors

  • @Awoocado
  • @beanjo55
  • @bsian03
  • @curtisf
  • @d00mster0
  • @davidffa
  • @dd-pardal
  • @DonovanDMC
  • @Dramex
  • @eritbh
  • @frobinsonj
  • @GweeKwee
  • @HcgRandon
  • @james58899
  • @Linker-123
  • @ray-1337
  • @reinhello
  • @thetimtoy
  • @ZixeSea

0.14.2

1 year ago

Fixes:

  • Fixed error when handling null GuildChannel#name (2351da1)

Contributors:

  • @DonovanDMC

0.16.1

2 years ago

Additions

  • Exposed methods for directly sending voice packets (dcf8ff1, 7c39e1a)

Fixes

  • Fixed reconnect handling (4ac1103)
  • Fixed voice receive errors (56e37c0, fa36f0b)
  • Fixed incorrect thread method references in Guild#getActiveThreads() and Message#createThreadWithMessage() (87473ba)
  • Improved ratelimit handling for deleting messages <=10s old (0f3ebc8)
  • Improved ratelimit handling for getRESTGuildChannels() (7743366)
  • Fixed docs (9dd304b), typings (a4023da, 0bc76c9, 67b28a2)

Contributors

  • @abalabahaha
  • @bsian03
  • @davidffa
  • @DonovanDMC
  • @eritbh
  • @ZixeSea

0.16.0

2 years ago

Breaking Changes

  • Discord API v8 and v9 breaking changes:
    • Discord now requires users to specify Gateway Intents to receive certain events. To ease the transition, Eris defaults to requesting all non-privileged intents, configurable through the intents Client option.
    • getGuildEmbed() is removed in favor of getGuildWidget() (e194a71)
    • PermissionOverwrite#type is now a number instead of a string (e194a71)
    • The guildSubscriptions Client option is removed in favor of intents (e194a71)
    • Member#joinedAt is now nullable (3fe4d21)
    • Guild#region is removed in favor of VoiceChannel#rtcRegion (3fe4d21)
  • The voiceStateUpdate event can now emit with a partial member and null oldState (ee960c0)
  • The ws Client option has breaking changes (see [email protected] release notes)

Deprecations

  • Discord v8 and v9 deprecations:
    • Guild#nsfw is superseded by Guild#nsfwLevel (0abf61a)
    • On new messages, Message#stickers is superseded by Message#stickerItems (b483ff3)
  • getGuildAuditLogs() is replaced by getGuildAuditLog() (ec777a1a)
  • Paginated functions now take options objects instead of flat lists of parameters (ec777a1a)
    • e.g. getMessages(channelID, { limit: 5, around: msgID }) instead of getMessages(channelID, 5, undefined, undefined, msgID)
    • Includes getGuildAuditLog(), getMessageReaction(), getMessages(), purgeChannel(), getRESTGuilds(), and getRESTMembers()

Additions

  • Support Message#stickerItems (b483ff3)
  • Support new and renamed:
    • Permissions (a7bff54)
    • User flags (3548cae, 24d84a9)
  • Support sending multiple embeds (8e9a2b7, 0726aae)
  • Support intents (e194a71, 1e95e62, a7bff54, a365531)
  • Support Member#activities (e194a71)
  • Support Message#components (120f917, dc72ad9)
  • Support per-Guild avatars (a58cd69)
  • Support mute/deafen in joinVoiceChannel() (e357991)
  • Support stickers (daedb2b, 7145134)
  • Support User#banner (558bbe5)
  • Support Role#icon (59a35bb)
  • Added/Updated various Constants (da84b35, 2d317cf)
  • Support interactions (a9c4934, e8b819a, 3fe4d21, dc72ad9, 1a8ee35)
  • Support Guild#premiumProgressBarEnabled (e8dfcbb)
  • Added "identifying" Shard#status (5db41aa)
  • Support Discord Gateway/REST API v9 (3fe4d21)
    • The previous release used Gateway v6 and REST v7. Gateway v7 was officially skipped, and API v8 was included in the development cycle for this release.
    • Support threads
    • Support stage instances (1e4d78a, 3fe4d21)
    • Support attachments in editMessage()
  • Support target options in createInvite() (117de32)

Fixes

  • Fixed updating VoiceConnection state when kicked (ea9d670)
  • Fixed BigInt serialization in request body (ed6b24c)
  • Fixed Message#flag cache updates (e54366b)
  • Fixed use of deprecated params in getMessages() and purgeChannel() (f90e56d, 15546c4)
  • Fixed createChannelInvite() for uncached channels (8582d3c)
  • Fixed incorrect GuildTemplate endpoint (11d21c9)
  • Fixed handling of partial member objects in permissionsOf() (7e55222)
  • Fixed incorrect Invite endpoint (e194a71)
  • Fixed uncached member handling in voiceStateUpdate event (ee960c0)
  • Fixed createRole()/editRole() without permissions (4bb65f0)
  • Improved ratelimit header handling (c31685e)
  • Fixed uncached author handling in Message constructor (6331536)
  • Fixed heartbeat-related disconnects during identify (5db41aa)
  • Fixed use of removed method in SharedStream#play() (e195b59)
  • Fixed Member#voiceState.selfStream when user stops streaming (dd768ec)
  • Fixed docs (10cc6c4, d4a49a6, 756943d, 6e76e52), typings (49336e8, bccde64, 34f3d9c, 3d80d20, 840227e, 21a3ce5, 53da0d5, 93ce365, aa8bedf, e8dfcbb)

Contributors

  • @5antos
  • @abalabahaha
  • @ak-s
  • @Alirezarfe
  • @Ashesh3
  • @Awoocado
  • @bsian03
  • @Catboi8
  • @DonovanDMC
  • @Dragory
  • @Dramex
  • @eritbh
  • @Exhabition
  • @gegdev
  • @HeadTriXz
  • @iiFDCT
  • @J-Human
  • @Khaaz
  • @luvaeria
  • @NotMarx
  • @oceaann
  • @retraigo
  • @untuned

0.15.1

3 years ago

Deprecations

  • Discord has seemingly never supported the before parameter of getMessageReaction(), so that has been removed but is not considered a breaking change (3e86cd7)
  • createMessage() now uses content.messageReference for referencing messages. The content.messageReferenceID parameter is deprecated (c3d491d)
  • Some requests with paginated responses now use an options object for parameters. The old call style is deprecated (ec777a1)
    • e.g. getMessages(channelID, limit, before, after, ...) => getMessages(channelID, { limit, before, after, ... })
    • Includes: getMessageReaction(), getMessages(), getGuildAuditLogs(), getRESTGuildMembers(), getRESTGuilds(), and purgeChannel()
  • getGuildAuditLogs() was renamed to getGuildAuditLog(). The old name is deprecated (ec777a1)

Additions

  • Added support for editGuildVanity() (c152aac)
  • Exposed Message#interaction (5837a31)
  • Exposed Guild#nsfw (9223266)
  • Added support for stage channel REST methods (b6d51ee)
  • Added support for getWebhookMessage() (2a840a0)
  • Added support for Guild welcome screen endpoints (fba1f7c)
  • Exposed Role#tags (824ccf7)

Fixes

  • Fixed handling of getGuildIntegrations() options (0a3490f)
  • Improved ratelimit handling (d58b788)
    • Particularly for deleting >=2-week-old messages and reactions
  • Fixed handling of voice server switches and disconnects (e2814a2, 95cffe4)
  • Fixed some voice (re)connect stability issues (94e7e18)
  • Fixed an issue where voice receive occasionally stops working (94e7e18)
  • Improved memory handling of voice sending (939b70f)
  • Fixed an issue where recently-disconnected voice connections could prevent the process from exiting (ff4bcc0)
  • Various typings/docs fixes (2dff361, ed23407, fcd608d, b3c1b38, c222bc5, 608524d, 90b0bb4, 8d3120e, 5f7769d, e06f38a, 340ffe9, 028efe3, 2f6c71e)

Contributors

  • @abalabahaha
  • @bsian03
  • @DonovanDMC
  • @eritbh
  • @HeadTriXz
  • @james58899
  • @Snazzah
  • @xaxim
  • @zerefdev

0.15.0

3 years ago

Breaking changes

  • @discordjs/opus replaces node-opus is now the supported native Opus library (voice connections) (9830082)
    • @discordjs/opus is a maintained almost-fork of the now-deprecated node-opus
  • GuildChannel#nsfw no longer uses old name-based logic (7d029d0)
    • Discord client used to (but no longer does) treat channels with name == "nsfw" or name starting with "nsfw-" as NSFW
    • GuildChannel#nsfw now strictly mirrors the API property
  • The messageCreate, messageUpdate, and messageDelete events now emit with partial messages/channels if possible (see docs) (c81b689, 8acd468)
  • Client#token was removed (99f4163)
    • The current location is Client#_token, which is non-enumerable and not stable
  • The guildEmojisUpdate event now emits with a partial guild if possible (see docs) (16c6a76)
  • Node.js >= 10.4.0 is now the minimum supported version (3649cd7)
    • Primarily for BigInt support
  • Permission#allow, Permission#deny, permission constants are now BigInts (3649cd7, f092b89, fd2ee5f, d7c69f2, 39dd05f)
    • Discord permissions have exceeded past 32-bits, so non-BigInt bitwise logic no longer works properly. Using BigInt helps with future-proofing
    • Permission sent in REST methods can be either BigInt or number type
  • uws is no longer supported (b459a94)
    • The library is abandoned and buggy

Deprecations

  • Existing REST-related Client options are deprecated (2095d3e, 7a5ec43)
    • Equivalent options are now under options.rest in the Client constructor
  • Support for bot tokens without Bot prefixes is deprecated (99f4163)
    • Bot tokens should be prefixed with Bot (see docs)
  • The requirement for URI-encoding audit log/ban reasons is deprecated (6771b3f)
    • Normal, unformatted reasons are now formatted properly in both the audit log and ban list
    • The Client option options.rest.decodeReasons was introduced for this transition. With the current default of true, URI-encoded reasons will be decoded, so URI-encoded reasons will function normally. In the future, options.rest.decodeReasons will be removed, and reasons will no longer be decoded.
  • Some permission constants are deprecated (0d68bf4)
    • viewAuditLog replaces viewAuditLogs, voiceStream replaces stream, viewChannel replaces readMessages, and useExternalEmojis replaces externalEmojis
    • The old names are deprecated, but still work for now

Additions

  • Exposed latency in rawREST event (e789deb)
  • Exposed member in typingStart event (98c261d)
  • Added support for system channel flags (984ffbb)
  • Added support for inline replies (5936086, c77b3af)
  • Added support for guild templates (8e32b98)
  • Added support for Guild#discoverySplash and URL getters (b910d1d)
  • Added support for util.inspect() to more classes (1281781)
  • Added support for userID filter and new properties in audit logs (8ab1ab7, 27b9704, 02e989c)
  • Added support for guild discovery (ed8f2ef)
  • Added support for editing/deleting webhook messages (4195ab8)
  • Exposed Client#application (after ready event) (d41dddf)
  • Exposed Member#pending (af877e7)
  • Added more async support in CommandClient message helpers/generators (fb440b2)
  • Exposed more oldMessage properties in messageUpdate event (936af87)
  • Exposed Message#stickers (9cd3a5d)
  • Added support for message types 20 & 22 (64cf536)
  • Exposed Guild#welcomeScreen (9a89483, c8ab1bb)
  • Exposed VoiceState#selfStream & VoiceState#selfVideo (011548e)
  • Added support for more properties in editChannelPosition() (fc038fa)
  • Added support for more properties in editGuild() (9d7e05e)
  • Exposed new GuildIntegration properties (c149e73)
  • Added new REST options in the Client constructor (2095d3e, 7a5ec43)
  • Added support for stage channels (5ae9f52, 3750145, 7b08976, 8087450)
  • Exposed VoiceChannel#rtcRegion and VoiceChannel#videoQualityMode (f994117, 9da9d05)
  • Added support for files in editWebhookMessage() (32b54c8)
  • Added support for useSlashCommands & voiceRequestToSpeak permissions (906690c, ab38c3f)
  • Added support for content objects in Command messages (4bce200)

Fixes

  • Fixed editing of messages authored by others (4046281)
  • Fixed mishandling of ban reasons causing empty reasons to appear in ban list (ad00c9b)
  • Fixed cleaning of animated emotes in Message#cleanContent (03e9697)
  • Fixed administrator permission check in Guild#permissionsOf() (fb06856)
  • Fixed intents checks in Shard#requestGuildMembers() (6c6abb6)
  • Filtered undefined message content from REST debug events (19eb558)
  • Fixed error in Guild#editWidget() (c936232)
  • Improved memory handling in voice & file uploads (db7da38)
  • Fixed misplaced/missing properties in various toJSON() methods (5670b27, 2974f72, cb7178d, 86ea307, ff8d901)
  • Changed the messageReactionAdd event to update the member cache (1381bba)
  • Fixed CommandClient reaction handling (c82c6a0)
  • Changed RequestHandler to gracefully handle errors during (6083e09)
  • Fixed mishandling of ban reasons causing URI-encoded reasons to appear in ban list (6771b3f)
  • Fixed handling of Message#channelMentions when the Message has no content (9ec347a)
  • Fixed undefined in Permission#toString() (de317ca)
  • Fixed incorrect permission pseudo-groups (9d3958f)
  • Delayed Opus import until Opus is needed in VoiceConnection (44f20b5)
  • Fixed setting Opus bitrate when using @discordjs/opus (88ae937)
  • Fixed sodium-native voice decoding (4bae89a)
  • Various typings/docs fixes (18229fe, b5a33f2, aca342e, 592313d, e9e01cb, 3c40871, 958103d, 3f602d1, 93c36cf, 2fd804e, 2171ffb, 35275f0, 75c2c49, 9e17bc3, 5e9c989, 19c1eb4, 0dbc496, ea4d079, 2f0c5d5, 148a578, 81e09cc, d9e12a7, 2a787f8, f2af4ac, 739bca0, 54fc78d, 886cb30, a2d925a)

Contributors

  • @abalabahaha
  • @Apacheli
  • @auguwu
  • @bit0r1n
  • @bsian03
  • @davidffa
  • @DedaDev
  • @dev-kittens
  • @DonovanDMC
  • @Dragory
  • @evanwashere
  • @flamableassassin
  • @Gleb-ko
  • @iiFDCT
  • @jtsshieh
  • @Khaaz
  • @macdja38
  • @miyacoz
  • @oathompsonjones
  • @Pr0metheus42
  • @retrixe
  • @Snazzah
  • @Thewsomeguy
  • @TornadoMC
  • @wh0

0.14.1

3 years ago

Fixes:

  • Fixed errors from handling unrecognized voice channels (e.g. stage channels) (21154bb)