Skip to content

Releases: hypergonial/hikari-arc

v0.6.0

08 Jan 22:34
Compare
Choose a tag to compare
  • Add Context.get_option() to access options outside the command callback in a type-safe manner.
  • Add Client.walk_commands() and Plugin.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 from LimiterProto to make it easier to implement custom limiters.
  • Split arc.utils.hooks.RateLimiter into arc.utils.RateLimiter and arc.utils.hooks.LimiterHook. This allows arc.utils.RateLimiter to be used independently of an arc context object.

v0.5.0 - Limiters

07 Jan 15:37
Compare
Choose a tag to compare
  • 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 and is_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 and RESTClientBase 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

05 Jan 08:54
Compare
Choose a tag to compare
  • 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

02 Jan 12:12
Compare
Choose a tag to compare
  • Add hooks.
  • Add lifecycle hooks to Client along with an error handler.
  • Declare attrs explicitly as a dependency.

v0.2.0

31 Dec 14:35
Compare
Choose a tag to compare
  • Breaking: Rename Context.edit_response() to Context.edit_initial_response(). This is to make the purpose of the function clearer.
  • Breaking: Remove arc.Injected[T] typehint alias. Use arc.inject() instead. This is to avoid confusion between the two.
  • Breaking: Rename GatewayPlugin to GatewayPluginBase and RESTPlugin to RESTPluginBase.
  • Add GatewayContext aliasing Context[GatewayClient]
  • Add RESTContext aliasing Context[RESTClient]
  • Add GatewayPlugin aliasing GatewayPluginBase[GatewayClient]
  • Add RESTPlugin aliasing RESTPlugin[RESTClient]
  • Add support for passing mappings to choices= when specifying option params.
  • Move ABCs used internally under arc.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

29 Dec 10:40
Compare
Choose a tag to compare
  • Fix Context.respond_with_builder issuing the response twice in REST.
  • Do not export abcs to top-level.

v0.1.2

28 Dec 18:15
Compare
Choose a tag to compare
  • Add Context.respond_with_modal
  • Add BoolOption and BoolParams
  • Improve Context.respond_with_builder typing.

v0.1.1

27 Dec 22:42
Compare
Choose a tag to compare
  • Initial release