Rapptz
5b8bcaff73
Validate and bind parent in Group.add_command
3 years ago
Rapptz
446c502995
Change lowercase detection to work with CJK languages
str.islower() does not properly work with characters in the Lo category
so CJK languages fail the check.
Fix #7698
3 years ago
Rapptz
27dd986858
Forbid Choice annotations being used with autocomplete parameters
Since the Choice are synthetic, the library doesn't have a
pre-populated list of choices to know what to use as the resulting
value.
3 years ago
Rapptz
f015b59e43
Add CommandTree.walk_commands and Group.walk_commands
3 years ago
Rapptz
5bc085ebab
Properly set root parent before copying a command's binding
3 years ago
Stocker
5aa696ccfa
Fix typing issues and improve typing completeness across the library
Co-authored-by: Danny <[email protected] >
Co-authored-by: Josh <[email protected] >
3 years ago
Rapptz
42beec9fa9
Fix bug when app commands would not have a module attribute set on copy
3 years ago
Rapptz
1d1bba1f90
Support app_commands.guilds decorator for context menu commands
3 years ago
Rapptz
0ef369c0fa
[commands] Automatically unload top level app commands in extensions
3 years ago
Rapptz
333849e5a3
Unbind bound methods passed to Command constructor
Fixes #7600
3 years ago
Rapptz
bbf7a7981b
Ensure all choices are the same type as the parameter type
Fixes #7625
3 years ago
Rapptz
377561844d
Raise an error if a child command has default guilds set
3 years ago
Rapptz
f54c4ca54e
Validate application command names
3 years ago
Rapptz
02fcc814e1
Allow passing guild_ids in constructors of Command and Group
Fixes #7626
3 years ago
Rapptz
f6453d9439
Fix free functions being passed a binding in autocomplete callbacks
Fix #7624
3 years ago
Rapptz
446bfa78b0
[commands] Allow Cog and app_commands interopability
This changeset allows app commands defined inside Cog to work as
expected. Likewise, by deriving app_commands.Group and Cog you can
make the cog function as a top level command on Discord.
3 years ago
Rapptz
5741ad9368
Change default guild IDs attribute to persist on copy
3 years ago
Rapptz
0d126c594c
Use descriptor protocol to obtain attribute name instead of a dict
3 years ago
Rapptz
303d33bb08
Support Group with app_commands.guilds decorator
3 years ago
Rapptz
9d27855755
Update attributes of instantiated Group to point to the Command copy
3 years ago
Rapptz
25b4bc277b
Add app_commands.guilds to set the guilds of a command in another way
This is mostly preparation for interopability with commands.Cog as this
would allow authors to specify the guilds for their cog defined
commands.
3 years ago
Rapptz
5fb1b933cf
Add Group.commands property
3 years ago
HigherOrderLogic
4ad6146069
Fix doc typo in Group docstring
3 years ago
Stocker
2eec900e98
Add the Command.callback and ContextMenu.callback properties
3 years ago
Steve C
8bbeee3464
Expose app_commands.autocomplete
3 years ago
Rapptz
7ac4f3007b
Fix missing type imports in context menu verification
3 years ago
Rapptz
5c9605fc1b
Fix Message context menus not working
3 years ago
Rapptz
aa74238053
Reorganise documentation for interactions
3 years ago
Rapptz
ae1aaac5a7
Add support for autocomplete
3 years ago
Rapptz
4e04dbdec7
Add support for choice option parameters
This implements it in three different ways:
* The first is using typing.Literal for quick and easy ones
* The second is using enum.Enum for slightly more complex ones
* The last is using a Choice type hint with a decorator to pass
a list of choices.
This should hopefully cover most use cases.
3 years ago
Rapptz
3cf3065c02
Add support for annotation transformers
This facilitates the "converter-like" API of the app_commands
submodule. As a consequence of this refactor, more types are supported
like channels and attachment.
3 years ago
Rapptz
c10ed93cef
Add support for error handlers
3 years ago
Rapptz
cdb7b3728e
Fix potential conflicts in snowflake keys
This can happen on really old channels with the same ID as the guild ID
and having a command with both a role and a channel.
3 years ago
Rapptz
dffd72da58
Add support for context menu commands
3 years ago
Rapptz
0d2db90028
Implement slash commands
3 years ago