Commit Graph
798 Commits
Author SHA1 Message Date
Sebastian LawandGitHub 9c109ae59b [commands] Unload cog when command registration fails in _inject 2022-07-20 22:31:14 -04:00
StockerandGitHub 0546343bcb [commands] Add cog-level app command error special method 2022-07-17 23:45:19 -04:00
z03handGitHub faad035fa2 [commands] change Range to raise BadArgument for invalid values 2022-07-16 22:27:47 -04:00
zephyrkulandGitHub 9fe19dcc69 [commands] Add Context.permissions and Context.bot_permissions 2022-07-04 21:48:36 -04:00
Rapptz fd9c244f48 Validate Range to disallow min > max 2022-07-03 07:37:58 -04:00
Rapptz b5392ea0f1 [commands] Add support for Range[str, ...] 2022-07-01 19:21:56 -04:00
Bryan ForbesandGitHub b7dd97dca9 [commands] Change Command.extras to match typing in app commands 2022-06-28 16:20:15 -04:00
apple502jandGitHub b95db674c0 Fix some typos 2022-06-27 22:34:45 -04:00
willandGitHub d0a52f4276 Fix typo and capitalizations in docs 2022-06-19 23:02:53 -04:00
Rapptz 903e2e64e9 [tasks] Only update the time interval if the body has run once
Fix #8151
2022-06-14 07:41:36 -04:00
Rapptz 53685b9b86 Change stderr prints to use the logging module instead 2022-06-13 01:06:15 -04:00
5d1b63bfee [docs] Add async with documentation for Client
Co-authored-by: Rapptz <1695103+Rapptz@users.noreply.github.com>
2022-06-12 16:06:44 -04:00
Daniel DiazandGitHub 1f053e0a32 [commands] Document argument attribute in BadInviteArgument 2022-06-12 15:36:21 -04:00
JoshandGitHub c9f777c873 Fix type annotations to adhere to latest pyright release 2022-06-12 15:30:45 -04:00
Steve CandGitHub 98ca16ef67 Tweak wording for "less than" Range error
Keeping it consistent!
2022-06-07 01:36:21 -04:00
Jakub KuczysandGitHub 4e7529138c [commands] Properly use Optional's default value on parsing error 2022-06-06 20:18:25 -04:00
Rapptz 36f039a1bf [commands] Fix interaction baton not being set during Context creation 2022-05-30 08:50:19 -04:00
Rapptz 3dddddc8f9 [commands] Change Context.typing to defer for interaction contexts 2022-05-22 21:49:27 -04:00
Rapptz 06c43d6772 [commands] Add support for NSFW commands for hybrid commands 2022-05-22 19:31:28 -04:00
Rapptz a47396b21e [commands] Change guild_only check to set guild_only in hybrid commands 2022-05-22 18:48:01 -04:00
38ba3b8d23 [commands] fix case_insensitive bug in parse_flags
Co-authored-by: Danny <Rapptz@users.noreply.github.com>
2022-05-17 16:41:02 -04:00
z03handGitHub 2be65e5874 [commands] Fix errors when DynamicCooldown returns None 2022-05-17 03:37:31 -04:00
z03handGitHub cdf787186e Add VoiceChannel and Thread to isinstance checks 2022-05-16 15:32:13 -04:00
z03handGitHub 9450a8e972 [commands] Change FlagConverter to always raise BadFlagArgument 2022-05-16 15:31:18 -04:00
Rapptz 6e2fcd4762 [commands] Assign current parameter and argument in hybrid commands 2022-05-12 06:36:19 -04:00
Rapptz 6d55b96fa7 [commands] Fix unsupported discord converters in hybrid commands
These are things that are supported in regular commands but not in
application commands, such as discord.Colour, discord.Game, or
discord.Emoji.
2022-05-11 20:14:39 -04:00
Rapptz 06e8683d01 [commands] Fix flag_converter attribute not being properly copied 2022-05-11 03:30:20 -04:00
Rapptz 15ceca1e63 [commands] Add support for FlagConverter in hybrid commands
This works by unpacking and repacking the flag arguments in a flag.
If an unsupported type annotation is found then it will error at
definition time.
2022-05-11 03:15:57 -04:00
Rapptz bd3ce597e1 [commands] Fix app command children not being copied in HybridGroup
This degenerate case is only triggered inside cogs when using the
app_command property to define commands, such as this:

    class X(commands.Cog):
        @commands.hybrid_group()
        async def foo(self, ctx):
            ...

        @foo.app_command.command()
        async def bar(self, interaction):
            ...
