nyxx_commands 3.2.0 nyxx_commands: ^3.2.0 copied to clipboard
A framework for easily creating slash commands and text commands for Discord using the nyxx library.
3.2.0 #
Bug fixes:
- Exceptions are now correctly caught for commands with async
execute
functions. - Check hooks are now correctly called when using
Check.all
,Check.any
orCheck.deny
New features:
- Added a new
private
option toContext.respond
that allows users to send private responses to commands - Added the ability to combine
CooldownTypes
using the binary OR (|
) operator - Added a new
dmOr
function that can be used inCommandsPlugin.prefix
to allow users to omit the bot prefix in DMs
3.1.1 #
Bug fixes:
- Fixed an issue where
Check.all
,Check.any
andCheck.deny
would not acceptAbstractCheck
s as arguments.
3.1.0 #
New features:
- Default choices for
CombineConverter
s andFallbackConverter
s can now be specified in thechoices
parameter - You can now specify the Discord slash command option type to use in
Converter
,CombineConverter
andFallbackConverter
s with thetype
parameter - Added a new
hideOriginalResponse
option toCommandsOptions
that allows you to hide the automatic acknowledgement of interactions withautoAcknowledgeInteractions
- Added a new
acknowledge
method toInteractionContext
that allows you to overridehideOriginalResponse
- Added a new
hideOriginalResponse
parameter toCommand
constructors that allows you to overrideCommandsOptions.hideOriginalResponse
on a per-command basis - Added a new
hidden
parameter toInteractionContext.respond
that allows you to send an ephemeral response. The hidden state of the response sent is guaranteed to match thehidden
parameter, however to avoid strange behaviour it is recommended to acknowledge the interaction withInteractionContext.acknowledge
if the response is delayed - Added a new
mention
parameter toMessageContext.respond
that allows you to specify whether the reply to the command should mention the user or not - Added a new
UseConverter
decorator that allows you to override the converter used to parse a specific argument - Added converters for
double
s andMentionable
s - Added a new global
mentionOr
function that can be used inCommandsPlugin.prefix
to allow mention prefixes
Miscellaneous:
autoAcknowledgeInteractions
no longer immediately acknowledges interactions upon receiving them, allowing ephemeral responses to be correctly sent- Bumped
nyxx_interactions
to 3.1.0 - Argument parsing is now done in parallel, making commands with multiple arguments faster to invoke
Deprecations:
- Setting the Discord slash command option type to use for a Dart
Type
via thediscordTypes
map is now deprecated. Use thetype
parameter in converter consutrctors instead Context.send
is now deprecated asContext.respond
is more appropriate for most cases. IfContext.send
was really what you wanted, useContext.channel.sendMessage
instead
3.0.0 #
Breaking changes:
- The base
Bot
class has been replaced with aCommandsPlugin
class that can be used as a plugin with nyxx3.0.0
nyxx
andnyxx_interactions
dependencies have been bumped to3.0.0
; versions2.x
are now unsupportedBotOptions
has been renamed toCommandsOptions
and no longer supports the options found inClientOptions
. Create two seperate instances and pass them toNyxxFactory.createNyxx...
andCommandsPlugin
respectively, in theoptions
named parameter- The
bot
field onContext
has been replaced with aclient
field pointing to theINyxx
instance and acommands
field pointing to theCommandsPlugin
instance.
2.0.0: #
Breaking changes:
- Messages sent by bot users will no longer be executed by default, see
BotOptions.acceptBotCommands
andBotOptions.acceptSelfCommands
New features:
- A new
acceptBotCommands
option has been added toBotOptions
to allow executing commands from messages sent by other bot users - A new
acceptSelfCommands
options has been added toBotOptions
to allow executing commands from messages sent by the bot itself onPreCall
andonPostCall
streams onCommands
andGroups
can be used to register pre- and post- call hooksAbstractCheck
class can be exetended to implement stateful checksCooldownCheck
can be used to apply a cooldown to a command based on different criteriaInteractionCheck
andMessageCheck
can be used withCheck.any()
to allow slash commands or text commands to bypass other checksCheck.all()
can be used to group checks
Bug fixes:
- Invalid cased command/group/argument names are now caught and a
CommandRegistrationError
is thrown StringView.escape()
now correctly escapes fromstart
toend
and notstart
toindex
1.0.0 #
- Version 1 was skipped to keep version consistent with the other nyxx libraries
0.4.0 #
Breaking changes:
- Exceptions have been reworked and are no longer named the same
New features:
- Converters can now specify pre-defined choices for their type, this behaviour can be overridden on a per-command basis with the
@Choices
decorator - Command arguments can now have custom names with the
@Name
decorator
0.3.0 #
New features:
- Checks now integrate with Discord's slash command permissions
- Checks can now be asynchronous
- Added
RoleCheck
,UserCheck
andGuildCheck
that represent the basic Discord slash command permissions: role restricted, user restricted and guild restricted (guild command) - Slash command arguments can have descriptions set with the
@Description
decorator
Breaking changes:
- Checks are no longer a simple function
0.2.0 #
Breaking changes:
- Reorder
description
andexecute
parameters inCommand.textOnly
andCommand.slashOnly
constructors. - Remove
syncDeleted
option fromBotOptions
as nyxx_interactions removes them on sync anyways.
New features:
- Add
send(MessageBuilder)
andrespond(MessageBuilder)
methods toContext
- Add
children
as an optional argument toCommand
andGroup
constructor - Add
autoAcknowledgeInteractions
option toBotOptions
to determine whether to automatically respond to interaction events - Commands can now restrict execution using checks
Bugfixes:
InteractionContext.respond
will no longer throw an error when responding immediately- Slash Commands can no longer have direct slash command children
- Errors emitted outside of argument parsing and callback execution are now correctly sent to
Bot.onCommandError
Miscellaneous:
- Text-only and slash-only commands can now have
Context
as their first argument type
0.1.0 #
- Initial release