100 Commits

Author SHA1 Message Date
Rapptz
a36d6daec7 Fix formatting issue in app_commands 2022-08-10 22:39:53 -04:00
Rapptz
11278d55e8 Add command information to Parameter class 2022-08-09 23:11:40 -04:00
Rapptz
c32567ea81 Refactor TranslationContext to be more useful
The previous enum was good at accomplishing dynamic key generation for
a few cases, but it fell short in others:

1. It could not discern group names and command names
2. It could not give you more contextual data such as the full object
   currently being translated.

On top of that, the context being a required parameter for
Translator.translate meant that it wouldn't be possible to re-use the
translator for other use cases outside of the rigid ones defined in the
library.

To alleviate these concerns, new enum attributes were added along with
a richer type for obtaining even more context.
2022-08-09 10:41:45 -04:00
Rapptz
57efb5a5a0 Fix failing tests to use new get_parameter function 2022-08-09 08:02:41 -04:00
Rapptz
1727eca106 Add app_commands.Parameter for parameter introspection 2022-08-09 07:43:40 -04:00
Rapptz
cc0c261925 Change auto_locale_strings default to True 2022-08-08 20:17:47 -04:00
Rapptz
1c9792e0ed Add auto_locale_strings parameter to application commands 2022-08-05 22:36:40 -04:00
Rapptz
2d586ae805 Add initial support for app command localisation 2022-08-05 22:35:30 -04:00
Rapptz
c735682ac6 Fix autocomplete bindings not working for transformer instances 2022-08-03 19:02:36 -04:00
Bryan Forbes
07ad6951fb
Fix various generics throughout the public interface
Fix CooldownMapping generic typing and ensure other public methods 
have proper generics
2022-08-01 06:24:55 -04:00
StockerMC
1fbcfbd1fb Fix cog_app_command_error for group edge case 2022-07-27 22:27:37 -04:00
Stocker
6d1069e789
Fix cog_app_command_error for groups 2022-07-27 00:29:53 -04:00
Rapptz
4914e74029 Change variable name for binding error handler to be more generic 2022-07-17 23:46:47 -04:00
Stocker
0546343bcb
[commands] Add cog-level app command error special method 2022-07-17 23:45:19 -04:00
Bryan Forbes
0eb3d26343
Add generic arguments for extras typing 2022-06-27 22:35:22 -04:00
I. Ahmad
9fc4769b18
Add extras attribute to app commands command types 2022-06-21 20:38:56 -04:00
Rapptz
9648986028 Reorder fruit autocomplete example to be less confusing 2022-06-14 20:40:27 -04:00
Josh
c9f777c873
Fix type annotations to adhere to latest pyright release 2022-06-12 15:30:45 -04:00
Rapptz
0b026b1283 Elaborate on rename decorator behaviour 2022-05-31 18:14:31 -04:00
Rapptz
573b2121b7 Add support for NSFW application commands
Of course, this somehow doesn't work with subcommands
2022-05-22 19:20:37 -04:00
Rapptz
7905d63f7c Reword missing annotation error to be a bit clearer 2022-05-20 17:21:31 -04:00
Rapptz
37076a04de Fix autocomplete example to not be as confusing 2022-05-18 20:53:33 -04:00
Snaptraks
30c7a2179f
Fix typo in context menu error message 2022-05-17 16:41:29 -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
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
11d4dfd8fa Update app_commands validation regex to match newest documentation 2022-05-01 20:01:46 -04:00
Rapptz
a704666ce3 Add support for app_commands decorators for Group subclasses 2022-05-01 19:10:59 -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
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
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
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
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
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
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