Commit Graph

105 Commits

Author SHA1 Message Date
9ff90d7863 Copy internal attributes for command decorator state
This allows for copies to not clear the state the decorators had
set prior.
2022-04-14 17:45:27 -04:00
4951231a7c Remove command parameter from Group.on_error callback
Similar to the CommandTree.on_error removal, this one can be retrieved
using Interaction.command
2022-04-13 22:45:06 -04:00
cdf442bc32 Fix signature detection in CommandTree.error decorator 2022-04-13 22:30:39 -04:00
3f4fb91328 Change CommandTree.on_error to only take two parameters
The command that failed can be retrieved using Interaction.command
so having it as a parameter doesn't make much sense.
2022-04-13 22:29:27 -04:00
83fae4f0fa Add CommandTree.clear_commands 2022-04-13 22:20:05 -04:00
3bb4d3bd6d Allow internal library enums to be used as an annotation 2022-04-12 20:15:11 -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
7bf1a7483a Parse command descriptions from docstrings
Co-authored-by: Danny <Rapptz@users.noreply.github.com>
2022-04-12 16:31:17 -04:00
5892bbd8b4 Allow getting all commands from CommandTree.get_commands
Co-authored-by: Danny <Rapptz@users.noreply.github.com>
2022-04-10 23:00:18 -04:00
f07885973f Provide callback name where applicable in validation
Fix #7850
2022-04-06 08:57:04 -04:00
7770972041 A small grammar fix app_commands.context_menu
This just makes it so it adheres with the rule that `an` goes 
before a word that begins with a vowel.
2022-04-05 11:01:55 -04:00
907d5e0ee7 Document Forbidden exception in CommandTree.sync 2022-04-03 22:57:54 -04:00
20d2ab96e8 Fix check for when autocomplete is overridden 2022-04-03 05:36:57 -04:00
151948a09a Add autocomplete method to Transformers
Co-authored-by: Danny <Rapptz@users.noreply.github.com>
2022-04-03 02:32:16 -04:00
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
2022-04-01 09:13:27 -04:00
c671308211 Validate app command parameter renames 2022-04-01 07:02:37 -04:00
6986733833 Revert "Validate Option names similar to slash command names"
This reverts commit 6ef2043b10.
2022-04-01 06:58:11 -04:00
6ef2043b10 Validate Option names similar to slash command names 2022-04-01 00:09:02 -04:00
24f8f8d4a7 Rename MaxCommandsReached to CommandLimitReached 2022-03-31 23:10:13 -04:00
a0618ef791 Clarify documentation certain tree methods 2022-03-31 10:31:48 -04:00
34b2ff40b6 Change ValueError on max commands reached to a more specific exception 2022-03-31 09:34:48 -04:00
705c79df59 Remove second mapping used for parameter rename lookup
Just keying into param.display_name should be enough
2022-03-31 08:58:53 -04:00
dfc92c223c Fix application commands not always sending the proper parameter name 2022-03-31 08:55:20 -04:00
170ab7b2bb Improve error when an invalid slash command name is given 2022-03-31 04:12:09 -04:00
ff24c5229e Add iterator special method for Namespace
Fix #7812
2022-03-30 21:45:30 -04:00
b1fb5ed3d7 Fix autocomplete not working with renamed parameters
Fix #7810
2022-03-30 19:46:27 -04:00
0a8065606a Update parent reference of Group children 2022-03-30 19:12:39 -04:00
b7b992375d Add examples for new cooldown checks 2022-03-29 06:02:41 -04:00
9f83eb6032 Add application command cooldown decorators
Fix #7790
2022-03-29 00:46:42 -04:00
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.
2022-03-28 16:36:29 -04:00
9012c424bf Replace - with # in # type: ignore comments in rename decorator 2022-03-28 09:28:01 -04:00
c6d0c82d66 Implement app_commands.rename decorator 2022-03-28 05:52:33 -04:00
def035bf9a Remove StoreChannel and any references to it 2022-03-28 00:09:19 -04:00
0a7eb6b021 Only verify if context menus pass a length check
According to Discord this is the check that is actually done
2022-03-27 23:32:36 -04:00
5ffa3e85de Update comments after # type: ignore to be compatible with PEP 484 2022-03-27 22:26:34 -04:00
0bcb0d0e3c Allow context menus have ? and ! in their name 2022-03-26 23:41:05 -04:00
985f5732c0 Refactor ContextMenu constructor to allow app command type inferring 2022-03-25 09:11:11 -04:00
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.
2022-03-24 22:32:56 -04:00
e9ed231a03 Allow Transformer.transform to be synchronous as well. 2022-03-22 22:44:42 -04:00
1f3aa377c3 Wrap non-AppCommandError exceptions with TransformerError 2022-03-22 19:07:22 -04:00
84c38f1f22 Ignore errors if it's already handled in app commands 2022-03-21 04:07:05 -04:00
f7c664e3e2 Add error handler support for context menus 2022-03-21 03:56:28 -04:00
2876622f84 Fix typo in app command check documentation 2022-03-19 15:48:00 -04:00
195c923bec Fallback to Object if the type is not resolved in namespace 2022-03-19 01:38:16 -04:00
bea6b815e2 Add support for app command checks
This does not include any built-in checks due to design considerations.
2022-03-19 01:24:53 -04:00
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.
2022-03-17 10:13:09 -04:00
202b993da3 Add Interaction.command and Interaction.namespace attributes 2022-03-17 09:45:21 -04:00
3c6daff473 Change default ellipsis descriptions to use U+2026 2022-03-17 07:37:33 -04:00
5b8bcaff73 Validate and bind parent in Group.add_command 2022-03-16 07:32:01 -04:00
1192d842e1 Fix some type checker errors and remove some type ignores
Caught from an upgraded Pyright
2022-03-16 01:46:58 -04:00