Commit Graph
791 Commits
Author SHA1 Message Date
jack1142andGitHub f9ead92239 [commands] Change Parameters header to Attributes in HybridGroup 2022-04-15 03:23:56 -04:00
Rapptz 80aa45ed31 [commands] Skip ws before processing arguments in Greedy transformer 2022-04-15 03:21:36 -04:00
Rapptz 4fb1309e2a [commands] Mock interaction context prefix
Most user-level code probably expects the prefix to be valid and not
None, so mocking it to ensure it's at least a string is probably for
the best.
2022-04-14 19:12:16 -04:00
Rapptz bc07a02f68 [commands] Fix type hints for hybrid command decorators 2022-04-14 05:14:48 -04:00
Rapptz ce15df4275 [commands] Allow commands.Range inside typing.Union or typing.Optional 2022-04-13 22:43:11 -04:00
Rapptz 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
Rapptz e9ff6b4be8 [commands] Fix broken documentation references 2022-04-13 18:49:39 -04:00
Rapptz 5c61f2af48 [commands] Add ForumChannelConverter to the converter mapping 2022-04-13 17:45:54 -04:00
Rapptz 141d9f4c71 [commands] Add ForumChannelConverter converter 2022-04-13 17:44:03 -04:00
Rapptz 7a52aa3764 [commands] Force HybridGroup to always have invoke_without_command 2022-04-13 17:14:21 -04:00
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