Commit Graph

2499 Commits

Author SHA1 Message Date
7db0008190 Maximize the amount of concurrency while chunking.
In order to reduce our amount of backpressure we need to limit the
amount of concurrent chunk requests we can have so the gateway buffer
has some time to breathe.
2020-09-23 03:21:18 -04:00
6bae52f4bb Check for zombie connections through last received payload
The previous code would check zombie connections depending on whether
HEARTBEAT_ACK was received. Unfortunately when there's exceeding
backpressure the connection can terminate since the HEARTBEAT_ACK is
buffered very far away despite it being there, just not received yet.
2020-09-23 03:21:18 -04:00
0ec72660cf Speed up chunking for guilds with presence intent enabled 2020-09-23 03:21:18 -04:00
92e1816114 Maximize concurrency when chunking on AutoSharded clients 2020-09-23 03:21:17 -04:00
af8fc32329 Use a lock for the gateway rate limiter.
This will allow for higher concurrency in AutoSharded situations where
I can mostly "fire and forget" the chunk requests.
2020-09-23 03:21:17 -04:00
5fe998ac19 Heartbeats bypass the rate limits for gateway 2020-09-23 03:21:17 -04:00
3df269daa3 All guilds require chunking if opting into it 2020-09-23 03:21:17 -04:00
c261f7c4a3 Handle user updates within GUILD_MEMBER_UPDATE 2020-09-23 03:21:16 -04:00
930761e058 Rewrite chunking to work with intents.
This slows down chunking significantly for bots in a large number of
guilds since it goes down from 75 guilds/request to 1 guild/request.
However the logic was rewritten to fire the chunking request
immediately after receiving the GUILD_CREATE rather than waiting for
all the guilds in the ready stream before doing it.
2020-09-23 03:21:16 -04:00
ec7b8edcc2 Add more close codes that can't be handled for reconnecting. 2020-09-23 03:21:16 -04:00
11d8a6fa3c Change unknown cache log warnings from WARNING -> DEBUG 2020-09-23 03:21:15 -04:00
e7db9cfdf7 Handle gateway rate limits by using a rate limiter.
With the new chunking changes this will become necessary and we don't
want to disconnect from having too many outwards requests.
2020-09-23 03:21:15 -04:00
a6381dcf77 Add support for guild intents 2020-09-23 03:21:15 -04:00
9036b9651b Properly handle disconnects in voice when force disconnected 2020-09-23 03:20:35 -04:00
9830e0ed8a Fix issues with VoiceProtocol docstrsings. 2020-09-23 03:20:35 -04:00
e3922e24d9 Correct some protocol errors in v4 of voice gateway 2020-09-23 03:20:35 -04:00
0b93fa3a82 Implement VoiceProtocol lower level hooks.
This allows changing the connect flow and taking control of it without
relying on internal events or tricks.
2020-09-23 03:20:35 -04:00
93fa46713a Fix and add documentation 2020-09-23 03:19:35 -04:00
37c5c583f2 Add support for message_reference on Message object 2020-09-23 02:29:03 -04:00
ab5e175b25 Use quotes when installing in the README
Other shells have a hard time with square brackets.

Closes #5821
2020-09-21 03:39:19 -04:00
7f17dc79a6 Remove namedtuples to better future guard the library 2020-09-21 03:36:58 -04:00
e7b4bbe2f6 Add bot.listen() suggestion to on_message faq 2020-09-20 00:15:10 -04:00
Xua
6ae615baae Fix allowed_mentions when sending files 2020-09-20 00:14:00 -04:00
cc26499237 Add competing activity type 2020-09-20 00:05:18 -04:00
8f105a441d issue/PR templates: use h2 instead of h3
`h2` is the semantically correct heading here, as `h1` is for 
document titles and `h2` is for the top level headings within
a document. `h3` should be used for subheadings of `h2` headings.
2020-09-18 07:40:27 -04:00
9978288346 Update issue template to redirect to discussions 2020-09-18 04:21:32 -04:00
aa258073dc Add labels to the issue templates 2020-09-17 22:16:20 -04:00
a183c4f752 Completely update member references from message inner members.
Fixes #5819
2020-09-17 02:45:53 -04:00
986adae108 Revert "Add fetch_message_fast using history endpoint"
This reverts commit a309088ae4.

A rate limited was added to this method after 5 years defeating the
purpose of it.
2020-09-14 01:18:09 -04:00
ddc4ad24f4 Add missing permission in clone documentation 2020-09-11 04:55:26 -04:00
4ccd9c1591 Remove caching from AutoShardedClient.shards 2020-09-10 05:17:25 -04:00
ccdf4c4ad6 [tasks] Lazily fetch event loop if one isn't provided
Fixes #5808
2020-09-10 00:00:58 -04:00
450e71f086 Add a more concrete exception for 500 status codes.
Fixes #5797
2020-09-09 21:24:14 -04:00
f8808dba9b Guard uses of the keep alive thread in case they're None
Fixes #5800
2020-09-09 21:18:41 -04:00
e6017a2170 Handle cloudflare bans on webhook requests
Fixes #5221
2020-09-09 21:17:28 -04:00
425bb809ed Add logging to webhooks
Fixes #5798
2020-09-09 20:46:16 -04:00
a1a4a4fd7f Fix comparison for overwrites when checking if a channel is synced 2020-09-09 19:49:05 -04:00
7acec502a6 [commands] Correct command removing during cog injecting 2020-09-09 19:48:00 -04:00
f8a7d3fc54 [commands] Fix exception raised in Command invoke hooks. 2020-09-09 19:47:05 -04:00
15f51113c3 Fix Member.joined_at documentation 2020-09-09 19:44:33 -04:00
4b18238ade Add discord.Colour classmethod dark_theme 2020-09-09 00:52:19 -04:00
a309088ae4 Add fetch_message_fast using history endpoint 2020-09-07 23:04:11 -04:00
af88fc19b3 [commands] Update Bot.command() decorator docs 2020-09-07 22:29:02 -04:00
367c4b5fd2 [docs] remove unresolved doc refs, fix attribute ref 2020-09-07 22:25:11 -04:00
6349d37a97 [commands] add require_var_positional 2020-09-07 22:24:48 -04:00
0a7e2f7c2f [commands] BadBooleanArgument -> BadBoolArgument 2020-09-04 08:47:07 -04:00
6ebd2e13a1 [commands] Add subclasses of BadArgument for converters 2020-09-04 08:45:29 -04:00
33fb13043c Classmethods all and none for AllowedMentions 2020-09-04 08:43:44 -04:00
5e4f3780ed Add COMMUNITY to Guild.features 2020-09-04 08:42:54 -04:00
39aa08ab93 Added __eq__ to Message 2020-09-04 08:42:31 -04:00