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
Jonah Lawrence
7bf1a7483a
Parse command descriptions from docstrings
...
Co-authored-by: Danny <Rapptz@users.noreply.github.com>
2022-04-12 16:31:17 -04:00
NextChai
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
Rapptz
f07885973f
Provide callback name where applicable in validation
...
Fix #7850
2022-04-06 08:57:04 -04:00
Vish M
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
Rapptz
907d5e0ee7
Document Forbidden exception in CommandTree.sync
2022-04-03 22:57:54 -04:00
Josh
20d2ab96e8
Fix check for when autocomplete is overridden
2022-04-03 05:36:57 -04:00
Josh
151948a09a
Add autocomplete method to Transformers
...
Co-authored-by: Danny <Rapptz@users.noreply.github.com>
2022-04-03 02:32:16 -04:00
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
2022-04-01 09:13:27 -04:00
Rapptz
c671308211
Validate app command parameter renames
2022-04-01 07:02:37 -04:00
Rapptz
6986733833
Revert "Validate Option names similar to slash command names"
...
This reverts commit 6ef2043b1076f2a5694b44fef785b06e83603aa3.
2022-04-01 06:58:11 -04:00
Rapptz
6ef2043b10
Validate Option names similar to slash command names
2022-04-01 00:09:02 -04:00
Rapptz
24f8f8d4a7
Rename MaxCommandsReached to CommandLimitReached
2022-03-31 23:10:13 -04:00
Rapptz
a0618ef791
Clarify documentation certain tree methods
2022-03-31 10:31:48 -04:00
Rapptz
34b2ff40b6
Change ValueError on max commands reached to a more specific exception
2022-03-31 09:34:48 -04:00
Rapptz
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
Rapptz
dfc92c223c
Fix application commands not always sending the proper parameter name
2022-03-31 08:55:20 -04:00
Rapptz
170ab7b2bb
Improve error when an invalid slash command name is given
2022-03-31 04:12:09 -04:00
Rapptz
ff24c5229e
Add iterator special method for Namespace
...
Fix #7812
2022-03-30 21:45:30 -04:00
Rapptz
b1fb5ed3d7
Fix autocomplete not working with renamed parameters
...
Fix #7810
2022-03-30 19:46:27 -04:00
Bryan Forbes
0a8065606a
Update parent reference of Group children
2022-03-30 19:12:39 -04:00
Rapptz
b7b992375d
Add examples for new cooldown checks
2022-03-29 06:02:41 -04:00
Rapptz
9f83eb6032
Add application command cooldown decorators
...
Fix #7790
2022-03-29 00:46:42 -04:00
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.
2022-03-28 16:36:29 -04:00
Ryu juheon
9012c424bf
Replace - with # in # type: ignore
comments in rename decorator
2022-03-28 09:28:01 -04:00
Nadir Chowdhury
c6d0c82d66
Implement app_commands.rename decorator
2022-03-28 05:52:33 -04:00
Rapptz
def035bf9a
Remove StoreChannel and any references to it
2022-03-28 00:09:19 -04:00
Rapptz
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
jack1142
5ffa3e85de
Update comments after # type: ignore
to be compatible with PEP 484
2022-03-27 22:26:34 -04:00
Puncher
0bcb0d0e3c
Allow context menus have ? and ! in their name
2022-03-26 23:41:05 -04:00
Rapptz
985f5732c0
Refactor ContextMenu constructor to allow app command type inferring
2022-03-25 09:11:11 -04:00
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.
2022-03-24 22:32:56 -04:00
Rapptz
e9ed231a03
Allow Transformer.transform to be synchronous as well.
2022-03-22 22:44:42 -04:00
Rapptz
1f3aa377c3
Wrap non-AppCommandError exceptions with TransformerError
2022-03-22 19:07:22 -04:00
Rapptz
84c38f1f22
Ignore errors if it's already handled in app commands
2022-03-21 04:07:05 -04:00
Rapptz
f7c664e3e2
Add error handler support for context menus
2022-03-21 03:56:28 -04:00
Rapptz
2876622f84
Fix typo in app command check documentation
2022-03-19 15:48:00 -04:00
Rapptz
195c923bec
Fallback to Object if the type is not resolved in namespace
2022-03-19 01:38:16 -04:00
Rapptz
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
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.
2022-03-17 10:13:09 -04:00
Rapptz
202b993da3
Add Interaction.command and Interaction.namespace attributes
2022-03-17 09:45:21 -04:00
Rapptz
3c6daff473
Change default ellipsis descriptions to use U+2026
2022-03-17 07:37:33 -04:00
Rapptz
5b8bcaff73
Validate and bind parent in Group.add_command
2022-03-16 07:32:01 -04:00
Rapptz
1192d842e1
Fix some type checker errors and remove some type ignores
...
Caught from an upgraded Pyright
2022-03-16 01:46:58 -04:00
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
2022-03-15 23:37:54 -04:00
Rapptz
8ced1143e3
Change missing application ID error to be more descriptive
2022-03-15 07:22:44 -04:00
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.
2022-03-15 07:09:41 -04:00
Rapptz
698d1e12a1
Add CommandTree.error decorator to set on_error dynamically
2022-03-15 06:57:25 -04:00
Rapptz
20aa6f866d
Fix CommandTree removal and getter overloads
2022-03-15 03:34:04 -04:00
Rapptz
f015b59e43
Add CommandTree.walk_commands and Group.walk_commands
2022-03-15 03:24:20 -04:00