1a8d63d54f
[commands] Remove Flag related delimiter and prefix error
2021-04-30 03:29:44 -04:00
58274eafbc
[commands] Fix Generics causing other typing converters to fail
2021-04-30 01:23:56 -04:00
3b6a2b9e85
[commands] Fix Generic subcalsses used as a converter
2021-04-29 02:43:54 -04:00
c786a85a9b
Add utils.MISSING
2021-04-29 01:58:36 -04:00
9f3551926a
Split annotation resolution to discord.utils
2021-04-27 05:48:27 -04:00
69da87f455
[commands] Disallow float/complex in Literal but allow None
...
Type checkers (both mypy and pydantic) apparently don't like it
2021-04-27 05:48:27 -04:00
4fbc78ba81
[commands] Add support for typing.Union to Flags
2021-04-25 04:35:19 -04:00
c250b9fc02
[commands] Fix regression with Union converters not working
...
This was due to the Literal restriction from earlier.
2021-04-24 09:33:35 -04:00
185b554a56
[commands] Disallow complicated Literal types
2021-04-24 09:12:28 -04:00
fb024546ff
[commands] Fix Literal converter not working within flags
2021-04-24 08:55:55 -04:00
1c312a158a
[commands] Add FlagConverter.__iter__
2021-04-24 08:53:36 -04:00
91c473db57
[commands] Fix _HelpCommandImpl.clean_params popitem
2021-04-23 02:24:09 -04:00
8e9860077d
[commands] Fix flag detection code in get_flags
2021-04-23 02:23:07 -04:00
a55e817ffe
Fix documentation for RoleConverter
2021-04-21 23:24:04 -04:00
8457f70477
[commands] Set constructible FlagConverter flags to not be required
2021-04-21 23:21:02 -04:00
cfe93f19b1
[commands] Allow FlagCommand subclasses to inherit options
2021-04-21 07:16:23 -04:00
42463bae67
[commands] Add support for aliasing to FlagConverter
2021-04-21 00:31:01 -04:00
0c1c9284f6
Fix typo within HelpCommand.verify_checks
documentation
2021-04-21 00:18:32 -04:00
6065329c0e
[commands] Avoid creating unnecessary flag mapping copies
2021-04-20 08:02:40 -04:00
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
18bf3d3a7d
[commands] Actually expose the FlagError base error
2021-04-19 10:27:24 -04:00
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
c54e43360b
[commands] Add run_converters helper to call converters
2021-04-19 04:46:02 -04:00
09f3f2111c
[commands] Add Context.current_parameter
2021-04-19 04:41:32 -04:00
7fb746e6e5
[commands] Refactor evaluation functions to allow passing in localns
2021-04-18 04:10:19 -04:00
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
5dec62f4c0
[commands] Add a converter for discord.Object
2021-04-16 08:18:57 -04:00
d3ac191a67
Restrict snowflake regexes to 15-20 digits
2021-04-16 07:33:44 -04:00
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