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/library.git@4.3.0-beta.2
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
Colorclass attributes to static methods. - Created
IDMIxinto compare/hash models easier. - Implemented
with_countsparam forget_guild. - Fixed iterating through
NoneType. - Implemented
app_permissionsin Context. - Added support for sending stickers.
- 💥BREAKING: Changed LibraryException arguments to respect usage.
- Removed the majority of
.pyifiles. - Added an event page to documentation
- Refactored context sending/editing/deffering.
- 💥BREAKING: Refactored cache and dispatch cached models in delete/remove events.
- Merged the
enhancedextension. - Fixed an issue for resolving data for mentionable option type.
- Merged the
getextension/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/library.git@4.3.0-beta.1
What's Changed
- Implemented
@func.autocomplete. - Changed FAQ from dis-snek to NAFF.
- Implemented
urlproperty forEmoji. - Added ability to suppress embeds on message edit.
- 💥BREAKING: Fixed english locale definition
- Added
remove_commandsargument for removing and reloading extensions. - Implemented
clone_channelGuild 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_flagUser helper attribute. - Added GET HTTP invite endpoint support.
- Fixed incorrect
Overwriteid typehint. - Fixed autocompletion parsing past the first option.
- Implemented
get_users_from_reactionMessage helper method. - 💥BREAKING: Changed method name from
get_member_avatar_urltoget_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
Embedobjects. - Set a default type for
SelectMenu. - Added query parameters to
get_reactions_of_emojihelper method. - Improved error handling traceback.
- 💥BREAKING: Add support for other objects like
Snowflakeand direct object usage in helper methods - Caught
CancelledError/Exceptionerrors instart(). - Added
KeyboardInterrupterror handling instart(). - Refactored exceptions to utilise the built-in
LibraryExceptionerror class. - 💥BREAKING: Implemented better
reprforMemberandUsermodels. - 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.commandsscope. - Fixed bug that didn't modify channels outside of a category.
- Changed logging missing attributes to
DEBUGto avoid console spam.
Full Changelog: 4.2.0...4.2.1
4.2.0
What's Changed
- Implemented
Converterclass - Changed API requirement to
v10. - 💥BREAKING: Fixed
NoneTypeerror during sub command checks and adding kwarg for sub_commands without options. - Fixed minor bugs in
interactions.Extension - Added missing f-string in
leave_guildendpoint - 💥BREAKING: Fixed json serialisation.
- Filled
Context.userfrom 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
orjsonis not present. - Added
Embedhelper methods. - Removed
Formatclass. - 💥BREAKING: Fixed member role attribute.
- Fixed
Invitemodel with added attributes. - Added
Colorobject. - Added
banner_colorattribute toUserobject. - 💥BREAKING: Fixed
guild.create_threadhelper method and fixed embed image serialisation. - Implemented emoji helper methods.
- Implemented `bot.guilds`` property.
- Fixed example of
extension_commandusage. - Implemented channel permission overwrites.
- Implemented changing presences on runtime.
- Fixed grammatical errors for the
Modalssection. - 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
_jsonrequirement to Embed attributes. - Added
icon_urlproperty toteam.Application. - Checked
WS_CLOSED_MESSAGEin gateway. - Allowed autocomplete get_application_commands when sync is False.
- Prevented
kwargsmodification during a for loop. - Allowed archiving of threads in channel helper methods.
- Implemented
get_all_membershelper method. - Added
icon_urlproperty toGuild. - Reflect class attributes when editing subclassed objects.
- Fixed quickstart typo.
- Checked
CLOSING_MESSAGEin gateway. - 💥BREAKING: Fixed and optimised command synchronisation.
- Added
urlto message objects. - Implemented
Localesupport and per-route HTTP exhaust ratelimiting. - 💥BREAKING: Fixed context resolution due to internal architecture change.
- Fixed
remainingHTTP 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/library.git@4.1.1-rc.1Full 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/library.git@4.1.1-beta.2
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/library.git@4.1.1-beta.1
Full Changelog: 4.1.0...4.1.1-beta.1
4.1.0
What's Changed
- NEW: Introduced
interactions.extSDK framework. - Finalised HTTP rate limit implementation with corrections.
- Added BitField objects for User & Application flags
- Refactored methods to use the
MISSINGvalue - 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_eventmethod and JSON serialisation in helper methods - Implemented
idproperty method intoMember - 💥BREAKING: Fixed rename method name
get_application_command - Corrected quickstart typos
- Implemented
mentionproperty method into data models - Implemented new Permissions v2.01 system
- Implemented
GET Guild Audit Logendpoint toHTTPClient - Added population to
_Context'sguildandchannelattributes when available or withMISSING - Implemented
custom_idandlabelproperty 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_idin@modal - Refactored catching parameters for dispatching
- Fixed JSON references from
dictcomparisons 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_extensionmethod toClient - Implemented
Locale/localisation enumerable object - Added string argument support for modals in extensions
- Fixed
Emojiinstantiation mapping forSelectOption - Redocumented
CommandContext's structure - Refactored command payload checking
- Implemented
avatar_urlproperty method intoUser - Corrected JSON parsing for non-existent
Emojiarguments - 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'sPresencestate on connection - Added
Presenceenumerable representation support - Fixed
send()/edit()context functionality - Abstracted
modifymethod 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
latencyandreadyattributes inWebSocketClient - Corrected Gateway command and subcommand dispatching
- Improved documentation on Extensions
- 💥 BREAKING: Removed requirement of
reasonin helper methods - Fixed
Embedserialisation 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
OptionandChoicefor JSON sending representation - Introduced new models to represent Gateway events:
EmbeddedActivityforEMBEDDED_ACTIVITY_UPDATEGuildJoinRequestforGUILD_JOIN_REQUEST_CREATE,GUILD_JOIN_REQUEST_UPDATEandGUILD_JOIN_REQUEST_DELETE.IntegrationforINTEGRATION_CREATE,INTEGRATION_UPDATEandINTEGRATION_DELETE.
- Fixed caching error where models require
id - 💥Corrected
Embedand like object parsing - Added various undocumented attributes from numerous API schemas
- 💥Changed the usage state of
HTTPClient._stateis 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_commandand@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
printstatements for debugging - Fixed how Gateway parse
SelectOptionperSelectMenuobject - Refactor sending components in the main context
- Developer dependencies/tools are now isolated into
[dev]upon module installation. - Fixed
NoneTypeclosure during a guild member check - Fixed documentation on optional
?formatting loosely breaking RST - Refactored the logger parse structure
- 💥
ctx.editwill 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.0and 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
WebSocketfor 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.
InteractionDatawill now recursively generates options when present for context.ctx.sendandctx.editnow share the same arguments and signature.memberandhoisted_roleare no longer missing fromMessageInteractionandGuildMemberrespectively.Embedtypeattribute is now more descriptive to its purpose.- Python 3.10 is now compatible.
@componentdecorator now supportscustom_idas a string-based argument.
New Contributors
- @MeidoNoHitsuji: #376
- @EdVraz: #382
Full Changelog: 4.0.0...4.0.1