v0.3.0
nosedrum version 0.3 comes with support for nested subcommands. This will require a small update to your add_command invocations to use lists instead of tuples.
Additionally, nosedrum no longer creates its own error messages, but allows the user to deal with creating them. For an example of how to deal with the errors, see bolt's MESSAGE_CREATE handler: https://github.com/jchristgit/bolt/blob/5c19c3d68a419a302a62d4f33b77e5cf87bac659/lib/bolt/consumer/message_create.ex#L14-L22.
Added
- Support for nested subcommands. Command paths now need to be passed as a list
instead of a tuple. This may also require an update to custom invokers, see
changes toNosedrum.Invoker.Splitfor details.
Fixed
- Prevent compiler warning about
@short_versionmodule attribute.
Changed
- Return error tuples instead of creating error messages in the API.
Specifically, this means that for the following events, manual error checking
needs to be performed:- Unknown subcommands - these return
{:error, {:unknown_subcommand, name, :known, known_subcommands}}from the invoker. - Predicate permission check failures or error - these return
{:error, :predicate, predicate_result}from the invoker.
- Unknown subcommands - these return