* 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>
* Add try_user to get a user from cache or from the gateway.
* Extract populate_owners into a new coroutine.
* Add a try_owners coroutine to get a list of owners of the bot.
* Fix coding-style.
* Fix a bug where None would be returned in try_owners if the cache was…
* Fix docstring
* Add spacing in the code
* Add missing versionadded strings for v1.3
* Add missing versionchanged string for Message.edit
* Consistently use versionadded for attributes
* Consistently use versionchanged for parameters
* Use versionchanged for Bot.is_owner
* Fix references in v1.3 changelog
* Improve grammar in v1.3 changelog
6f71552c508c61d9b6bf024fc259063ad056b7c4 introduced a regression: loading a module that is not in a package
does not add it to sys.modules. Updating sys.modules is required after all.
Certain decorators and functions expect coroutines and raise an
exception when this is not met. Change these to raise the appropriate
TypeError since they can't actually be handled by the user gracefully
anyway.
Instead of raising a whole variety of exceptions, they are now wrapped
into ExtensionError derived classes.
* ExtensionAlreadyLoaded
* Raised when an extension is already loaded in Bot.load_extension
* ExtensionNotLoaded
* Raised when an extension is not loaded, e.g. Bot.unload_extension
* NoEntryPointError
* Raised when an extension does not have a `setup` function.
* ExtensionFailed
* Raised when an extension's `setup` function fails.
* ExtensionNotFound
* Raised when an extension's module import fails.