Rapptz
5fcd4e411f
[commands] Add support for typing.Annotated
3 years ago
Florian Spieß
0e5c4c391d
[commands] Allow subtracting multiple tokens from cooldown
3 years ago
Rapptz
832d2c0542
[commands] Fix certain annotations being allowed in hybrid commands
Union types were not properly constrained and callable types were
too eagerly being converted
3 years ago
Rapptz
405c445093
[commands] Unwrap transformers when considering them as converters
3 years ago
Rapptz
5357b9319b
[commands] Ignore delete_after for ephemeral interaction sends
3 years ago
Rapptz
de941ababe
Add Colour.from_str factory method
This moves the command extension parsing code over to the main library
since it can be potentially useful for others.
3 years ago
Rapptz
84e6b9283d
[commands] Fix delete_after not working with interaction Context.send
3 years ago
Rapptz
cd0d6749ea
[commands] Fix Context.reply not working with expired interactions
3 years ago
Rapptz
1d97a35385
[commands] Fix hybrid commands not respecting default annotations
3 years ago
Rapptz
6113f856b6
[commands] Dispatch command events for hybrid commands
3 years ago
Cryptex
7d2e5be3a1
[commands] Allow DynamicCooldownMapping factory to return None
3 years ago
Lilly Rose Berner
15a6a04622
[tasks] Fix Task.failed() only being True while error handler runs
3 years ago
Josh
9fcb3c8871
[commands] Add overload to run_converters
3 years ago
jack1142
f9ead92239
[commands] Change Parameters header to Attributes in HybridGroup
3 years ago
Rapptz
80aa45ed31
[commands] Skip ws before processing arguments in Greedy transformer
3 years ago
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.
3 years ago
Rapptz
bc07a02f68
[commands] Fix type hints for hybrid command decorators
3 years ago
Rapptz
ce15df4275
[commands] Allow commands.Range inside typing.Union or typing.Optional
3 years ago
Rapptz
8a1800bd12
[commands] Add support for setting a fallback slash subcommand
This allows the group callback to be invoked as a slash subcommand
3 years ago
Rapptz
e9ff6b4be8
[commands] Fix broken documentation references
3 years ago
Rapptz
5c61f2af48
[commands] Add ForumChannelConverter to the converter mapping
3 years ago
Rapptz
141d9f4c71
[commands] Add ForumChannelConverter converter
3 years ago
Rapptz
7a52aa3764
[commands] Force HybridGroup to always have invoke_without_command
3 years ago
Rapptz
b476757720
[commands] Fix type hints for checks, hooks, and error handlers
3 years ago
Rapptz
737ff5beaf
Update Pyright to 1.1.237
3 years ago
Rapptz
242d3f7ab7
[commands] Add Bot.hybrid_group and Bot.hybrid_command decorators
3 years ago
Rapptz
1931b0eb75
[commands] Ensure hybrid app command receives copied wrapper command
3 years ago
Rapptz
393fdde037
[commands] Add support for Greedy for hybrid commands
3 years ago
Rapptz
1004cf2059
[commands] Unconditionally replace default if it's set
Handles degenerate `x: int = commands.param(default=10)` case
3 years ago
Rapptz
70d2522e7e
[commands] Unwrap CommandInvokeError if the cause is CommandError
3 years ago
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.
3 years ago
Rapptz
896932faf1
[commands] Add Range converter
This allows hybrid commands to also have a range annotation
3 years ago
Rapptz
3c4b22b623
[commands] Fix transformers no longer working as annotation
3 years ago
Rapptz
9d05f55ddb
[commands] Fix Optional handling when the inner type is a converter
3 years ago
Rapptz
f072edfdfc
[commands] Properly support commands.param in hybrid commands
3 years ago
Rapptz
fa3a4c109b
[commands] Fix Context.reply not working for hybrid commands
3 years ago
Rapptz
d61561f2e8
[commands] Add support for autocomplete for hybrid commands
3 years ago
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.
3 years ago
Rapptz
1232a1d2fd
[commands] Properly call after_hooks in hybrid commands
3 years ago
Rapptz
c1892131a6
[commands] Fix Context docstring missing Interaction ref
3 years ago
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.
3 years ago
z03h
aee657bca5
[commands] Add converter kwarg to flag
3 years ago
Willy
b8ae05f59f
[commands] Fix missing ctx in example
3 years ago
Rapptz
b32b78de45
[commands] Fix missing or inferred type hints in parameters.py
3 years ago
Rapptz
76cc2c2272
Require passing intents to Client and its subclasses
3 years ago
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
3 years ago
Rapptz
f15f601779
[commands] Check if an application command starts with bot_ or cog_
3 years ago
Rapptz
b823a4bab1
[commands] Only update annotation if an explicit override is given
3 years ago
Rapptz
dbcdf69eb1
[commands] Raise appropriate exception for no guild found
3 years ago
Rapptz
8b50ac8a31
[commands] Don't set a converter for the defaults provided
3 years ago