Releases: interactions-py/interactions.py
4.3.0-beta.2: Merge pull request #923 from interactions-py/unstable
In order to install, use the following line in your terminal:
pip install git+https://github.com/interactions-py/[email protected]
What's Changed
- Fixed misplaced
.id
- 💥BREAKING: Allowed ignoring Missing Access errors during synchronisation cleaner.
- 💥BREAKING: Implemented appending attachments on message/context edit without reuploading.
- Added more thread helper functions.
- Fixed command synchronisation for option/choice changes.
- 💥BREAKING: Change
Color
class attributes to static methods. - Created
IDMIxin
to compare/hash models easier. - Implemented
with_counts
param forget_guild
. - Fixed iterating through
NoneType
. - Implemented
app_permissions
in Context. - Added support for sending stickers.
- 💥BREAKING: Changed LibraryException arguments to respect usage.
- Removed the majority of
.pyi
files. - Added an event page to documentation
- Refactored context sending/editing/deffering.
- 💥BREAKING: Refactored cache and dispatch cached models in delete/remove events.
- Merged the
enhanced
extension. - Fixed an issue for resolving data for mentionable option type.
- Merged the
get
extension/function.
Full Changelog: 4.3.0-beta.1...4.3.0-beta.2
4.3.0-beta.1
Due to the nature of this beta release, this will point from the unstable branch.
In order to install, use the following line in your terminal:
pip install git+https://github.com/interactions-py/[email protected]
What's Changed
- Implemented
@func.autocomplete.
- Changed FAQ from dis-snek to NAFF.
- Implemented
url
property forEmoji
. - Added ability to suppress embeds on message edit.
- 💥BREAKING: Fixed english locale definition
- Added
remove_commands
argument for removing and reloading extensions. - Implemented
clone_channel
Guild helper method. - Implemented Scheduled Event Gateway objects
- Implemented Webhook object
- Fixed WebSocket url retrieval when returned None as an edge case
- Fixed
channel.get_history()
parsing bug. - Added shard/presence metadata consistency after reboot.
- Implemented
has_public_flag
User helper attribute. - Added GET HTTP invite endpoint support.
- Fixed incorrect
Overwrite
id typehint. - Fixed autocompletion parsing past the first option.
- Implemented
get_users_from_reaction
Message helper method. - 💥BREAKING: Changed method name from
get_member_avatar_url
toget_avatar_url
- 💥BREAKING: Implemented
__all__
- 💥BREAKING: Rewritten all models and attributes to use
attrs
- Fixed autocompletion for more than 1 autocomplete option per command.
- Reverted command locale checking for allowing Japanese/Korean names.
- Fixed broken documentation and updating outdated locale.
- Fixed parsing subcommands and subcommand groups from
attrs
. - Allowed proper timestamp parsing for
Embed
objects. - Set a default type for
SelectMenu
. - Added query parameters to
get_reactions_of_emoji
helper method. - Improved error handling traceback.
- 💥BREAKING: Add support for other objects like
Snowflake
and direct object usage in helper methods - Caught
CancelledError
/Exception
errors instart()
. - Added
KeyboardInterrupt
error handling instart()
. - Refactored exceptions to utilise the built-in
LibraryException
error class. - 💥BREAKING: Implemented better
repr
forMember
andUser
models. - Added Automod support.
- Implemented Automod helper methods.
- Tweaked the consistency of
get_role
.
Full Changelog: 4.2.1...4.3.0-beta.1
4.2.1
What's Changed
- Fixed autocomplete dispatching for sub commands.
- Fixed bug that causes bot to crash if invited without
application.commands
scope. - Fixed bug that didn't modify channels outside of a category.
- Changed logging missing attributes to
DEBUG
to avoid console spam.
Full Changelog: 4.2.0...4.2.1
4.2.0
What's Changed
- Implemented
Converter
class - Changed API requirement to
v10
. - 💥BREAKING: Fixed
NoneType
error during sub command checks and adding kwarg for sub_commands without options. - Fixed minor bugs in
interactions.Extension
- Added missing f-string in
leave_guild
endpoint - 💥BREAKING: Fixed json serialisation.
- Filled
Context.user
from member data if user data isn't given by default - Allowed services to be added to
interactions.ext.Base
- 💥BREAKING: Fixed message serialisation in Context.
- 💥BREAKING: Allowed JSON builtin if
orjson
is not present. - Added
Embed
helper methods. - Removed
Format
class. - 💥BREAKING: Fixed member role attribute.
- Fixed
Invite
model with added attributes. - Added
Color
object. - Added
banner_color
attribute toUser
object. - 💥BREAKING: Fixed
guild.create_thread
helper method and fixed embed image serialisation. - Implemented emoji helper methods.
- Implemented `bot.guilds`` property.
- Fixed example of
extension_command
usage. - Implemented channel permission overwrites.
- Implemented changing presences on runtime.
- Fixed grammatical errors for the
Modals
section. - Added
__eq__
to Snowflake. - Removed extra
"
in quickstart example. - Reorganised http endpoints.
- Implemented helper methods to gateway member model.
- Added more helper methods to guild channel.
- Added autoupdating _json in component models.
- Logged missing attributes as
INFO
. - Dropped
_json
requirement to Embed attributes. - Added
icon_url
property toteam.Application
. - Checked
WS_CLOSED_MESSAGE
in gateway. - Allowed autocomplete get_application_commands when sync is False.
- Prevented
kwargs
modification during a for loop. - Allowed archiving of threads in channel helper methods.
- Implemented
get_all_members
helper method. - Added
icon_url
property toGuild
. - Reflect class attributes when editing subclassed objects.
- Fixed quickstart typo.
- Checked
CLOSING_MESSAGE
in gateway. - 💥BREAKING: Fixed and optimised command synchronisation.
- Added
url
to message objects. - Implemented
Locale
support and per-route HTTP exhaust ratelimiting. - 💥BREAKING: Fixed context resolution due to internal architecture change.
- Fixed
remaining
HTTP ratelimit references. - 💥BREAKING: Fixed local imports surrounding component building.
- Fixed webhook execution payload.
- Implemented File support to all non-Context message sending/editing. (and #706)
- Added image URL helper properties.
- 💥BREAKING: Fixed endpoint typo in headers.
- 💥BREAKING: Implemented v2 permissions.
New Contributors
- @LuigiFan25 made their first contribution in #586
- @Bastien1533 made their first contribution in #531
- @arHSM made their first contribution in #585
- @Dworv made their first contribution in #612
- @shivrm made their first contribution in #642
- @Jimmy-Blue made their first contribution in #656
- @MaskDuck made their first contribution in #669
Full Changelog: 4.1.0...4.2.0
4.1.1-rc.1
This is a release candidate, which closely represents what we envision the final outcome of 4.1.1 to be.
New Contributors
In order to install, use the following line in your terminal:
pip install git+https://github.com/interactions-py/[email protected]
Full Changelog: 4.1.1-beta.1...4.1.1-rc.1
4.1.1-beta.2
New Contributors
- @Dworv made their first contribution in #612
- @Nanrech made their first contribution in #639
- @shivrm made their first contribution in #642
- @Jimmy-Blue made their first contribution in #656
In order to install, use the following line in your terminal:
pip install git+https://github.com/interactions-py/[email protected]
Full Changelog: 4.1.1-beta.1...4.1.1-beta.2
4.1.1-beta.1
New Contributors
- @LuigiFan25 made their first contribution in #586
- @Bastien1533 made their first contribution in #531
- @arHSM made their first contribution in #585
In order to install, use the following line in your terminal:
pip install git+https://github.com/interactions-py/[email protected]
Full Changelog: 4.1.0...4.1.1-beta.1
4.1.0
What's Changed
- NEW: Introduced
interactions.ext
SDK framework. - Finalised HTTP rate limit implementation with corrections.
- Added BitField objects for User & Application flags
- Refactored methods to use the
MISSING
value - Fixed the formerly outdated User-Agent HTTP header
- Implemented basic "cogs"/Extensions
- Added the ability to pass command names in
@autocomplete
- Added more helper methods to data models
- 💥BREAKING: Corrected
guild_scheduled_event
method and JSON serialisation in helper methods - Implemented
id
property method intoMember
- 💥BREAKING: Fixed rename method name
get_application_command
- Corrected quickstart typos
- Implemented
mention
property method into data models - Implemented new Permissions v2.01 system
- Implemented
GET Guild Audit Log
endpoint toHTTPClient
- Added population to
_Context
'sguild
andchannel
attributes when available or withMISSING
- Implemented
custom_id
andlabel
property methods into_Context
- Clarified eligibility for contributor role in contribution requirements
- Added failsafe for payload creation from non-present values in
ComponentContext
- Added the ability to pass
custom_id
in@modal
- Refactored catching parameters for dispatching
- Fixed JSON references from
dict
comparisons for component context - Outlined and given better streamline process for quickstart documentation
- Fixed minor command synchronization issues and exceptions
- Refactored files to comply with Sourcery AI workflow
- Added modals to the quickstart documentation
- Implemented
get_extension
method toClient
- Implemented
Locale
/localisation enumerable object - Added string argument support for modals in extensions
- Fixed
Emoji
instantiation mapping forSelectOption
- Redocumented
CommandContext
's structure - Refactored command payload checking
- Implemented
avatar_url
property method intoUser
- Corrected JSON parsing for non-existent
Emoji
arguments - Refactored context to be a mixin class
_Context
- Refactored the Gateway's approach to connection and dispatching events
- Refactored components as an extraction state for building sending models
- Implemented
Client
'sPresence
state on connection - Added
Presence
enumerable representation support - Fixed
send()
/edit()
context functionality - Abstracted
modify
method in data models for simplified usage - Corrected exceptions for non-chat-input-based commands when a description is
MISSING
- Added failsafe to conflicts between
__slots__
and method names - Implemented
latency
andready
attributes inWebSocketClient
- Corrected Gateway command and subcommand dispatching
- Improved documentation on Extensions
- 💥 BREAKING: Removed requirement of
reason
in helper methods - Fixed
Embed
serialisation in messages when sending/editing - 💥 BREAKING: Introduced proper graceful reconnection logic without close
New Contributors
- @panley01 made their first contribution in #459
- @Middledot made their first contribution in #460
- @Highfire1 made their first contribution in #469
- @mAxYoLo01 made their first contribution in #473
- @Jplight made their first contribution in #447
- @Damego made their first contribution in #495
Thank you to all of the contributors on our team who work hard to ensure a quality-driven product to users. We are committed here at interactions.py to provide you the very best library for interactions in Python. We look forward to keeping the promise with you all throughout the years to come.
Full Changelog: 4.0.2...4.1.0
4.0.2
What's Changed
- 💥Refactored the synchronization process to remove global edge cases and less rate limited
- Updated the license to use GPL-3.0
- Fixed parsing of
Option
andChoice
for JSON sending representation - Introduced new models to represent Gateway events:
EmbeddedActivity
forEMBEDDED_ACTIVITY_UPDATE
GuildJoinRequest
forGUILD_JOIN_REQUEST_CREATE
,GUILD_JOIN_REQUEST_UPDATE
andGUILD_JOIN_REQUEST_DELETE
.Integration
forINTEGRATION_CREATE
,INTEGRATION_UPDATE
andINTEGRATION_DELETE
.
- Fixed caching error where models require
id
- 💥Corrected
Embed
and like object parsing - Added various undocumented attributes from numerous API schemas
- 💥Changed the usage state of
HTTPClient
._state
is now required for supplying endpoint data - Rewritten HTTP requesting logic to follow a more sane rate limitation based on per-route, globally and on buckets.
- Added the ability to send/edit multiple action rows
- Optimize performance of #393
- Added new helper methods for models, including:
- Fixed a typo in button documentation
- Fixed major sending and editing logic in components
- Added new feature converters
@message_command
and@user_command
- Corrected documentation on autocompletion
- Ended forced configuration on logging
- Added permissions representative for guild roles
- 💥 Fixed command corruption in the interactions cache
- Correct documentation on importing for lackluster
- Remove leftover
print
statements for debugging - Fixed how Gateway parse
SelectOption
perSelectMenu
object - Refactor sending components in the main context
- Developer dependencies/tools are now isolated into
[dev]
upon module installation. - Fixed
NoneType
closure during a guild member check - Fixed documentation on optional
?
formatting loosely breaking RST - Refactored the logger parse structure
- 💥
ctx.edit
will now edit component responses when not deferred
New Contributors
A huge thank you to @EdVraz for helping with a lot of the feature implementation of helper methods in the HTTPClient
.
A thank you is in order for @LordOfPolls as well for guiding us with a clearer retry/lock logic concept in rate limiting.
Full Changelog: 4.0.1...4.0.2
4.0.1
What's Changed
- Options are now correctly processed under a subcommand or grouping.
4.0.0
and other libraries now run on the same space with event loop gathering.- Select menu option JSON is now fixed when converted from the object scope.
- Log is no longer spammed with warnings about a dispatched
VOICE
. - Components are able to be deferred correctly.
- Button label documentation is corrected.
- 💥BREAKING: Global commands are now able to synchronize and be registered.
- the
WebSocket
for gateway will now factor in jitter from latency and trigger a reconnection when the connection dies. - Embed JSON data for each attribute are now respectively written during conversion.
InteractionData
will now recursively generates options when present for context.ctx.send
andctx.edit
now share the same arguments and signature.member
andhoisted_role
are no longer missing fromMessageInteraction
andGuildMember
respectively.Embed
type
attribute is now more descriptive to its purpose.- Python 3.10 is now compatible.
@component
decorator now supportscustom_id
as a string-based argument.
New Contributors
- @MeidoNoHitsuji: #376
- @EdVraz: #382
Full Changelog: 4.0.0...4.0.1