Rapptz
25ad5b675c
Ensure explicitly set parents on nested groups are respected
This had a multiple layer bug that needed to be squashed. The first
issue was that setting `parent=...` inside a `Group` wouldn't actually
add the `Group` into the `parent` children mapping. This meant that
it didn't actually end up copying the children when it came time to
within e.g. a Cog.
The second issue was that even if it was added into the children
listing, it wouldn't properly set the attribute.
This commit fixes both of these issues.
Fix #7818
3 years ago
Rapptz
c671308211
Validate app command parameter renames
3 years ago
Rapptz
6986733833
Revert "Validate Option names similar to slash command names"
This reverts commit 6ef2043b10
.
3 years ago
Rapptz
6ef2043b10
Validate Option names similar to slash command names
3 years ago
Rapptz
24f8f8d4a7
Rename MaxCommandsReached to CommandLimitReached
3 years ago
Rapptz
a0618ef791
Clarify documentation certain tree methods
3 years ago
Rapptz
34b2ff40b6
Change ValueError on max commands reached to a more specific exception
3 years ago
Rapptz
705c79df59
Remove second mapping used for parameter rename lookup
Just keying into param.display_name should be enough
3 years ago
Rapptz
dfc92c223c
Fix application commands not always sending the proper parameter name
3 years ago
Rapptz
170ab7b2bb
Improve error when an invalid slash command name is given
3 years ago
Rapptz
ff24c5229e
Add iterator special method for Namespace
Fix #7812
3 years ago
Rapptz
b1fb5ed3d7
Fix autocomplete not working with renamed parameters
Fix #7810
3 years ago
Bryan Forbes
0a8065606a
Update parent reference of Group children
3 years ago
Rapptz
b7b992375d
Add examples for new cooldown checks
3 years ago
Rapptz
9f83eb6032
Add application command cooldown decorators
Fix #7790
3 years ago
Rapptz
74b5e0ceb1
Implement some built in checks for app_commands
A lot of these implementations are adapted from the equivalent
ext.commands checks. These only implement the common ones that could
not solely be done by Discord in the future.
3 years ago
Ryu juheon
9012c424bf
Replace - with # in `# type: ignore` comments in rename decorator
3 years ago
Nadir Chowdhury
c6d0c82d66
Implement app_commands.rename decorator
3 years ago
Rapptz
def035bf9a
Remove StoreChannel and any references to it
3 years ago
Rapptz
0a7eb6b021
Only verify if context menus pass a length check
According to Discord this is the check that is actually done
3 years ago
jack1142
5ffa3e85de
Update comments after `# type: ignore` to be compatible with PEP 484
3 years ago
Puncher
0bcb0d0e3c
Allow context menus have ? and ! in their name
3 years ago
Rapptz
985f5732c0
Refactor ContextMenu constructor to allow app command type inferring
3 years ago
James Gayfer
f26d3a7155
Add interaction check to command tree
In some cases, it's desirable for our command tree to only process a
subset of incoming interactions, such as in a multi process deployment.
3 years ago
Rapptz
e9ed231a03
Allow Transformer.transform to be synchronous as well.
3 years ago
Rapptz
1f3aa377c3
Wrap non-AppCommandError exceptions with TransformerError
3 years ago
Rapptz
84c38f1f22
Ignore errors if it's already handled in app commands
3 years ago
Rapptz
f7c664e3e2
Add error handler support for context menus
3 years ago
Rapptz
2876622f84
Fix typo in app command check documentation
3 years ago
Rapptz
195c923bec
Fallback to Object if the type is not resolved in namespace
3 years ago
Rapptz
bea6b815e2
Add support for app command checks
This does not include any built-in checks due to design considerations.
3 years ago
Rapptz
98a31cf285
Change autocomplete callbacks to only take two parameters
The old namespace parameter can be retrieved using the
Interaction.namespace property instead, which leads to somewhat cleaner
code.
3 years ago
Rapptz
202b993da3
Add Interaction.command and Interaction.namespace attributes
3 years ago
Rapptz
3c6daff473
Change default ellipsis descriptions to use U+2026
3 years ago
Rapptz
5b8bcaff73
Validate and bind parent in Group.add_command
3 years ago
Rapptz
1192d842e1
Fix some type checker errors and remove some type ignores
Caught from an upgraded Pyright
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
8ced1143e3
Change missing application ID error to be more descriptive
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
698d1e12a1
Add CommandTree.error decorator to set on_error dynamically
3 years ago
Rapptz
20aa6f866d
Fix CommandTree removal and getter overloads
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
Rapptz
aa006f345a
Add more special methods to Namespace for ease of use.
* __getattr__ would allow it to no longer AttributeError while
simultaneously letting linters and type checkers understand that
this is a bag of dynamic attributes.
* __contains__ allows checking for the existence of an attribute
* __getitem__ allows accessing a value even if its name is not a valid
Python identifier.
3 years ago
Rapptz
f0a47f5a40
Allow single element Literal in app commands
Fix #7690
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
5e9097179b
Add CommandTree.copy_global_to method for quick development
3 years ago
Rapptz
42beec9fa9
Fix bug when app commands would not have a module attribute set on copy
3 years ago
Rapptz
d63fd578c2
Change TextChannel annotation channel_types to include news channels
3 years ago
Rapptz
6def5c9131
Allow specifying float default values for app commands
3 years ago