132 Commits

Author SHA1 Message Date
Rapptz
573bb32a1e Fallback to an unavailable guild instead of an Object in interactions 2022-05-14 06:50:27 -04:00
Rapptz
f780b0a283 Add setting to fallback to global command if guild command isn't found 2022-05-12 06:36:19 -04:00
Rapptz
863df7d049 Add support for discord.Thread annotation in app commands 2022-05-11 23:45:02 -04:00
Rapptz
40176bb71b Fix bound method autocomplete callbacks not working
This also adds some regression tests
2022-05-09 17:24:48 -04:00
z03h
bd727d2b0c
Add edit and delete methods to AppCommand 2022-05-05 06:20:55 -04:00
Rapptz
8699d2139a Improve generic duck type programming with PartialMessageable
This adds jump_url, permissions_for, and created_at. Luckily, most
cases of this type being constructed already have the guild_id at
creation time.
2022-05-03 10:49:52 -04:00
Bryan Forbes
4a73de946a
Change dm_permissons to dm_permission 2022-05-02 18:25:42 -04:00
Rapptz
66c48c2d0e Add support for checks with autocomplete
Fixes #7969
2022-05-01 20:21:32 -04:00
Rapptz
d774b4ac7a Add back tuple __slots__ for AllChannels 2022-05-01 20:10:56 -04:00
Rapptz
11d4dfd8fa Update app_commands validation regex to match newest documentation 2022-05-01 20:01:46 -04:00
Rapptz
ca33824ba2 Change AllChannels.id into a property rather than a slot 2022-05-01 19:41:45 -04:00
Rapptz
a704666ce3 Add support for app_commands decorators for Group subclasses 2022-05-01 19:10:59 -04:00
z03h
619bc50e5d
Add application command permissions to audit log 2022-05-01 18:59:57 -04:00
Rapptz
5f0cf58b2e Revert "Run parent command checks before calling autocomplete callback"
This reverts commit 5e98626d41e6e39f82b9fbdc7a0723311fe5751b.

Fix #7978
2022-05-01 18:54:22 -04:00
Rapptz
d39f9851a7 Add qualified_name for app_commands 2022-05-01 14:01:21 -04:00
Arya
5dd828cdac
Add error decorator to app_commands.Group
Co-authored-by: Danny <Rapptz@users.noreply.github.com>
2022-05-01 02:40:11 -04:00
Rapptz
5e98626d41 Run parent command checks before calling autocomplete callback
Fixes #7969
2022-04-30 19:53:27 -04:00
Rapptz
5536ef1eea Update to pyright 1.1.242 2022-04-30 19:37:01 -04:00
Bryan Forbes
7fca030107
Add Group class arguments for permissions v2 2022-04-28 20:47:54 -04:00
zephyrkul
10af1ea255
Document behavior for empty default permissions 2022-04-28 12:54:55 -04:00
Rapptz
ab64a2eae9 Fix typing of guilds kwargs to take Sequence instead of List 2022-04-28 10:48:57 -04:00
Rapptz
a14b43f2fd Fix documentation links being broken 2022-04-28 00:53:51 -04:00
Rapptz
3b3d4d3880 Add support for setting and receiving permissions v2
Closes #7592

This does not include audit log changes or the remaining endpoints.
That will come in a different commit.
2022-04-28 00:23:36 -04:00
Rapptz
5fcd4e411f [commands] Add support for typing.Annotated 2022-04-22 06:31:02 -04:00
Florian Spieß
0e5c4c391d
[commands] Allow subtracting multiple tokens from cooldown 2022-04-21 12:23:20 -04:00
Rapptz
2e02f618f0 Add support for enum values that aren't int, str, or float
This coerces them into string options to allow them to be transformed
in the actual code.
2022-04-18 20:15:45 -04:00
Harmon
1bfe6b2bb1
Fix support for guilds decorator with context menu commands 2022-04-15 05:00:24 -04:00
Rapptz
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
Rapptz
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
Rapptz
cdf442bc32 Fix signature detection in CommandTree.error decorator 2022-04-13 22:30:39 -04:00
Rapptz
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
Rapptz
83fae4f0fa Add CommandTree.clear_commands 2022-04-13 22:20:05 -04:00
Rapptz
3bb4d3bd6d Allow internal library enums to be used as an annotation 2022-04-12 20:15:11 -04:00
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