* 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
This makes parameters positional only in the methods
fetch_sticker, fetch_webhook, fetch_channel, fetch_user, fetch_widget,
fetch_stage_instance, fetch_guild, get_sticker, and get_channel.
This also adds asynchronous context manager support to allow for
idiomatic asyncio usage for the lower-level counterpart. At first
I wanted to remove Client.run but I figured that a lot of beginners
would have been confused or not enjoyed the verbosity of the newer
approach of using async-with.