Commit Graph

2941 Commits

Author SHA1 Message Date
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
d5ad269b35 Fix Intents resolution in the docs 2021-04-10 15:50:46 -04:00
42c3ee6eed Bring back discord module in discord.ext.commands documentation 2021-04-10 15:49:39 -04:00
8e299e80f8 Update Sphinx to 3.5.3 2021-04-10 15:33:15 -04:00
296bd069c1 Remove current module reference in commands API docs 2021-04-10 14:59:26 -04:00
b20e92efd8 [docs] Fix references to Greedy 2021-04-10 14:59:09 -04:00
353737239a [commands] Minimise code duplication in channel converters 2021-04-10 14:01:26 -04:00
ec71eb2fcb Added discord.StageChannel in documentation 2021-04-10 13:49:46 -04:00
bcd3a00eaf [commands] Make commands.Greedy a typing.Generic 2021-04-10 07:27:32 -04:00
4fee632526 Make the style of external and internal cross-references consistent 2021-04-10 04:03:22 -04:00
4591705b55 Add missing attribute tables 2021-04-10 03:42:42 -04:00
f2d5ab6f80 [commands] Provide a dynamic cooldown system 2021-04-10 03:30:01 -04:00
ea32147d02 Fix all warnings with Sphinx 2021-04-10 03:27:40 -04:00
d58edd10a7 Add missing future annotations import 2021-04-10 03:23:47 -04:00
1efdef3ac3 Add typings for invites, templates, and bans 2021-04-10 02:55:10 -04:00
3e92196a2b Add typings for audit logs, integrations, and webhooks 2021-04-10 02:53:24 -04:00
68aef92b37 [commands]Add typing.Literal converter 2021-04-10 02:50:59 -04:00
1952060e1a make examples on_ready consistent 2021-04-09 18:05:33 -04:00
eb5356cc47 Remove user token warning in login 2021-04-08 23:49:40 -04:00
d38ef88686 Update issue templates to newest versions 2021-04-08 22:51:20 -04:00
ca84d4e2b6 [types] Snowflake can be either str or int. 2021-04-08 22:17:26 -04:00
4134a17a29 [commands] Raise error when a cog name is already registered 2021-04-08 22:04:10 -04:00
9da2f349e7 Use Any instead of str for Embed typings for accuracy 2021-04-08 20:12:08 -04:00
d4df44375b Add typings for models for guilds, activities, and voice 2021-04-08 09:32:26 -04:00
05c123f3ab Use f-strings in more places that were missed 2021-04-08 09:31:06 -04:00
99fc950510 Use f-strings in more places that were missed. 2021-04-08 06:02:47 -04:00
c3e0b6e123 Update joined command in basic_bot to use f-strings 2021-04-08 04:33:42 -04:00
e405bd5f1f Add discord.types.Message.interaction attribute 2021-04-08 02:29:14 -04:00
a31c19563f Add interaction related typings 2021-04-08 02:12:55 -04:00
249d94a011 Add AllowedMentions typings 2021-04-08 02:06:19 -04:00
d299bfef26 Fix up typings for attachment and message 2021-04-08 01:56:23 -04:00
0903ea949f Add typings for Message, Emoji, and Member 2021-04-08 01:51:42 -04:00
e895a53713 [commands] Add StageChannelConverter to documentation 2021-04-08 00:44:47 -04:00
1c553f51fb [commands] Use has_error_handler instead in command_error 2021-04-07 23:42:52 -04:00
cc6edccc0c Make the bot template use f-strings over str.format 2021-04-07 21:38:01 -04:00
f8bea3bb05 Fix inaccuracies with AsyncIterator typings 2021-04-07 20:28:12 -04:00
87e64dff06 Add typings for channels and PartialUser 2021-04-07 07:56:56 -04:00
83fe98c20d Add typing for flags 2021-04-07 07:55:55 -04:00
4c72137e43 [docs] add note for possible Embed.type strings 2021-04-07 07:17:57 -04:00
a43ea5c550 Fix regression in Activity relying on try_enum 2021-04-07 07:17:04 -04:00
ece7064e64 [docs] add label to basic converters section 2021-04-07 07:12:52 -04:00
a9d5c0aa3b Fix headers in partial webhook channel and guild objects 2021-04-07 06:37:09 -04:00
b818296c21 Remove type hints from generated docs 2021-04-07 06:35:29 -04:00
f49d565d51 Rename discord.types file based on relevant core module file 2021-04-07 05:50:54 -04:00
23fe6b46dd Typehint discord.Embed and introduce discord.types subpackage
The discord.types subpackage is currently only used to do type hinting
of API payloads, it's very much incomplete right now and it'll be a
rather long process.

discord.Embed was typehinted and formatted using black.
2021-04-07 05:39:58 -04:00
bda3afcad7 [commands] Update Converter list in ext.commands introduction 2021-04-07 03:20:35 -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
ed1341012b Add Embed.__bool__
Fixes #6661
2021-04-07 00:01:57 -04:00