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
5ea5f32479
[commands] Fix missing re
import in Context
2021-04-15 08:04:24 -04:00
d21e65ce47
Add SystemChannelFlags.guild_reminder_notifications
2021-04-15 08:03:56 -04:00
65d48302ad
Fix guild.chunk() not working on evicted guilds
...
If you're trying to chunk a guild that the bot is not in,
it'll just hang on the chunk coro forever. It's weird, I know.
2021-04-14 22:10:47 -04:00
ed3c141f5e
[commands] Add clean_prefix
attribute to commands.Context
2021-04-14 22:09:40 -04:00
208b16ed1b
Add note to member docs about Spotify limitation
2021-04-14 22:02:49 -04:00
9f1a96ea9b
Remove fetch_offline_members param for Client
2021-04-14 20:58:49 -04:00
930c416ea7
Fix exception for invalid channel types
2021-04-14 01:14:00 -04:00
da6119e04c
Fix fail_if_not_exists not being set when constructed with state
2021-04-14 00:50:37 -04:00
30310b9ab6
Add NSFW for Guilds
2021-04-14 00:48:51 -04:00
dea92a69dc
Remove support for guild subscriptions
2021-04-14 00:47:46 -04:00
23aaa75802
Add StageChannel to abc.GuildChannel docs
2021-04-13 01:19:29 -04:00
496fcf8005
[docs] Fix reference to Guild.id
2021-04-13 01:01:04 -04:00
a8da7d03b9
Remove AutoShardedClient.request_offline_members
2021-04-12 05:28:18 -04:00
ef4394f87d
Add support for role objects in GuildChannel.permissions_for
2021-04-11 22:45:49 -04:00
1209585de5
Remove User.permissions_in
...
This seemed to only cause confusion.
2021-04-11 22:21:36 -04:00
a8b3cfa592
Remove comment that doesn't apply anymore
2021-04-11 22:20:31 -04:00
9b94fe1ce0
Remove superfluous unused payload parameter
2021-04-11 22:13:48 -04:00
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
0f3f2cbeea
Fix spelling error in utils.__all__
2021-04-11 20:18:56 -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
7cbe942a64
Use v8 overwrite type when creating a channel
2021-04-11 15:16:52 -04:00
f1fac96e33
Remove private_channel_(delete/create)
events
2021-04-11 15:13:23 -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
7d79b4ba55
Remove Member related handling in PRESENCE_UPDATE
2021-04-11 00:57:59 -04:00
217c2a1cc5
Fix stray AttributeError in Guild._from_data with member cache
2021-04-11 00:44:27 -04:00
40cf397ce6
Permission related fixes for v8
2021-04-11 00:39:13 -04:00
4c565e5299
add reply and application_command types
2021-04-11 00:39:13 -04:00
7afcacc9a1
Remove MemberCacheFlags.online
...
v8 no longer gives enough data for this to be possible
2021-04-11 00:39:13 -04:00
d85805ab6d
First pass at supporting v8 API
2021-04-11 00:39:13 -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
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