Rapptz
d60689a983
Properly change abc.User.avatar type to Asset
2021-04-25 23:30:30 -04:00
Rapptz
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
Rapptz
185b554a56
[commands] Disallow complicated Literal types
2021-04-24 09:12:28 -04:00
Rapptz
fb024546ff
[commands] Fix Literal converter not working within flags
2021-04-24 08:55:55 -04:00
Rapptz
1c312a158a
[commands] Add FlagConverter.__iter__
2021-04-24 08:53:36 -04:00
Rapptz
8e9860077d
[commands] Fix flag detection code in get_flags
2021-04-23 02:23:07 -04:00
Rapptz
275a754abd
Add support for editing message attachments
2021-04-21 23:45:06 -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
ac7588f735
Fix some typings in utils
2021-04-20 04:35:53 -04:00
Rapptz
212d308835
[commands] Some minor clean up of the flag converter documentation
...
Fix #6761
2021-04-19 22:52:29 -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
1c64689807
Remove lingering User.avatar documentation
2021-04-19 05:35:33 -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
3c8d3ab078
Add a third overload to parse_time
...
Apparently this behaviour is intended in Pyright
https://github.com/microsoft/pyright/issues/1772
Despite mypy behaving as intended.
2021-04-19 02:12:41 -04:00
Rapptz
bee6402d84
Fix utils.find predicate typing to accept Any
2021-04-19 02:11:38 -04:00
Rapptz
417353da4d
Fix up _unique and valid_icon_size implementations
2021-04-18 09:07:26 -04:00
Rapptz
b35596f7c8
Add typings for discord.utils
2021-04-18 08:43:09 -04:00
Rapptz
cc4dced7c0
Cleanup some of the prior typings for cached_slot_property
2021-04-18 08:07:11 -04:00
Rapptz
7fb746e6e5
[commands] Refactor evaluation functions to allow passing in localns
2021-04-18 04:10:19 -04:00
Rapptz
c2afa984ff
Use f-strings for attributetable
2021-04-17 19:40:40 -04:00
Rapptz
fdf81089b5
Add inherited members to (Partial)Emoji docs
2021-04-17 19:40:40 -04:00
Rapptz
fed259a83b
Refactor save() and read() into AssetMixin
2021-04-17 00:56:38 -04:00
Rapptz
f6fcffbab5
Use default allowed_mentions in Message.edit
...
Fix #6745
2021-04-16 23:00:18 -04:00
Rapptz
6ba3d89076
Revert Attachment.save code to prior implementation
2021-04-16 11:38:56 -04:00
Rapptz
9eaf1e85e4
Rewrite Asset design
...
This is a breaking change.
This does the following transformations, assuming `asset` represents
an asset type.
Object.is_asset_animated() => Object.asset.is_animated()
Object.asset => Object.asset.key
Object.asset_url => Object.asset_url
Object.asset_url_as => Object.asset.replace(...)
Since the asset type now requires a key (or hash, if you will),
Emoji had to be flattened similar to how Attachment was done since
these assets are keyed solely ID.
Emoji.url (Asset) => Emoji.url (str)
Emoji.url_as => removed
Emoji.url.read => Emoji.read
Emoji.url.save => Emoji.save
This transformation was also done to PartialEmoji.
2021-04-16 11:27:23 -04:00
Rapptz
a30ec197c2
Some initial response typings
2021-04-16 08:02:19 -04:00
Rapptz
90d59bb06c
Fix overloads on Webhook.send to not require wait kwarg
2021-04-15 19:36:36 -04:00
Rapptz
0542b129c2
Fix WebhookMessage.edit documentation
2021-04-15 09:03:46 -04:00
Rapptz
1f74b051a8
Fix rate limit handling with retry_after precision change
2021-04-15 08:34:58 -04:00
Rapptz
a6f7213c89
Rewrite webhooks to play better with typings and rate limits
...
This unfortunately required splitting the types into two. This led to
a lot of unfortunate code duplication that I didn't really enjoy
writing.
The new design allows users to pass an authentication token to make
webhook requests without the webhook token and allows to finally
edit the webhook channel.
The new design also uses a contextvar to store rate limiting
information so multiple instances or recreating instances no longer
clears the ratelimiting state since it's now essentially a "global"
object.
Closes #6525 , closes #6662 , closes #2509 , closes #1761
2021-04-15 08:04:32 -04:00
Rapptz
da6119e04c
Fix fail_if_not_exists not being set when constructed with state
2021-04-14 00:50:37 -04:00
Rapptz
a8da7d03b9
Remove AutoShardedClient.request_offline_members
2021-04-12 05:28:18 -04:00
Rapptz
ef4394f87d
Add support for role objects in GuildChannel.permissions_for
2021-04-11 22:45:49 -04:00
Rapptz
1209585de5
Remove User.permissions_in
...
This seemed to only cause confusion.
2021-04-11 22:21:36 -04:00
Rapptz
a8b3cfa592
Remove comment that doesn't apply anymore
2021-04-11 22:20:31 -04:00
Rapptz
9b94fe1ce0
Remove superfluous unused payload parameter
2021-04-11 22:13:48 -04:00
Rapptz
7bdaa793f6
Create temporary DMChannels from message create events
...
This allows for DMChannels to work without falling back to the
Object error case since there is enough information to build a pseudo
DMChannel object.
This is a breaking change since it changes the type of
DMChannel.recipient to Optional[User] for when this faux object is
created.
2021-04-11 22:09:10 -04:00
Rapptz
74b07a3218
[commands] Fix Command.clean_params to return a regular dict
2021-04-11 16:30:28 -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
Rapptz
7d79b4ba55
Remove Member related handling in PRESENCE_UPDATE
2021-04-11 00:57:59 -04:00
Rapptz
217c2a1cc5
Fix stray AttributeError in Guild._from_data with member cache
2021-04-11 00:44:27 -04:00
Rapptz
40cf397ce6
Permission related fixes for v8
2021-04-11 00:39:13 -04:00
Rapptz
7afcacc9a1
Remove MemberCacheFlags.online
...
v8 no longer gives enough data for this to be possible
2021-04-11 00:39:13 -04:00
Rapptz
d85805ab6d
First pass at supporting v8 API
2021-04-11 00:39:13 -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
Rapptz
d5ad269b35
Fix Intents resolution in the docs
2021-04-10 15:50:46 -04:00
Rapptz
42c3ee6eed
Bring back discord module in discord.ext.commands documentation
2021-04-10 15:49:39 -04:00
Rapptz
8e299e80f8
Update Sphinx to 3.5.3
2021-04-10 15:33:15 -04:00
Rapptz
296bd069c1
Remove current module reference in commands API docs
2021-04-10 14:59:26 -04:00
Rapptz
ea32147d02
Fix all warnings with Sphinx
2021-04-10 03:27:40 -04:00
Rapptz
d58edd10a7
Add missing future annotations import
2021-04-10 03:23:47 -04:00
Rapptz
d38ef88686
Update issue templates to newest versions
2021-04-08 22:51:20 -04:00
Rapptz
ca84d4e2b6
[types] Snowflake can be either str or int.
2021-04-08 22:17:26 -04:00
Rapptz
9da2f349e7
Use Any instead of str for Embed typings for accuracy
2021-04-08 20:12:08 -04:00
Rapptz
99fc950510
Use f-strings in more places that were missed.
2021-04-08 06:02:47 -04:00
Rapptz
e405bd5f1f
Add discord.types.Message.interaction attribute
2021-04-08 02:29:14 -04:00
Rapptz
a31c19563f
Add interaction related typings
2021-04-08 02:12:55 -04:00
Rapptz
249d94a011
Add AllowedMentions typings
2021-04-08 02:06:19 -04:00
Rapptz
d299bfef26
Fix up typings for attachment and message
2021-04-08 01:56:23 -04:00
Rapptz
e895a53713
[commands] Add StageChannelConverter to documentation
2021-04-08 00:44:47 -04:00
Rapptz
a9d5c0aa3b
Fix headers in partial webhook channel and guild objects
2021-04-07 06:37:09 -04:00
Rapptz
b818296c21
Remove type hints from generated docs
2021-04-07 06:35:29 -04:00
Rapptz
f49d565d51
Rename discord.types file based on relevant core module file
2021-04-07 05:50:54 -04:00
Rapptz
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
Rapptz
f80b8d3f5d
[commands] Only replace annotation if one was given
2021-04-07 03:17:36 -04:00
Rapptz
ed1341012b
Add Embed.__bool__
...
Fixes #6661
2021-04-07 00:01:57 -04:00
Rapptz
1d5805ebcb
Revert "Remove unused group functionality"
...
This reverts commit d69b2f0af5 .
2021-04-07 00:01:57 -04:00
Rapptz
72275a73fa
Use non-underscore TypeVar in enum code
2021-04-06 07:35:02 -04:00
Rapptz
7e3c5f3faf
Fix some regressions from create_task change
2021-04-06 07:31:31 -04:00
Rapptz
d69b2f0af5
Remove unused group functionality
2021-04-06 07:12:15 -04:00
Rapptz
84e2ff0bc7
Reformat HTTPClient and add interaction endpoints
2021-04-06 05:25:50 -04:00
Rapptz
008432c76a
Make enum code work with typecheckers
...
This also makes it so invalid enum values fall back to a proxy type
that still works similar to actual values.
2021-04-06 01:11:36 -04:00
Rapptz
8cece19b22
Add on_interaction event and Interaction class.
...
This is the first pass at the functionality. It's currently a bit
incomplete.
2021-04-06 01:11:36 -04:00
Rapptz
1e7f139313
Add support for setting application_id
2021-04-06 01:11:36 -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
Rapptz
8da6b47a36
Update changelog for v1.7.1
2021-04-05 21:39:35 -04:00
Rapptz
6d74514729
[commands] Fix logic in Cog.has_error_handler()
2021-04-05 21:39:22 -04:00
Rapptz
a3a6f88936
Add discord.utils.utcnow() helper function to ease migration
2021-04-04 23:59:04 -04:00
Rapptz
93a92e6e1b
Remove special casing of MAX_ASYNCIO_SECONDS in sleep_until
...
This compatibility code goes away in Python versions greater than 3.7
2021-04-04 23:55:15 -04:00
Rapptz
ff7094ce96
Convert datetimes to aware datetimes with UTC.
...
Naive datetimes will now be interpreted as local time throughout
the library.
2021-04-04 23:54:08 -04:00
Rapptz
fd58371f53
Remove some lingering userbot classes in the documentation
2021-04-04 20:05:19 -04:00
Rapptz
7ba437cece
Use 3.8 for ReadTheDocs builds
2021-04-04 20:01:37 -04:00
Rapptz
54288879e2
Remove userbot functionality
...
This has a lot of legacy and cruft so there may be some stuff I've
missed but this first pass is enough to get a clear separation.
2021-04-04 10:15:30 -04:00
Rapptz
59aa1a0e5f
Remove asyncio.Task subclass in preference to task names
2021-04-04 07:24:42 -04:00
Rapptz
94bd1b9822
Convert two missing places to f-strings
2021-04-04 07:17:03 -04:00
Rapptz
4d44872511
Remove encoding header from generated code
2021-04-04 07:06:50 -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
9fc2ab9c99
Bump minimum Python version to 3.8
2021-04-04 04:30:31 -04:00
Rapptz
68e379bc8b
Version bump for development
2021-04-04 03:53:26 -04:00
Rapptz
757dd92272
Version bump to v1.7
2021-04-04 00:54:10 -04:00
Rapptz
f6df66a971
Add missing documentation for StoreChannelConverter
2021-04-04 00:21:15 -04:00
Rapptz
6d63cf0d5d
Add missing StoreChannel documentation
2021-04-04 00:17:59 -04:00
Rapptz
834a7d80aa
Fix StoreChannel reference in changelog
2021-04-04 00:04:30 -04:00