Commit Graph

738 Commits

Author SHA1 Message Date
bc07a02f68 [commands] Fix type hints for hybrid command decorators 2022-04-14 05:14:48 -04:00
ce15df4275 [commands] Allow commands.Range inside typing.Union or typing.Optional 2022-04-13 22:43:11 -04:00
8a1800bd12 [commands] Add support for setting a fallback slash subcommand
This allows the group callback to be invoked as a slash subcommand
2022-04-13 20:30:11 -04:00
e9ff6b4be8 [commands] Fix broken documentation references 2022-04-13 18:49:39 -04:00
5c61f2af48 [commands] Add ForumChannelConverter to the converter mapping 2022-04-13 17:45:54 -04:00
141d9f4c71 [commands] Add ForumChannelConverter converter 2022-04-13 17:44:03 -04:00
7a52aa3764 [commands] Force HybridGroup to always have invoke_without_command 2022-04-13 17:14:21 -04:00
b476757720 [commands] Fix type hints for checks, hooks, and error handlers 2022-04-13 03:07:58 -04:00
737ff5beaf Update Pyright to 1.1.237 2022-04-13 02:30:00 -04:00
242d3f7ab7 [commands] Add Bot.hybrid_group and Bot.hybrid_command decorators 2022-04-12 21:17:00 -04:00
1931b0eb75 [commands] Ensure hybrid app command receives copied wrapper command 2022-04-12 20:15:11 -04:00
393fdde037 [commands] Add support for Greedy for hybrid commands 2022-04-12 20:15:11 -04:00
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
70d2522e7e [commands] Unwrap CommandInvokeError if the cause is CommandError 2022-04-12 20:15:11 -04:00
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
896932faf1 [commands] Add Range converter
This allows hybrid commands to also have a range annotation
2022-04-12 20:15:11 -04:00
3c4b22b623 [commands] Fix transformers no longer working as annotation 2022-04-12 20:15:10 -04:00
9d05f55ddb [commands] Fix Optional handling when the inner type is a converter 2022-04-12 20:15:10 -04:00
f072edfdfc [commands] Properly support commands.param in hybrid commands 2022-04-12 20:15:10 -04:00
fa3a4c109b [commands] Fix Context.reply not working for hybrid commands 2022-04-12 20:15:10 -04:00
d61561f2e8 [commands] Add support for autocomplete for hybrid commands 2022-04-12 20:15:10 -04:00
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
1232a1d2fd [commands] Properly call after_hooks in hybrid commands 2022-04-12 20:15:10 -04:00
c1892131a6 [commands] Fix Context docstring missing Interaction ref 2022-04-12 20:15:10 -04:00
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
aee657bca5 [commands] Add converter kwarg to flag 2022-04-09 02:10:32 -04:00
b8ae05f59f [commands] Fix missing ctx in example 2022-04-06 19:24:17 -04:00
b32b78de45 [commands] Fix missing or inferred type hints in parameters.py 2022-04-05 22:47:21 -04:00
76cc2c2272 Require passing intents to Client and its subclasses 2022-04-05 22:32:14 -04:00
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
f15f601779 [commands] Check if an application command starts with bot_ or cog_ 2022-04-05 06:06:35 -04:00
b823a4bab1 [commands] Only update annotation if an explicit override is given 2022-04-05 06:02:28 -04:00
dbcdf69eb1 [commands] Raise appropriate exception for no guild found 2022-04-04 21:49:11 -04:00
8b50ac8a31 [commands] Don't set a converter for the defaults provided 2022-04-04 21:47:03 -04:00
66155faf00 [commands] Fix documentation not being properly formatted 2022-04-04 18:10:43 -04:00
55c5be78cf [commands] Implement commands.parameter 2022-04-04 18:01:21 -04:00
994660faad [commands] Fix unknown generic type in tree_cls 2022-04-02 05:53:33 -04:00
0f18d93e47 Remove unused imports 2022-04-02 04:58:39 -04:00
3d914e08e0 [commands] Add Context.current_argument 2022-04-01 16:24:14 -04:00
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
06c257760b Update types to use Awaitable where possible 2022-03-30 22:00:24 -04:00
caac97c0d1 Allow empty iterables as a command_prefix 2022-03-30 20:07:44 -04:00
0a8065606a Update parent reference of Group children 2022-03-30 19:12:39 -04:00
55695dab3c [commands] Check for None max_concurrency 2022-03-29 04:49:37 -04:00
4fd2d5fdfd Remove redundant imports and variables 2022-03-29 02:50:34 -04:00
f5acd9e8b6 [commands] Add Command.cooldown property 2022-03-29 02:50:04 -04:00
9f83eb6032 Add application command cooldown decorators
Fix #7790
2022-03-29 00:46:42 -04:00
ae1979d17a [commands] Add note for command tree in Bot's docstring 2022-03-28 09:19:27 -04:00
def035bf9a Remove StoreChannel and any references to it 2022-03-28 00:09:19 -04:00
5ffa3e85de Update comments after # type: ignore to be compatible with PEP 484 2022-03-27 22:26:34 -04:00