Rapptz
1c312a158a
[commands] Add FlagConverter.__iter__
2021-04-24 08:53:36 -04:00
Stella
91c473db57
[commands] Fix _HelpCommandImpl.clean_params popitem
2021-04-23 02:24:09 -04:00
Rapptz
8e9860077d
[commands] Fix flag detection code in get_flags
2021-04-23 02:23:07 -04:00
jack1142
a55e817ffe
Fix documentation for RoleConverter
2021-04-21 23:24:04 -04:00
Josh
8457f70477
[commands] Set constructible FlagConverter flags to not be required
2021-04-21 23:21:02 -04:00
Josh
cfe93f19b1
[commands] Allow FlagCommand subclasses to inherit options
2021-04-21 07:16:23 -04:00
Josh
42463bae67
[commands] Add support for aliasing to FlagConverter
2021-04-21 00:31:01 -04:00
Kino
0c1c9284f6
Fix typo within HelpCommand.verify_checks
documentation
2021-04-21 00:18:32 -04:00
Rapptz
6065329c0e
[commands] Avoid creating unnecessary flag mapping copies
2021-04-20 08:02:40 -04:00
Rapptz
15bfdf66b2
[commands] Default construct flags if they're not passed as parameters
...
This only applies if and only if the flag can be default constructible.
Ergo, all the flags are optional or not required.
2021-04-20 08:00:47 -04:00
Rapptz
18bf3d3a7d
[commands] Actually expose the FlagError base error
2021-04-19 10:27:24 -04:00
Rapptz
ddb71e2aed
[commands] Initial support for FlagConverter
...
The name is currently pending and there's no command.signature hook
for it yet since this requires bikeshedding.
2021-04-19 10:25:08 -04:00
Rapptz
c54e43360b
[commands] Add run_converters helper to call converters
2021-04-19 04:46:02 -04:00
Rapptz
09f3f2111c
[commands] Add Context.current_parameter
2021-04-19 04:41:32 -04:00
Rapptz
7fb746e6e5
[commands] Refactor evaluation functions to allow passing in localns
2021-04-18 04:10:19 -04:00
Steve C
ef9bb79e91
[tasks] Move the Loop's sleep to be before exit conditions
...
This change makes it more so that `Loop.stop()` gracefully makes the
current iteration the final one, by waiting AND THEN returning.
The current implementation is closer to `cancel`, while also not.
I encountered this because I was trying to run a
`@tasks.loop(count=1)`, and inside it I print some text and change the
interval, and in an `after_loop`, I restart the loop.
Without this change, it immediately floods my console, due to
not waiting before executing `after_loop`.
2021-04-16 22:35:18 -04:00
Nadir Chowdhury
5dec62f4c0
[commands] Add a converter for discord.Object
2021-04-16 08:18:57 -04:00
Nadir Chowdhury
d3ac191a67
Restrict snowflake regexes to 15-20 digits
2021-04-16 07:33:44 -04:00
pikaninja
ffea48f218
[commands] Remove HelpCommand.clean_prefix ( #6736 )
2021-04-15 21:28:08 -04:00
Nadir Chowdhury
5ea5f32479
[commands] Fix missing re
import in Context
2021-04-15 08:04:24 -04:00
MrKomodoDragon
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
Kreusada
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
Josh
7f91ae8b67
[commands] use __args__ and __origin__ where applicable
2021-04-11 00:38:17 -04:00
Josh
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 Chowdhury
353737239a
[commands] Minimise code duplication in channel converters
2021-04-10 14:01:26 -04:00
James
bcd3a00eaf
[commands] Make commands.Greedy
a typing.Generic
2021-04-10 07:27:32 -04:00
Dan Hess
f2d5ab6f80
[commands] Provide a dynamic cooldown system
2021-04-10 03:30:01 -04:00
Sigmath Bits
68aef92b37
[commands]Add typing.Literal converter
2021-04-10 02:50:59 -04:00
Sebastian Law
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
pikaninja
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 Chowdhury
89456022cf
Add __all__
to remaining modules
2021-04-07 02:30:32 -04:00
Nadir Chowdhury
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
ToxicKidz
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 H
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 H
d0476e98df
[commands] Add more type information to public API of converters
2021-04-05 21:31:28 -04:00
Michael H
83bd76504a
Use covariant TypeVar for protocol
2021-04-05 20:29:15 -04:00
Michael H
fbe6e2f520
[commands] Fix @classmethod converters
2021-04-05 20:25:23 -04:00
James
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