Commit Graph
2195 Commits
Author SHA1 Message Date
Rapptz f3514a4d53 Don't cache members during guild start up if cache is disabled.
This is mainly a half-implemented commit. There are a few more places
where cache consistency is necessary. In the future there will
probably be a member cache policy enum that will be used and cache
consistency will be tackled in part of that larger refactoring.
2020-09-14 03:20:17 -04:00
Rapptz 141511471e Add Guild.chunk and deprecated Client.request_offline_members 2020-09-14 03:20:16 -04:00
Rapptz 27558ec71a Fix Client.request_offline_members no longer working 2020-09-14 03:20:16 -04:00
Rapptz a6edb66742 Add versionadded for intents enum 2020-09-14 03:20:16 -04:00
Rapptz b1de57f299 Explicitly disable the members presence by default 2020-09-14 03:20:16 -04:00
Rapptz 0fc8ac6f80 Fix timeouts due to hitting the gateway rate limit 2020-09-14 03:20:16 -04:00
Rapptz 18141c0cf9 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-14 03:20:16 -04:00
Rapptz 022ec9af1d 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-14 03:20:16 -04:00
Rapptz 9492cb1242 Speed up chunking for guilds with presence intent enabled 2020-09-14 03:20:16 -04:00
Rapptz a76f9ce8ef Maximize concurrency when chunking on AutoSharded clients 2020-09-14 03:20:16 -04:00
Rapptz faf1db1583 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-14 03:20:15 -04:00
Rapptz d6defbc6b2 Heartbeats bypass the rate limits for gateway 2020-09-14 03:20:15 -04:00
Rapptz 5db9a3551f All guilds require chunking if opting into it 2020-09-14 03:20:15 -04:00
Rapptz e8e4886fd8 Handle user updates within GUILD_MEMBER_UPDATE 2020-09-14 03:20:15 -04:00
Rapptz 95bec0dcee 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-14 03:20:15 -04:00
Rapptz f46257faa6 Add more close codes that can't be handled for reconnecting. 2020-09-14 03:20:15 -04:00
Rapptz c0a3aaa98c Change unknown cache log warnings from WARNING -> DEBUG 2020-09-14 03:20:15 -04:00
Rapptz 75c24bde16 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-14 03:20:15 -04:00
Rapptz a9cb851a3c Add support for guild intents 2020-09-14 03:20:15 -04:00
Rapptz 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
Duck ddc4ad24f4 Add missing permission in clone documentation 2020-09-11 04:55:26 -04:00
Rapptz 4ccd9c1591 Remove caching from AutoShardedClient.shards 2020-09-10 05:17:25 -04:00
Rapptz ccdf4c4ad6 [tasks] Lazily fetch event loop if one isn't provided
Fixes #5808
2020-09-10 00:00:58 -04:00
Rapptz 450e71f086 Add a more concrete exception for 500 status codes.
Fixes #5797
2020-09-09 21:24:14 -04:00
Rapptz f8808dba9b Guard uses of the keep alive thread in case they're None
Fixes #5800
2020-09-09 21:18:41 -04:00
Rapptz e6017a2170 Handle cloudflare bans on webhook requests
Fixes #5221
2020-09-09 21:17:28 -04:00
Rapptz 425bb809ed Add logging to webhooks
Fixes #5798
2020-09-09 20:46:16 -04:00
Dan Hess a1a4a4fd7f Fix comparison for overwrites when checking if a channel is synced 2020-09-09 19:49:05 -04:00
Dan Hess 7acec502a6 [commands] Correct command removing during cog injecting 2020-09-09 19:48:00 -04:00
Josh f8a7d3fc54 [commands] Fix exception raised in Command invoke hooks. 2020-09-09 19:47:05 -04:00
rodovia 15f51113c3 Fix Member.joined_at documentation 2020-09-09 19:44:33 -04:00
BluePhoenixGame 4b18238ade Add discord.Colour classmethod dark_theme 2020-09-09 00:52:19 -04:00
khazhyk a309088ae4 Add fetch_message_fast using history endpoint 2020-09-07 23:04:11 -04:00
Skye Im af88fc19b3 [commands] Update Bot.command() decorator docs 2020-09-07 22:29:02 -04:00
Nadir Chowdhury 367c4b5fd2 [docs] remove unresolved doc refs, fix attribute ref 2020-09-07 22:25:11 -04:00
khazhyk 6349d37a97 [commands] add require_var_positional 2020-09-07 22:24:48 -04:00
Rapptz 0a7e2f7c2f [commands] BadBooleanArgument -> BadBoolArgument 2020-09-04 08:47:07 -04:00
Simon Beal 6ebd2e13a1 [commands] Add subclasses of BadArgument for converters 2020-09-04 08:45:29 -04:00
Saphielle Akiyama 33fb13043c Classmethods all and none for AllowedMentions 2020-09-04 08:43:44 -04:00
Alex Nørgaard 5e4f3780ed Add COMMUNITY to Guild.features 2020-09-04 08:42:54 -04:00
Andres Torres 39aa08ab93 Added __eq__ to Message 2020-09-04 08:42:31 -04:00
alkatar21 dce653a0eb Don't call close() if we've already been closed in Client.run 2020-09-01 15:24:47 -04:00
parafoxia ad04fbeee4 [commands] Added ColorConverter alias 2020-08-31 02:29:38 -04:00
Josh 6baacb2c23 [tasks] Don't update _next_iteration on retry 2020-08-28 23:12:07 -04:00
Rapptz 4203e7a5a8 [commands] Use edited timestamp if provided for cooldown timing 2020-08-25 23:15:26 -04:00
parafoxia 1f4f010e51 Fix issue with empty overwrites
Fixes #5756.
2020-08-25 22:45:32 -04:00
Rapptz 38ebef8c16 Version bump for development purposes 2020-08-22 17:19:47 -04:00
Rapptz 11f29890dc Fix bug with Guild.by_category not showing some channels
If categories come after a child channel in the dictionary mapping for
whatever reason, then the previous code would remove it from the
mapping and set it to []. This commit aims to fix this.
2020-08-22 17:18:48 -04:00
Rapptz 45752ab354 Document merging behaviour of AllowedMentions in Messageable.send 2020-08-22 17:14:02 -04:00
Nanofaux dd408f6871 Fix hyperlink reference to PartialInviteChannel in Client 2020-08-22 16:26:24 -04:00