Changelog#
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning when possible (see our Version Guarantees for more info).
Unreleased#
These changes are available on the master
branch, but have not yet been released.
Added#
Added possibility to start bot via async context manager. (#1801)
Added new parameters (
author
,footer
,image
,thumbnail
) todiscord.Embed
. (#1996)Added new events
on_bridge_command
,on_bridge_command_completion
, andon_bridge_command_error
. (#1916)Added the
@client.once()
decorator, which serves as a one-time event listener. (#1940)Added support for text-related features in
StageChannel
. (#1936)Added support for one-time event listeners in
@client.listen()
. (#1957)Added
current_page
argument toPaginator.update()
. (#1983)Added new
application_auto_moderation_rule_create_badge
toApplicationFlags
. (#1992)Added
sync_start
argument toVoiceClient.start_recording()
. This adds silence to the start of audio recordings. (#1984)Added
custom_message
to AutoModActionMetadata. (#2029)Added support for voice messages. (#2016)
Added the
data
attribute to all Raw Event payloads. (#2023)Added and documented missing
AuditLogAction
enums. (#2030, #2171)Added AutoMod-related models for
AuditLogDiff
enums. (#2030)Added
Interaction.respond
andInteraction.edit
as shortcut responses. (#2026)Added
view.parent
which is set when the view is sent byinteraction.response.send_message
. (#2036)Added functions (
bridge.Bot.walk_bridge_commands
&BridgeCommandGroup.walk_commands
) to cycle through all bridge commands and their children/subcommands. (#1867)Added support for usernames and modified multiple methods accordingly. (#2042)
Added
icon
andunicode_emoji
toGuild.create_role
. (#2086)Added
cooldown
andmax_concurrency
toSlashCommandGroup
. (#2091)Added new embedded activities, Gartic Phone and Jamspace. (#2102)
Added
bridge.Context
as a shortcut toUnion
of subclasses. (#2106)Added Annotated forms support for type-hinting slash command options. (#2124)
Added
suppress
andallowed_mentions
parameters toWebhook
andInteractionResponse
edit methods. (#2138)Added
wait_finish
parameter toVoiceClient.play
for awaiting the end of a play. (#2194)Added support for custom bot status. (#2206)
Added function
Guild.delete_auto_moderation_rule
. (#2153)
Changed#
Changed default for all
name_localizations
&description_localizations
attributes from beingNone
to beingMISSING
. (#1866)Changed FFMPEG output suppression when recording voice channels. (#1993)
Changed file-upload size limit from 8 MB to 25 MB accordingly. (#2014)
Changed the behavior of retrieving bans to accurately reflect the API. (#1922)
Changed
Interaction.channel
to be received from the gateway, allowing it to beDMChannel
orGroupChannel
. (#2025)Changed
DMChannel.recipients
to potentially beNone
. (#2025)Changed the behavior to store
view.message
when receiving an Interaction for a component. (#2036)Changed the fetching of attributes shared between text-based and Slash Commands in Bridge Commands to be dynamic. (#1867)
Changed
discord.Embed
attributes (such as author, footer, etc.) now returnNone
when not set, and return their respective classes when set. (#2063)Changed
default_avatar
behavior depending on the user’s username migration status. (#2087)Changed type-hinted
command_prefix
andhelp_command
arguments properly. (#2099)Changed the support from
orjson
tomsgspec
in the codebase. (#2170)
Removed#
Fixed#
Fixed
AttributeError
caused by #1957 when using listeners in cogs. (#1989)Editing a webhook message if the thread is a forum post or if the thread is a private thread (#1981)
Fixed
View.message
not being set when view is sent using webhooks, includingInteraction.followup.send
or when a message is edited. (#1997)Fixed
None
being handled incorrectly for avatar inClientUser.edit
. (#1994)Fixed scheduled events breaking when changing the location from external to a channel. (#1998)
Fixed boolean converter breaking for Bridge Commands. (#1999)
Fixed Bridge Command Options not working. (#1999)
Fixed
TypeError
being raised when passingname
argument to bridge groups. (#2000)Fixed
TypeError
inAutoModRule
. (#2029)Fixed the functionality to override the default
on_application_command_error
behavior using listeners. (#2044)Fixed unloading of cogs having Bridge Commands. (#2048)
Fixed the Slash Command synchronization method
individual
. (#1925)Fixed an issue that occurred when
webhooks_update
event payload channel ID wasNone
. (#2078)Fixed major
TypeError
when anAuditLogEntry
has no user. (#2079)Fixed
HTTPException
when trying to create a forum thread with files. (#2075)Fixed
before_invoke
not being run forSlashCommandGroup
. (#2091)Fixed
AttributeError
when accessing aSelect
object’s values when it hasn’t been interacted with. (#2104)Fixed
before_invoke
being run twice for slash subcommands. (#2139)Fixed
Guild._member_count
sometimes not being set. (#2145)Fixed
Thread.applied_tags
not being updated. (#2146)Fixed type-hinting of
author
property ofApplicationContext
to include type-hinting ofUser
orMember
. (#2148)Fixed missing
delete_after
parameter in overload type-hinting forWebhook.send()
. (#2156)Fixed
ScheduledEvent.creator_id
returningstr
instead ofint
. (#2162)Fixed
_bytes_to_base64_data
not defined. (#2185)Fixed type-hinting of
values
argument ofbasic_autocomplete
to include type-hinting ofIterable[OptionChoice]
. (#2164)Fixed initial message inside of the create thread payload sending legacy beta payload. (#2191)
Fixed a misplaced payload object inside of the thread creation payload. (#2192)
Fixed
DMChannel.recipient
beingNone
and consequentlyUser.dm_channel
also beingNone
. (#2219)Fixed ffmpeg being terminated prematurely when piping audio stream. (#2240)
Fixed tasks looping infinitely when
tzinfo
is neitherNone
nor UTC. (#2196)
2.4.1 - 2023-03-20#
Changed#
Updated the values of the
Color.embed_background()
classmethod to correspond with new theme colors in the app. (#1931)
Fixed#
Fixed the type-hinting of
SlashCommandGroup.walk_commands()
to reflect actual behavior. (#1838)Fixed the voice IP discovery due to the recent announced change. (#1955)
Fixed
reason
being passed to the wrong method inguild.create_auto_moderation_rule
. (#1960)
2.4.0 - 2023-02-10#
Added#
Added new AutoMod trigger metadata properties
regex_patterns
,allow_list
, andmention_total_limit
; and added themention_spam
trigger type. (#1809)Added missing
image
parameter toGuild.create_scheduled_event()
method. (#1831)New
ApplicationRoleConnectionMetadata
class for application role connection metadata, along with thefetch_role_connection_metadata_records
andupdate_role_connection_metadata_records
methods inClient
. (#1791)Added new message types,
role_subscription_purchase
,interaction_premium_upsell
,stage_start
,stage_end
,stage_speaker
,stage_raise_hand
,stage_topic
, andguild_application_premium_subscription
. (#1852)Added new
EmbeddedActivity
values. (#1859)Added new
suppress_notifications
toMessageFlags
. (#1912)Added GIF sticker format type to the
StickerFormatType
enum. (#1915)Added new raw events:
raw_member_remove
,raw_thread_update
, andraw_thread_member_remove
. (#1880)Improved support for setting channel types & added new channel types for
discord.Option
. (#1883)
Changed#
Changed
EmbeddedActivity
values to update accordingly with the new activities. (#1859)Advanced version info is now stored as a dict in
version_info.advanced
instead of attributes on theversion_info
object. (#1920)The
version_info.release_level
attribute has been reverted to its previous name,releaselevel
. (#1920)
Fixed#
2.3.3 - 2023-02-10#
Fixed an unhandled
KeyError
exception when receiving GIF stickers, causing crashes. (#1915)
2.3.2 - 2022-12-03#
Fixed#
2.3.1 - 2022-11-27#
Fixed#
Fixed
AttributeError
relating to the newbridge_commands
attribute onext.bridge.Bot
. (#1802)
2.3.0 - 2022-11-23#
Added#
New brief Attribute to BridgeSlashCommand. (#1676)
Python 3.11 support. (#1680)
New select types
user
,role
,mentionable
, andchannel
- Along with their respective types and shortcut decorators. (#1702)Added support for age-restricted (NSFW) commands. (#1775)
New flags:
PublicUserFlags.active_developer
&ApplicationFlags.active
. (#1776)Support for new forum features including tags, default slowmode, and default sort order. (#1636)
Support for new thread attributes
total_message_sent
andis_pinned
. (#1636)Added
bridge_commands
attribute toext.bridge.Bot
for access to bridge command objects. (#1787)Updated
Guild.features
to include new and previously missing features. (#1788)
Fixed#
Changed#
Removed#
Removed the guild feature
PRIVATE_THREADS
due to paywall limitation removal. (#1789)
2.2.2 - 2022-10-05#
Fixed#
Fixed
parent
attribute of second-level subcommands being set to the base level command instead of the direct parent. (#1673)
2.2.1 - 2022-10-05#
Added#
New
SlashCommand.qualified_id
attribute. (#1672)
Fixed#
2.2.0 - 2022-10-02#
Added#
New Guild Feature
INVITES_DISABLED
. (#1613)suppress
kwarg toMessageable.send()
. (#1587)proxy
andproxy_auth
params to many Webhook-related methods. (#1655)delete_message_seconds
parameter in ban methods. (#1557)New
View.get_item()
method. (#1659)Permissions support for bridge commands. (#1642)
New
BridgeCommand.invoke()
method. (#1642)New
raw_mentions
,raw_role_mentions
andraw_channel_mentions
functions indiscord.utils
. (#1658)New methods
original_response
,edit_original_response
&delete_original_response
forInteraction
objects. (#1609)
Deprecated#
The
delete_message_days
parameter in ban methods is now deprecated. Please usedelete_message_seconds
instead. (#1557)The
original_message
,edit_original_message
&delete_original_message
methods forInteraction
are now deprecated. Please use the respectiveoriginal_response
,edit_original_response
&delete_original_response
methods instead. (#1609)
Fixed#
2.1.3 - 2022-09-06#
Fixed#
Fix TypeError in
process_application_commands
. (#1622)
2.1.2 - 2022-09-06#
Fixed#
2.1.1 - 2022-08-25#
Fixed#
Bridge command detection in cogs. (#1592)
2.1.0 - 2022-08-25#
Added#
Support for add, sub, union, intersect, and inverse operations on classes inheriting from
BaseFlags
. (#1486)A
disable_on_timeout
kwarg in theView
constructor. (#1492)New
mention
property forSlashCommand
objects, allowing a shortcut for the new command markdown syntax. (#1523)An
app_commands_badge
value onApplicationFlags
. (#1535 and #1553)A new
fetch_application
method in theClient
object. (#1536)New
on_check_failure
event method for theView
class. (#799)A
set_mfa_required
method toGuild
. (#1552)Support for command groups with bridge commands. (#1496)
Support for
Attachment
type options for bridge commands. (#1496)is_app
property forBridgeContext
to better differentiate context types. (#1496)Support for localization on bridge commands. (#1496)
A
filter_params
helper function indiscord.utils
. (#1496)Support for
InteractionMessage
via themessage
property ofView
. (#1492)
Changed#
Fixed#
Fix
VoiceChannel
/CategoryChannel
data being invalidated onOption._invoke
. (#1490)Fix type issues in options.py (#1473)
Fix KeyError on AutoModActionExecution when the bot lacks the Message Content Intent. (#1521)
Large code/documentation cleanup & minor bug fixes. (#1476)
Fix
Option
with typestr
raising AttributeError whenmin_length
ormax_length
kwargs are passed. (#1527)Fix
load_extensions
parameters not being passed through correctly. (#1537)Fix
SlashCommandGroup
descriptions to use the correct default string. (#1539 and #1586)Fix Enum type options breaking due to
from_datatype()
method & Fix minor typing import. (#1541)Adjust category and guild
_channels
attributes to work with NoneType positions. (#1530)Make
SelectOption.emoji
a property. (#1550)Improve sticker creation by checking for minimum and maximum length on
name
anddescription
. (#1546)Fix threads created with a base message being set to the wrong
message_reference
. (#1551)Avoid unnecessary calls to
sync_commands
during runtime. (#1563)Fix bug in
Modal.on_timeout()
by usingcustom_id
to create timeout task. (#1562)Respect limit argument in
Guild.bans()
. (#1573)Fix
before
argument inon_scheduled_event_update
event always set toNone
by converting ID toint
. (#1580)Fix
__eq__
methodApplicationCommand
accidentally comparing to self. (#1585)Apply
cog_check
method toApplicationCommand
invocations. (#1575)Fix
Interaction.edit_original_message()
usingConnectionState
instead ofInteractionMessageState
. (#1565)Fix required parameters validation error. (#1589)
Security#
Improved fix for application-based bots without the bot scope (#1584)
2.0.1 - 2022-08-16#
Security#
Fix for application-based bots without the bot scope (#1568)
2.0.0 - 2022-07-08#
Added#
New
news
property onTextChannel
. (#1370)New
invisible
kwarg todefer()
method. (#1379)Support for audit log event type 121
APPLICATION_COMMAND_PERMISSION_UPDATE
. (#1424)New
ForumChannelConverter
. (#1440)A shortcut
jump_url
property to users. (#1444)Ability for webhooks to create forum posts. (#1405)
New
message
property toView
(#1446)Support for
error
,before_invoke
, andafter_invoke
handlers onBridgeCommand
. (#1411)New
thread
property toMessage
. (#1447)A
starting_message
property toThread
. (#1447)An
app_permissions
property toInteraction
andApplicationContext
. (#1460)Support for loading folders in
load_extension
, and a new helper functionload_extensions
. (#1423)Support for AutoMod (#1316)
Support for
min_length
andmax_length
kwargs inOption
. (#1463)Native timeout support for
Modal
. (#1434)
Changed#
Removed#
Guild.region
attribute (Deprecated on API, VoiceChannel.rtc_region should be used instead). (#1429)
Fixed#
Change
guild_only
todm_permission
in application commandto_dict
method. (#1368)Fix
repr(ScheduledEventLocation)
raising TypeError. (#1369)Fix
repr(TextChannel)
raising AttributeError. (#1370)Fix application command validation. (#1372)
Fix scheduled event
cover
property raising AttributeError. (#1381)Fix
SlashCommandGroup
treating optional arguments as required. (#1386)Fix
remove_application_command
not always removing commands. (#1391)Fix busy-loop in
DecodeManager
when the decode queue is empty, causing 100% CPU consumption. (#1395)Fix incorrect activities and permissions on
Interaction
andOption
objects. (#1365)Converted PartialMember
deaf
andmute
from str annotation (incorrect) to bool annotation. (#1424)Use
PUT
instead ofPOST
inHTTPClient.join_thread
. (#1426)Fix enum options not setting
input_type
to a SlashCommandOptionType. (#1428)Fixed TypeError when using thread options. (#1427)
Allow voice channels in PartialMessage. (#1441)
Fixed
AuditLogAction.target_type
for application command permission updates. (#1445)Fix bridge commands to ignore the ephemeral kwarg. (#1453)
Update
thread.members
onthread.fetch_members
. (#1464)Fix the error when Discord doesn’t send the
app_permissions
data inInteraction
. (#1467)Fix AttributeError when voice client
play()
function isn’t completed yet. (#1360)
2.0.0-rc.1 - 2022-05-17#
Added#
A
delete_after
kwarg toPaginator.send
. (#1245)New
reason
kwarg toThread.delete_messages
. (#1253)A new
jump_url
property to channel and thread objects. (#1254 & #1259)New
Paginator.edit()
method. (#1258)An
EmbedField
object. (#1181)Option names and descriptions are now validated locally. (#1271)
Component field limits are now enforced at the library level (#1065 & #1289)
Support providing option channel types as a list. (#1000)
New
Guild.jump_url
property. (#1282)ext.pages now supports ext.bridge. (#1288)
Implement
None
check for check_guilds. (#1291)A debug warning to catch deprecated perms v1 usage until v2 perms are implemented. (#1301)
A new
files
parameter toPage
object. (#1300)A
disable_all_items
andenable_all_items
methods toView
object. (#1199 & #1319)New
is_nsfw
attribute to voice channels. (#1317)Support for Permissions v2. (#1328)
Allow using Enum to specify option choices. (#1292)
The
file
andfiles
parameters toInteractionResponse.edit_message()
. (#1340)A
BridgeExtContext.delete()
method. (#1348)Forum channels support. (#1249)
Implemented
Interaction.to_dict
. (#1274)Support event covers for audit logs. (#1355)
Changed#
Fixed#
Fix
PartialMessage.edit()
settingview
asNone
whenview
kwarg is not passed. (#1256)Fix channel parsing in slash command invocations. (#1257)
Make the channel
position
attribute optional. (#1257)Fix
PaginatorMenu
to use interaction routes for updates. (#1267)Fix
PartialMessage.edit()
behavior whencontent
isNone
. (#1268)Fix
Paginator.add_menu()
andPaginator.add_default_buttons()
passingcustom_id
toPaginatorMenu
. (#1270)Fix
process_application_commands
command not found fallback. (#1262)Fix interaction response race condition. (#1039)
Remove voice client when the bot disconnects. (#1273)
Fix conversion exception in
ext.bridge
. (#1250)Context.me
returns ClientUser when guilds intent is absent. (#1286)Updated
Message.edit
type-hinting overload and removed resulting redundant overloads. (#1299)Improved validation regex for command names & options. (#1309)
Correct
Guild.fetch_members()
type-hints. (#1323)Multiple fixes and enhancements for
PageGroup
handling. (#1350)Make
TextChannel._get_channel
async. (#1358)
2.0.0-beta.7 - 2022-04-09#
Fixed#
Fix py3.10 UnionType checks issue. (#1240)
Older Versions#
A changelog for versions prior to v2.0 can be found here.