* Most slash command support completed, needs some debugging (and reindent)
* Implement a ctx.send helper for slash commands
* Add group command support
* Add Option converter, fix default optional, fix help command
* Add client.setup and move readying commands to that
* Implement _FakeSlashMessage.from_interaction
* Rename normmal_command to message_command
* Add docs for added params
* Add slash_command_guilds to bot and decos
* Fix merge conflict
* Remove name from commands.Option, wasn't used
* Move slash command processing to BotBase.process_slash_commands
* Create slash_only.py
Basic example for slash commands
* Create slash_and_message.py
Basic example for mixed commands
* Fix slash_command and normal_command bools
* Add some basic error handling for registration
* Fixed converter upload errors
* Fix some logic and make an actual example
* Thanks Safety Jim
* docstrings, *args, and error changes
* Add proper literal support
* Add basic documentation on slash commands
* Fix non-slash command interactions
* Fix ctx.reply in slash command context
* Fix typing on Context.reply
* Fix multiple optional argument sorting
* Update ctx.message docs to mention error instead of warning
* Move slash command creation to BotBase
* Fix code style issues with Black
* Rearrange some stuff and add flag support
* Change some errors and fix interaction.channel fixing
* Fix slash command quoting for *args
Co-authored-by: iDutchy <42503862+iDutchy@users.noreply.github.com>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
The old code for some reason assumed that the length of the command
would be 1. This is because when I tested this I would use single
letter command names and it would "just work" when in reality it was
completely incorrect.
A reminder to thoroughly test instead of just fitting something to work
Context.reinvoke would be the new way to bypass checks and cooldowns.
However, with its addition comes a change in the invocation order of
checks, callbacks, and cooldowns. While previously cooldowns would
trigger after command argument parsing, the new behaviour parses
cooldowns before command argument parsing.
The implication of this change is that Context.args and Context.kwargs
will no longer be filled properly.