2022-05-06 09:02:49 -04:00
xCirnoandGitHub 6901907b69 [commands] Add seealso directive in functions referencing checks 2022-05-05 06:21:52 -04:00
Rapptz 9793fba338 [commands] Add support for discord.Attachment converters 2022-05-05 01:54:59 -04:00
Rapptz ccc737eb07 [commands] Add support for with_app_command in hybrid commands
This allows the user to make a text-only command without it registering
as an application command
2022-05-05 01:46:19 -04:00
7b65be9d25 [commands] Fix broken None reference
Co-authored-by: Danny <Rapptz@users.noreply.github.com>
2022-05-04 23:34:49 -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
Rapptz eee65ac39b [commands] Pass permissions v2 information to HybridGroup 2022-05-02 19:08:25 -04:00
Michael HandGitHub d0667d08e3 [commands] Fix typing of check/check_any
This changes the type information of check decorators to return a
protocol representing that the decorator leaves the underlying object
unchanged while having a .predicate attribute.

resolves #7949
2022-05-02 18:54:49 -04:00
Rapptz e8a2eeea06 [commands] Rename Cog.app_command_group to Cog.app_command
This allows it to be consistent with hybrid commands
2022-05-01 19:04:53 -04:00
Rapptz 0551214be1 [commands] Properly set default guilds for group to None instead of [] 2022-05-01 15:44:18 -04:00
Rapptz e873b8294a [commands] Properly set group parent for hybrid commands in cogs 2022-05-01 15:01:30 -04:00
Rapptz f4c5d37c8f [commands] Rework Cog + Group inheritance to requite GroupCog
This is an attempt to fix the MRO issues present in the current
implementation. The previous implementation of using both Cog and
app_commands.Group in the inheritance chain caused issues with things
such as walk_commands due to it potentially shadowing the app_commands
version of the call.

In this particular case it's better to use composition instead of
inheritance to avoid these bugs entirely. Especially as more things are
added that could conflict with each other.
2022-05-01 14:01:21 -04:00
Varun JandGitHub 0c613148af [commands] fix signature when displayed_default is missing
This makes it so that passing an empty string (or MISSING) to the 
displayed_default of commands.Parameter not show up as [name=] or [name=...]
2022-05-01 02:48:11 -04:00
Rapptz 6ee56fe964 Fix remaining --verifytypes related errors 2022-04-30 19:43:53 -04:00
Rapptz 5536ef1eea Update to pyright 1.1.242 2022-04-30 19:37:01 -04:00
MikeyandGitHub 165e14063f [commands] fix BucketType.default bypassing dynamic_cooldown 2022-04-30 18:46:37 -04:00
Rapptz 5fcd4e411f [commands] Add support for typing.Annotated 2022-04-22 06:31:02 -04:00
Florian SpießandGitHub 0e5c4c391d [commands] Allow subtracting multiple tokens from cooldown 2022-04-21 12:23:20 -04:00
Rapptz 832d2c0542 [commands] Fix certain annotations being allowed in hybrid commands
Union types were not properly constrained and callable types were
too eagerly being converted
2022-04-21 04:13:32 -04:00
Rapptz 405c445093 [commands] Unwrap transformers when considering them as converters 2022-04-21 03:19:11 -04:00
Rapptz 5357b9319b [commands] Ignore delete_after for ephemeral interaction sends 2022-04-21 02:07:37 -04:00
Rapptz de941ababe Add Colour.from_str factory method
This moves the command extension parsing code over to the main library
since it can be potentially useful for others.
2022-04-20 06:49:28 -04:00