Releases: hypergonial/hikari-arc
Releases · hypergonial/hikari-arc
v0.6.0
- Add
Context.get_option()
to access options outside the command callback in a type-safe manner. - Add
Client.walk_commands()
andPlugin.walk_commands()
to iterate over all commands & subcommands of a given type in a type-safe manner. - Add
CallableCommandProto.display_name
,SlashCommand.make_mention()
,SlashSubCommand.make_mention()
. - Change
Context.respond_with_builder()
to attempt a followup message when the interaction has an initial response and a message builder was passed. - Remove the
acquire()
method fromLimiterProto
to make it easier to implement custom limiters. - Split
arc.utils.hooks.RateLimiter
intoarc.utils.RateLimiter
andarc.utils.hooks.LimiterHook
. This allowsarc.utils.RateLimiter
to be used independently of an arc context object.
v0.5.0 - Limiters
- Breaking: Re-order OptionParams object parameters.
description=
is now the first & only positional argument.name=
has been moved to the second parameter and is now keyword-only. - Add limiters.
- Add
autodefer
,default_permissions
,is_dm_enabled
andis_nsfw
to client & plugin types. If set, these settings will be applied to all commands added to the client/plugin. They can still however be overridden by individual commands. - Add
GatewayClientBase
andRESTClientBase
to aid in creating custom client types. Examples on how to do this have also been added to the repository. - Fix
InteractionResponse.retrieve_message()
failing due to incorrect assertion. - Fix subcommands & subgroups unable to have hooks or an error handler.
v0.4.0 - Localization
- Add localization support through locale providers. See the localization example for more.
- Add
@GatewayClient.listen
,GatewayClient.subscribe
,GatewayClient.unsubscribe
. - Add
@GatewayPlugin.listen
,GatewayPlugin.subscribe
,GatewayPlugin.unsubscribe
. - Make all first-order decorators work as second-order decorators as well.
v0.3.0 - Hooks
- Add hooks.
- Add lifecycle hooks to
Client
along with an error handler. - Declare
attrs
explicitly as a dependency.
v0.2.0
- Breaking: Rename
Context.edit_response()
toContext.edit_initial_response()
. This is to make the purpose of the function clearer. - Breaking: Remove
arc.Injected[T]
typehint alias. Usearc.inject()
instead. This is to avoid confusion between the two. - Breaking: Rename
GatewayPlugin
toGatewayPluginBase
andRESTPlugin
toRESTPluginBase
. - Add
GatewayContext
aliasingContext[GatewayClient]
- Add
RESTContext
aliasingContext[RESTClient]
- Add
GatewayPlugin
aliasingGatewayPluginBase[GatewayClient]
- Add
RESTPlugin
aliasingRESTPlugin[RESTClient]
- Add support for passing mappings to
choices=
when specifying option params. - Move
ABC
s used internally underarc.abc
. - Improve handling missing responses via REST by adding
NoResponseIssuedError
. - Fix
@plugin.inject_dependencies
failing when located outside of the main module.
v0.1.3
- Fix
Context.respond_with_builder
issuing the response twice in REST. - Do not export
abc
s to top-level.
v0.1.2
- Add
Context.respond_with_modal
- Add
BoolOption
andBoolParams
- Improve
Context.respond_with_builder
typing.
v0.1.1
- Initial release