ffea48f218
[commands] Remove HelpCommand.clean_prefix ( #6736 )
2021-04-15 21:28:08 -04:00
5ea5f32479
[commands] Fix missing re
import in Context
2021-04-15 08:04:24 -04:00
ed3c141f5e
[commands] Add clean_prefix
attribute to commands.Context
2021-04-14 22:09:40 -04:00
74b07a3218
[commands] Fix Command.clean_params to return a regular dict
2021-04-11 16:30:28 -04:00
af5964358d
[commands] Strip text to remove spaces before ellipsis
2021-04-11 15:19:45 -04:00
74d8ad2013
[commands] Add support for Python 3.10 Union typing
2021-04-11 02:11:24 -04:00
1ecadf057e
[commands] Fix errors with cooldown mappings
2021-04-11 01:00:04 -04:00
7f91ae8b67
[commands] use __args__ and __origin__ where applicable
2021-04-11 00:38:17 -04:00
c54c4cb215
[commands] Fix repr for Greedy
2021-04-10 22:34:24 -04:00
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
27886e5aa4
[commands] Remove legacy ExtensionNotFound.original attribute
2021-04-10 15:52:53 -04:00
353737239a
[commands] Minimise code duplication in channel converters
2021-04-10 14:01:26 -04:00
bcd3a00eaf
[commands] Make commands.Greedy
a typing.Generic
2021-04-10 07:27:32 -04:00
f2d5ab6f80
[commands] Provide a dynamic cooldown system
2021-04-10 03:30:01 -04:00
68aef92b37
[commands]Add typing.Literal converter
2021-04-10 02:50:59 -04:00
4134a17a29
[commands] Raise error when a cog name is already registered
2021-04-08 22:04:10 -04:00
99fc950510
Use f-strings in more places that were missed.
2021-04-08 06:02:47 -04:00
1c553f51fb
[commands] Use has_error_handler instead in command_error
2021-04-07 23:42:52 -04:00
f80b8d3f5d
[commands] Only replace annotation if one was given
2021-04-07 03:17:36 -04:00
89456022cf
Add __all__
to remaining modules
2021-04-07 02:30:32 -04:00
7a34de1570
[commands] Use typing.get_type_hints to resolve ForwardRefs
2021-04-06 23:24:23 -04:00
9ab58d302d
[commands] Fix classmethod converters not working.
...
Protocols sure are annoying.
2021-04-05 23:52:28 -04:00
ee5bb07c02
[commands] Revert conversion code back to how it was originally
2021-04-05 23:24:47 -04:00
0efb720cec
[commands] Fix AttributeError for classes missing convert attribute
2021-04-05 23:12:27 -04:00
6d74514729
[commands] Fix logic in Cog.has_error_handler()
2021-04-05 21:39:22 -04:00
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
d0476e98df
[commands] Add more type information to public API of converters
2021-04-05 21:31:28 -04:00
83bd76504a
Use covariant TypeVar for protocol
2021-04-05 20:29:15 -04:00
fbe6e2f520
[commands] Fix @classmethod converters
2021-04-05 20:25:23 -04:00
34ab772653
Use typing.Protocol instead of abc.ABCMeta
2021-04-04 18:05:49 -04:00
adaf7c6192
[commands] Use positional only parameter for Context.invoke
2021-04-04 07:04:01 -04:00
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
421c0cd455
[commands] Add missing versionadded on StoreChannelConverter
2021-04-03 22:54:21 -04:00
36318bd45c
[commands] Add StoreChannelConverter
2021-04-03 22:50:17 -04:00
1b2688518e
Implement StageChannel and related methods
2021-04-03 22:43:41 -04:00
d6501159e7
[docs] copy signature from overridden and inherited methods
2021-03-29 23:52:14 -04:00
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
c4c2cbf6d2
[commands] Remove nullability from help command implementation
...
Fixes #5154
2021-03-28 18:51:58 -04:00
31ee3fafc1
Add remove_markdown helper function
2021-03-28 18:38:34 -04:00
4aee7fed5d
[commands] Only remove top level commands on cog load failure
2021-03-28 18:35:59 -04:00
d61486278f
[commands] allow arbitrary callables in cooldown
2021-03-28 06:31:51 -04:00
a131e11c5e
[commands] fix documented type for Command.checks
2021-03-24 08:24:14 -04:00
caa3b4e8f4
[commands] Include group args in command signature
2021-03-24 08:16:23 -04:00
a30a694e36
[commands] fix Context.channel property documented type
2021-03-13 01:46:31 -05:00
a3f700c11f
Fix references to snowflakes being max 21 long
2021-03-02 19:04:03 -05:00
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
63ec23bac2
Code optimisations and refactoring via Sourcery
2021-02-24 21:26:51 -05:00
e090ee4308
Fix NameError with invoked_parents
2021-02-24 21:15:10 -05:00
01d8502c83
[commands] Added tribool behaviour to HelpCommand.verify_checks
2021-02-24 05:40:35 -05:00
48b748e340
[commands] properly assign ctx.invoked_with with ctx.
...
resolves #6461
2021-02-23 03:39:08 -05:00