Commit Graph
653 Commits
Author SHA1 Message Date
MrKomodoDragonandGitHub ed3c141f5e [commands] Add clean_prefix attribute to commands.Context 2021-04-14 22:09:40 -04:00
Rapptz 74b07a3218 [commands] Fix Command.clean_params to return a regular dict 2021-04-11 16:30:28 -04:00
KreusadaandGitHub af5964358d [commands] Strip text to remove spaces before ellipsis 2021-04-11 15:19:45 -04:00
Rapptz 74d8ad2013 [commands] Add support for Python 3.10 Union typing 2021-04-11 02:11:24 -04:00
Rapptz 1ecadf057e [commands] Fix errors with cooldown mappings 2021-04-11 01:00:04 -04:00
JoshandGitHub 7f91ae8b67 [commands] use __args__ and __origin__ where applicable 2021-04-11 00:38:17 -04:00
JoshandGitHub c54c4cb215 [commands] Fix repr for Greedy 2021-04-10 22:34:24 -04:00
Rapptz 3151672cfe [commands] Refactor typing evaluation to not use get_type_hints
get_type_hints had a few issues:

1. It would convert = None default parameters to Optional
2. It would not allow values as type annotations
3. It would not implicitly convert some string literals as ForwardRef

In Python 3.9 `list['Foo']` does not convert into
`list[ForwardRef('Foo')]` even though `typing.List` does this
behaviour. In order to streamline it, evaluation had to be rewritten
manually to support our usecases.

