A NodeJS Discord library
GuildScheduledEvent
s (3e62ca7)Member#dynamicAvatarURL()
(eb40373)addGuildMember()
(OAuth2-only) (61b3b4f)VoiceConnection
s (135dc35)guildUpdate
event (9320ab2)CommandClient
help command (e43418d)getGuildBans()
(fe16a8f)editChannelPositions()
(99b1376)permissionOverwrites
in editChannel()
(ba4cb94)appPermissions
(c7689d0)Guild#editCommandPermissions()
acting like getCommandPermissions()
(b8dcd62)getAllUsers
and the presences intent are enabled (f7a8e50)getGuildAuditLog()
(e888253)joinVoiceChannel()
erroring when the bot member is uncached (162d4ef)videoQualityMode
option in editChannel()
(ba4cb94)connect()
without a token present (bd58677)TextVoiceChannel
now exists. Previous assumptions about GuildChannel
s being text XOR voice are no longer valid.Member#premiumSince
has been changed to match the documented behaviour. It was previously being (incorrectly) passed through as the Discord-provided ISO timestamp string.editStatus()
ratelimit (072db2e)BigInt
to Permission#has()
(e963166)DiscordHTTPError
and DiscordRESTError
(2712a85)Member#user
property de-sync issues (6619b17)Guild#shard
calculation (c1f1f86)VoiceConnection
(52db153)Constants.Permissions.all
with new permissions (b485352)USER_UPDATE
for uncached users (c223725)deleteMessages()
(017c18a)Member#premiumSince
parsing (65b1850)createMessage()
(9a55be5)defaultPermission
in command-related requests (90fad3a)ThreadChannel#ownerID
(4ca306d)THREAD_MEMBERS_UPDATE
handling (6ba5b05, 1a79ef6)Message#jump
for private channel messages (2f7526a)Fixes:
GuildChannel#name
(2351da1)Contributors:
Guild#getActiveThreads()
and Message#createThreadWithMessage()
(87473ba)getRESTGuildChannels()
(7743366)intents
Client
option.getGuildEmbed()
is removed in favor of getGuildWidget()
(e194a71)PermissionOverwrite#type
is now a number
instead of a string
(e194a71)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)voiceStateUpdate
event can now emit with a partial member
and null oldState
(ee960c0)ws
Client
option has breaking changes (see [email protected]
release notes)Guild#nsfw
is superseded by Guild#nsfwLevel
(0abf61a)Message#stickers
is superseded by Message#stickerItems
(b483ff3)getGuildAuditLogs()
is replaced by getGuildAuditLog()
(ec777a1a)options
objects instead of flat lists of parameters (ec777a1a)
getMessages(channelID, { limit: 5, around: msgID })
instead of getMessages(channelID, 5, undefined, undefined, msgID)
getGuildAuditLog()
, getMessageReaction()
, getMessages()
, purgeChannel()
, getRESTGuilds()
, and getRESTMembers()
Message#stickerItems
(b483ff3)Member#activities
(e194a71)Message#components
(120f917, dc72ad9)Guild
avatars (a58cd69)joinVoiceChannel()
(e357991)User#banner
(558bbe5)Role#icon
(59a35bb)Guild#premiumProgressBarEnabled
(e8dfcbb)"identifying"
Shard#status
(5db41aa)editMessage()
createInvite()
(117de32)VoiceConnection
state when kicked (ea9d670)Message#flag
cache updates (e54366b)getMessages()
and purgeChannel()
(f90e56d, 15546c4)createChannelInvite()
for uncached channels (8582d3c)permissionsOf()
(7e55222)voiceStateUpdate
event (ee960c0)createRole()
/editRole()
without permissions (4bb65f0)Message
constructor (6331536)SharedStream#play()
(e195b59)Member#voiceState.selfStream
when user stops streaming (dd768ec)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)options
object for parameters. The old call style is deprecated (ec777a1)
getMessages(channelID, limit, before, after, ...)
=> getMessages(channelID, { limit, before, after, ... })
getMessageReaction()
, getMessages()
, getGuildAuditLogs()
, getRESTGuildMembers()
, getRESTGuilds()
, and purgeChannel()
getGuildAuditLogs()
was renamed to getGuildAuditLog()
. The old name is deprecated (ec777a1)editGuildVanity()
(c152aac)Message#interaction
(5837a31)Guild#nsfw
(9223266)getWebhookMessage()
(2a840a0)Role#tags
(824ccf7)getGuildIntegrations()
options (0a3490f)@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)
name
== "nsfw"
or name
starting with "nsfw-"
as NSFWGuildChannel#nsfw
now strictly mirrors the API propertymessageCreate
, messageUpdate
, and messageDelete
events now emit with partial messages/channels if possible (see docs) (c81b689, 8acd468)Client#token
was removed (99f4163)
Client#_token
, which is non-enumerable and not stableguildEmojisUpdate
event now emits with a partial guild if possible (see docs) (16c6a76)BigInt
supportPermission#allow
, Permission#deny
, permission constants are now BigInt
s (3649cd7, f092b89, fd2ee5f, d7c69f2, 39dd05f)
BigInt
bitwise logic no longer works properly. Using BigInt
helps with future-proofingBigInt
or number typeuws
is no longer supported (b459a94)
Client
options are deprecated (2095d3e, 7a5ec43)
options.rest
in the Client
constructorBot
prefixes is deprecated (99f4163)
Bot
(see docs)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.viewAuditLog
replaces viewAuditLogs
, voiceStream
replaces stream
, viewChannel
replaces readMessages
, and useExternalEmojis
replaces externalEmojis
rawREST
event (e789deb)typingStart
event (98c261d)Guild#discoverySplash
and URL getters (b910d1d)util.inspect()
to more classes (1281781)userID
filter and new properties in audit logs (8ab1ab7, 27b9704, 02e989c)Client#application
(after ready
event) (d41dddf)Member#pending
(af877e7)oldMessage
properties in messageUpdate
event (936af87)Message#stickers
(9cd3a5d)Guild#welcomeScreen
(9a89483, c8ab1bb)VoiceState#selfStream
& VoiceState#selfVideo
(011548e)editChannelPosition()
(fc038fa)editGuild()
(9d7e05e)GuildIntegration
properties (c149e73)Client
constructor (2095d3e, 7a5ec43)VoiceChannel#rtcRegion
and VoiceChannel#videoQualityMode
(f994117, 9da9d05)editWebhookMessage()
(32b54c8)useSlashCommands
& voiceRequestToSpeak
permissions (906690c, ab38c3f)Message#cleanContent
(03e9697)Guild#permissionsOf()
(fb06856)Shard#requestGuildMembers()
(6c6abb6)debug
events (19eb558)Guild#editWidget()
(c936232)toJSON()
methods (5670b27, 2974f72, cb7178d, 86ea307, ff8d901)messageReactionAdd
event to update the member cache (1381bba)CommandClient
reaction handling (c82c6a0)RequestHandler
to gracefully handle errors during (6083e09)Message#channelMentions
when the Message
has no content
(9ec347a)undefined
in Permission#toString()
(de317ca)VoiceConnection
(44f20b5)@discordjs/opus
(88ae937)sodium-native
voice decoding (4bae89a)Fixes: