Commit Graph
665 Commits
Author SHA1 Message Date
Rapptz b476757720 [commands] Fix type hints for checks, hooks, and error handlers 2022-04-13 03:07:58 -04:00
Rapptz 737ff5beaf Update Pyright to 1.1.237 2022-04-13 02:30:00 -04:00
Rapptz 242d3f7ab7 [commands] Add Bot.hybrid_group and Bot.hybrid_command decorators 2022-04-12 21:17:00 -04:00
Rapptz 1931b0eb75 [commands] Ensure hybrid app command receives copied wrapper command 2022-04-12 20:15:11 -04:00
Rapptz 393fdde037 [commands] Add support for Greedy for hybrid commands 2022-04-12 20:15:11 -04:00
Rapptz 1004cf2059 [commands] Unconditionally replace default if it's set
Handles degenerate `x: int = commands.param(default=10)` case
2022-04-12 20:15:11 -04:00
Rapptz 70d2522e7e [commands] Unwrap CommandInvokeError if the cause is CommandError 2022-04-12 20:15:11 -04:00
Rapptz 65418414ea [commands] Refactor parameter replacement to be less brittle
If a parameter works as-is as a transformer or a built-in then it
will always be taken rather. This way, the custom behaviour is done
as a fallback in case it doesn't work natively with app commands.

This also allows things that are hybrid transformers and converters
to work transparently.
2022-04-12 20:15:11 -04:00
Rapptz 896932faf1 [commands] Add Range converter
This allows hybrid commands to also have a range annotation
2022-04-12 20:15:11 -04:00
Rapptz 3c4b22b623 [commands] Fix transformers no longer working as annotation 2022-04-12 20:15:10 -04:00
Rapptz 9d05f55ddb [commands] Fix Optional handling when the inner type is a converter 2022-04-12 20:15:10 -04:00
Rapptz f072edfdfc [commands] Properly support commands.param in hybrid commands 2022-04-12 20:15:10 -04:00
Rapptz fa3a4c109b [commands] Fix Context.reply not working for hybrid commands 2022-04-12 20:15:10 -04:00
Rapptz d61561f2e8 [commands] Add support for autocomplete for hybrid commands 2022-04-12 20:15:10 -04:00
Rapptz 52fcaed79b [commands] Reassign app_command attribute on copy
Prior to this change it would re-create the HybridAppCommand on copy
which had the consequence of clearing parameter related changes.
2022-04-12 20:15:10 -04:00
Rapptz 1232a1d2fd [commands] Properly call after_hooks in hybrid commands 2022-04-12 20:15:10 -04:00
Rapptz c1892131a6 [commands] Fix Context docstring missing Interaction ref 2022-04-12 20:15:10 -04:00
Rapptz 840eb577d4 [commands] Add initial implementation of hybrid commands
Hybrid commands allow a regular command to also double as a slash
command, assuming it meets the subset required to function.
2022-04-12 20:15:10 -04:00
z03handGitHub aee657bca5 [commands] Add converter kwarg to flag 2022-04-09 02:10:32 -04:00
WillyandGitHub b8ae05f59f [commands] Fix missing ctx in example 2022-04-06 19:24:17 -04:00
Rapptz b32b78de45 [commands] Fix missing or inferred type hints in parameters.py 2022-04-05 22:47:21 -04:00
Rapptz 76cc2c2272 Require passing intents to Client and its subclasses 2022-04-05 22:32:14 -04:00
Rapptz 629f36e7d7 [commands] Add fallback behaviour to the default parameter instances
This allows users to explicitly override the default annotation for
CurrentAuthor and CurrentChannel since they're wider than what most
users would expect
2022-04-05 06:40:31 -04:00
Rapptz f15f601779 [commands] Check if an application command starts with bot_ or cog_ 2022-04-05 06:06:35 -04:00
Rapptz b823a4bab1 [commands] Only update annotation if an explicit override is given 2022-04-05 06:02:28 -04:00
Rapptz dbcdf69eb1 [commands] Raise appropriate exception for no guild found 2022-04-04 21:49:11 -04:00
Rapptz 8b50ac8a31 [commands] Don't set a converter for the defaults provided 2022-04-04 21:47:03 -04:00
Rapptz 66155faf00 [commands] Fix documentation not being properly formatted 2022-04-04 18:10:43 -04:00
James Hilton-BalfeandGitHub 55c5be78cf [commands] Implement commands.parameter 2022-04-04 18:01:21 -04:00
Rapptz 994660faad [commands] Fix unknown generic type in tree_cls 2022-04-02 05:53:33 -04:00
KellenandGitHub 0f18d93e47 Remove unused imports 2022-04-02 04:58:39 -04:00
jack1142andGitHub 3d914e08e0 [commands] Add Context.current_argument 2022-04-01 16:24:14 -04:00
Rapptz 29668c51ae [commands] Revert back to older help command implementation
The newer implementation did not play nicely with spawned tasks and
accessing HelpCommand.context, which was a frequent pain point when
writing paginated help commands.
2022-03-31 02:46:42 -04:00
Bryan ForbesandGitHub 06c257760b Update types to use Awaitable where possible 2022-03-30 22:00:24 -04:00
Jonah LawrenceandGitHub caac97c0d1 Allow empty iterables as a command_prefix 2022-03-30 20:07:44 -04:00
Bryan ForbesandGitHub 0a8065606a Update parent reference of Group children 2022-03-30 19:12:39 -04:00
z03handGitHub 55695dab3c [commands] Check for None max_concurrency 2022-03-29 04:49:37 -04:00
KellenandGitHub 4fd2d5fdfd Remove redundant imports and variables 2022-03-29 02:50:34 -04:00
ImNimbossandGitHub f5acd9e8b6 [commands] Add Command.cooldown property 2022-03-29 02:50:04 -04:00
Rapptz 9f83eb6032 Add application command cooldown decorators
Fix #7790
2022-03-29 00:46:42 -04:00
I. AhmadandGitHub ae1979d17a [commands] Add note for command tree in Bot's docstring 2022-03-28 09:19:27 -04:00
Rapptz def035bf9a Remove StoreChannel and any references to it 2022-03-28 00:09:19 -04:00
jack1142andGitHub 5ffa3e85de Update comments after # type: ignore to be compatible with PEP 484 2022-03-27 22:26:34 -04:00
JoshandGitHub 2d1cbacc58 [commands] Add tree_cls to Bot constructor 2022-03-24 22:32:31 -04:00
062f4d6f87 Change some methods to use positional-only marker
Co-authored-by: Danny <Rapptz@users.noreply.github.com>
2022-03-22 18:52:25 -04:00
StockerandGitHub eca4727593 [commands] Add missing and fix existing type annotations 2022-03-22 06:04:46 -04:00
JoshandGitHub 46b3e036e2 [commands] Fix help error/invoke hooks not running 2022-03-22 06:02:52 -04:00
jack1142andGitHub 6dc314628e Make guild and guilds args in Bot.remove_cog() keyword-only 2022-03-20 19:01:37 -04:00
JoshandGitHub 1b70fad5ec [commands] Fix exceptions in HelpCommand 2022-03-19 13:14:17 -04:00
JoshandGitHub fafc5b13f6 [commands] Rework help command to avoid a deepcopy on invoke 2022-03-19 06:34:19 -04:00