This patch also flattens nested typing.Literal which was not done
until Python 3.9.2.
2021-04-10 20:56:08 -04:00
Rapptz 27886e5aa4 [commands] Remove legacy ExtensionNotFound.original attribute 2021-04-10 15:52:53 -04:00
Nadir ChowdhuryandGitHub 353737239a [commands] Minimise code duplication in channel converters 2021-04-10 14:01:26 -04:00
JamesandGitHub bcd3a00eaf [commands] Make commands.Greedy a typing.Generic 2021-04-10 07:27:32 -04:00
Dan HessandGitHub f2d5ab6f80 [commands] Provide a dynamic cooldown system 2021-04-10 03:30:01 -04:00
Sigmath BitsandGitHub 68aef92b37 [commands]Add typing.Literal converter 2021-04-10 02:50:59 -04:00
Sebastian LawandGitHub 4134a17a29 [commands] Raise error when a cog name is already registered 2021-04-08 22:04:10 -04:00
Rapptz 99fc950510 Use f-strings in more places that were missed. 2021-04-08 06:02:47 -04:00
pikaninjaandGitHub 1c553f51fb [commands] Use has_error_handler instead in command_error 2021-04-07 23:42:52 -04:00
Rapptz f80b8d3f5d [commands] Only replace annotation if one was given 2021-04-07 03:17:36 -04:00
Nadir ChowdhuryandGitHub 89456022cf Add __all__ to remaining modules 2021-04-07 02:30:32 -04:00
Nadir ChowdhuryandGitHub 7a34de1570 [commands] Use typing.get_type_hints to resolve ForwardRefs 2021-04-06 23:24:23 -04:00
Rapptz 9ab58d302d [commands] Fix classmethod converters not working.
Protocols sure are annoying.
2021-04-05 23:52:28 -04:00
Rapptz ee5bb07c02 [commands] Revert conversion code back to how it was originally 2021-04-05 23:24:47 -04:00
ToxicKidzandGitHub 0efb720cec [commands] Fix AttributeError for classes missing convert attribute 2021-04-05 23:12:27 -04:00
Rapptz 6d74514729 [commands] Fix logic in Cog.has_error_handler() 2021-04-05 21:39:22 -04:00
Michael HandGitHub 682b73abb6 [commands] Address incorrect use of subclass (from type perspective)
This is a follow up from #6641
2021-04-05 21:39:17 -04:00
Michael HandGitHub d0476e98df [commands] Add more type information to public API of converters 2021-04-05 21:31:28 -04:00
Michael HandGitHub 83bd76504a Use covariant TypeVar for protocol 2021-04-05 20:29:15 -04:00
Michael HandGitHub fbe6e2f520 [commands] Fix @classmethod converters 2021-04-05 20:25:23 -04:00
JamesandGitHub 34ab772653 Use typing.Protocol instead of abc.ABCMeta 2021-04-04 18:05:49 -04:00
Rapptz adaf7c6192 [commands] Use positional only parameter for Context.invoke 2021-04-04 07:04:01 -04:00
Rapptz 9d39b135f4 Modernize code to use f-strings
This also removes the encoding on the top, since Python 3 does it by
default. It also changes some methods to use `yield from`.
2021-04-04 07:03:53 -04:00
Rapptz 421c0cd455 [commands] Add missing versionadded on StoreChannelConverter 2021-04-03 22:54:21 -04:00
DoggieLiccandGitHub 36318bd45c [commands] Add StoreChannelConverter 2021-04-03 22:50:17 -04:00
Nadir ChowdhuryandGitHub 1b2688518e Implement StageChannel and related methods 2021-04-03 22:43:41 -04:00
Sebastian LawandGitHub d6501159e7 [docs] copy signature from overridden and inherited methods 2021-03-29 23:52:14 -04:00
Rapptz 862d509d2e [commands] Add support for stripping whitespace after the prefix
This is configured with the strip_after_prefix option in `Bot.__init__`
2021-03-28 21:21:09 -04:00
Rapptz c4c2cbf6d2 [commands] Remove nullability from help command implementation
Fixes #5154
2021-03-28 18:51:58 -04:00
EdwinandGitHub 31ee3fafc1 Add remove_markdown helper function 2021-03-28 18:38:34 -04:00
Rapptz 4aee7fed5d [commands] Only remove top level commands on cog load failure 2021-03-28 18:35:59 -04:00
MikeyandGitHub d61486278f [commands] allow arbitrary callables in cooldown 2021-03-28 06:31:51 -04:00
Sebastian LawandGitHub a131e11c5e [commands] fix documented type for Command.checks 2021-03-24 08:24:14 -04:00
jack1142andGitHub caa3b4e8f4 [commands] Include group args in command signature 2021-03-24 08:16:23 -04:00
Sebastian LawandGitHub a30a694e36 [commands] fix Context.channel property documented type 2021-03-13 01:46:31 -05:00
Nihaal SanghaandGitHub a3f700c11f Fix references to snowflakes being max 21 long 2021-03-02 19:04:03 -05:00
Sebastian LawandGitHub f7a4bef4ff [tasks] remove redundant condition in Loop.next_iteration
self._task is only None if the Loop has never been started before, 
which means None should be returned always, regardless of how
many seconds was passed into the constructor

this didn't break anything before because self._next_iteration will
be None as well if self._task is None.
2021-02-28 23:54:44 -05:00
Nadir ChowdhuryandGitHub 63ec23bac2 Code optimisations and refactoring via Sourcery 2021-02-24 21:26:51 -05:00
Nadir ChowdhuryandGitHub e090ee4308 Fix NameError with invoked_parents 2021-02-24 21:15:10 -05:00
sudosnokandGitHub 01d8502c83 [commands] Added tribool behaviour to HelpCommand.verify_checks 2021-02-24 05:40:35 -05:00
Sebastian LawandDanny 48b748e340 [commands] properly assign ctx.invoked_with with ctx.
resolves #6461
2021-02-23 03:39:08 -05:00
Sebastian LawandDanny 1afc127458 [commands] Add Context.invoked_parents 2021-02-23 03:39:08 -05:00
Kaylynn MorganandGitHub 1cbc537734 [commands] Allow relative paths when handling extensions 2021-02-23 03:29:04 -05:00