Noting this as an issue as I intend to implement and PR this. Working with application commands is a bit of a pain otherwise, as one needs to explicitly remove and add commands which introduces more delay in updated versions going live than if bulk overwritten (nearly instant for guild commands).
Sketch of intended additions:
- Add type equivalent to
add_command args:
@type application_command_spec ::
%{
name_or_path :: String.t() | application_command_path,
command_module :: module,
name_or_pid
}
- Add
bulk_overwrite_commands:
@doc """
... todo
"""
@callback bulk_overwrite_commands(
command_specs :: [application_command_spec],
scope :: command_scope) ::
:ok | [ {:error, reason :: String.t(), name_or_path :: String.t() | application_command_path} ]
Noting this as an issue as I intend to implement and PR this. Working with application commands is a bit of a pain otherwise, as one needs to explicitly remove and add commands which introduces more delay in updated versions going live than if bulk overwritten (nearly instant for guild commands).
Sketch of intended additions:
add_commandargs:bulk_overwrite_commands: