Rapptz
d78e5d979d
Refactor and type hint invites
2021-05-29 05:49:19 -04:00
Rapptz
5a68d3a561
Typehint AllowedMentions
2021-05-29 04:26:21 -04:00
Rapptz
5a9cbc967b
Typehint mixins
2021-05-29 02:44:31 -04:00
Rapptz
794327cdb4
Fix type errors with required keys in the integration types
2021-05-29 01:09:07 -04:00
Rapptz
1ae40a11b7
Fix some type errors in StreamIntegration.edit
2021-05-29 00:54:31 -04:00
Rapptz
06743dd434
Make StreamIntegration.role a property rather than a strong reference
2021-05-29 00:50:56 -04:00
Rapptz
732c5384fd
Allow registering a View for persistent long term dispatching
2021-05-29 00:44:08 -04:00
Rapptz
7e1f8bf1b4
Typehint Sticker
2021-05-29 00:19:11 -04:00
Rapptz
f321efd4de
Default SelectOption.value to the label if not given
2021-05-28 09:43:15 -04:00
Rapptz
b84c199c70
Allow constructing SelectOption.emoji from a string as well
2021-05-28 09:40:49 -04:00
Rapptz
c475218112
Typehint Role and RoleTags
2021-05-28 08:54:45 -04:00
Rapptz
35bef7af38
Fix Role.is_assignable() computing Guild.me twice
2021-05-28 08:41:45 -04:00
Rapptz
f4fe247813
Remove __slots__ from View
2021-05-28 08:39:34 -04:00
Rapptz
ef9f61a933
Add support for select components
2021-05-28 05:34:21 -04:00
Rapptz
6874aa73c4
Add PartialEmoji.from_str helper
2021-05-28 05:34:21 -04:00
Rapptz
ff36aedf7b
Add support for reading SelectMenu components from messages
2021-05-28 05:34:21 -04:00
Rapptz
8bd17ede47
Move ActionRow to its own separate type split from Component
2021-05-28 02:11:10 -04:00
Rapptz
aeb2cfb573
Add private get_slots utility to get slots through MRO
2021-05-28 01:56:48 -04:00
Rapptz
263f45d05b
Fix View.wait not returning when it times out
...
This also makes it so it returns the reason why the wait finished.
2021-05-28 00:53:28 -04:00
Rapptz
3f60997630
Add a timeout callback for detecting when a View times out
2021-05-28 00:53:28 -04:00
Rapptz
97f308d219
Add View.remove_item and View.clear_items
2021-05-28 00:53:28 -04:00
Rapptz
3453992ce6
Add View.interaction_check for interaction pre-conditions
2021-05-28 00:53:28 -04:00
Rapptz
65db814d4a
Add a way to wait for a view to finish its interactions
2021-05-27 23:31:48 -04:00
Rapptz
1954861668
Add warning for comparing with role positioning
2021-05-27 21:11:17 -04:00
Rapptz
fc64ffdabd
Allow passing multiple embeds in InteractionResponse.edit_message
2021-05-27 21:07:28 -04:00
Rapptz
fbafe20e51
Allow View to be instantiated without subclassing
2021-05-27 01:41:18 -04:00
Rapptz
c89882441c
Fix typings for resolved channels in slash commands
2021-05-27 00:53:14 -04:00
Rapptz
7584834dd4
Only automatically defer if no response was given in callback
2021-05-27 00:53:14 -04:00
Rapptz
3b83f60b35
Add support for setting interaction responses
2021-05-27 00:53:14 -04:00
Rapptz
85758a75b3
Add interaction related endpoints to async webhook
2021-05-27 00:53:14 -04:00
Rapptz
d42c63e186
Fix some type hints in interactions
2021-05-27 00:53:14 -04:00
Rapptz
5e96ad9261
Force button style to link if a URL is passed
2021-05-27 00:53:14 -04:00
Rapptz
80fd222ca0
Add aliases for button style colours
2021-05-27 00:53:14 -04:00
Rapptz
eda6680377
Rename enums to use official API naming
2021-05-27 00:53:14 -04:00
Rapptz
cc800796a2
Properly guard for DMs in interaction creation
...
Fix #6794
2021-05-27 00:53:14 -04:00
Rapptz
ed9badcddf
Make Item and Button generic over the underlying view
2021-05-27 00:53:14 -04:00
Rapptz
4c0ebc9221
Change the way callbacks are defined to allow deriving
...
This should hopefully make these work more consistently as other
functions do.
2021-05-27 00:53:14 -04:00
Rapptz
cc56f31bcd
Fix emoji not showing up in button component
2021-05-27 00:53:13 -04:00
Rapptz
98570793e4
Add initial support for buttons and components
2021-05-27 00:53:13 -04:00
Rapptz
f56543df15
[commands] Remove function call indirection when checking author
2021-05-25 20:53:44 -04:00
Rapptz
3c90f16bf0
Fix cached_slot_property typings again
2021-05-23 21:30:44 -04:00
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