Rapptz
81b259ab36
Fix sending arrays with nulls in them when changing presences
2021-05-16 07:15:53 -04:00
Rapptz
de965c2bf5
Simplify SnowflakeList type hints
2021-05-06 08:23:18 -04:00
Rapptz
2e12f6de9c
Typehint File
2021-05-06 08:15:51 -04:00
Rapptz
1bf7aadf94
Typehint emoji classes
2021-05-05 23:48:36 -04:00
Rapptz
7bad27d215
Fix SnowflakeList typings
2021-05-05 23:33:11 -04:00
Rapptz
ca92f37f18
Fix typings in message.py
2021-05-05 23:05:15 -04:00
Rapptz
81004369dc
Add Guild.fetch_channel
2021-05-05 14:26:33 -04:00
Rapptz
598057ee79
Add Permissions.manage_events
2021-05-05 14:16:39 -04:00
Rapptz
c31946f29f
Type hint GuildChannel and don't make it a Protocol
...
This reverts GuildChannel back into a base class mixin.
2021-05-05 11:14:58 -04:00
Rapptz
b32ad3de37
Fix AuditLogEntry.target being incorrect for bulk message delete
...
Fixes #6851
2021-05-04 22:03:20 -04:00
Rapptz
e3037b32d5
Add changelog for v1.7.2
2021-05-02 23:39:21 -04:00
Rapptz
cd7357b93a
Add classproperty helper utility
...
This is apparently a 3.9+ only addition
2021-05-02 08:05:52 -04:00
Rapptz
b0ec22065e
Add Client.create_dm
2021-05-01 13:16:57 -04:00
Rapptz
83611edb66
Fix supressing messages leading a 400 error
...
This only makes it so allowed_mentions are passed if the message is
authored by the bot itself.
2021-05-01 11:46:27 -04:00
Rapptz
135a7e9e5a
Reformat message.py file
2021-05-01 09:54:19 -04:00
Rapptz
d940486552
Add types to PartialMessage
2021-05-01 09:48:37 -04:00
Rapptz
4c97b8efdd
Fix typings for utils._parse_ratelimit_header
...
A CIMultiDict is not a Dict but a Mapping
2021-05-01 09:24:47 -04:00
Rapptz
60c1240849
Fix SyncWebhook exception case causing attribute errors
2021-05-01 09:24:40 -04:00
Rapptz
02e21a8905
Fix sending multipart data with SyncWebhook
...
Fixes #6825
2021-05-01 09:21:39 -04:00
Rapptz
1a8d63d54f
[commands] Remove Flag related delimiter and prefix error
2021-04-30 03:29:44 -04:00
Rapptz
58274eafbc
[commands] Fix Generics causing other typing converters to fail
2021-04-30 01:23:56 -04:00
Rapptz
7b8db49efe
Fix utils.MISSING not evaluating to True in implicit bool contexts
2021-04-30 01:05:01 -04:00
Rapptz
3b6a2b9e85
[commands] Fix Generic subcalsses used as a converter
2021-04-29 02:43:54 -04:00
Rapptz
9f3551926a
Split annotation resolution to discord.utils
2021-04-27 05:48:27 -04:00
Rapptz
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
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