2233 Commits

Author SHA1 Message Date
Josh
62040de6a7
Fix Colour.dark_theme docstring. 2020-10-16 22:51:50 -04:00
PythonCoderAS
a40e20fa38
Use Hashable mixin for Message 2020-10-16 22:46:08 -04:00
ChristopherJHart
f308f34db1
Add note pointing to discord.AllowedMentions 2020-10-04 22:52:00 -04:00
Rapptz
6d1bcf89da Version bump to v1.5.0 2020-09-28 20:57:10 -04:00
Rapptz
bf42cf7232 Add warning if guilds intent is disabled. 2020-09-28 05:39:13 -04:00
Rapptz
1ebb52b139 Guard GUILD_MEMBER_ADD/GUILD_MEMBER_REMOVE from errors
If the guilds intent is disabled all guilds are unavailable. This means
we don't receive a member_count attribute and cannot update it.
2020-09-28 05:12:05 -04:00
Rapptz
28e5b2a5e1 Add Client.intents to query the current intents
Closes #5854
2020-09-26 06:35:41 -04:00
Nekokatt
3084deee18
Fixed incorrectly named 'Intent' class in doc.
`Intent.members` -> `Intents.members`.
2020-09-26 06:34:01 -04:00
Rapptz
e4d7f44aa5 Make Intent class creation more intuitive 2020-09-24 09:00:54 -04:00
apple502j
dc6e9e7fd6
Fix typo in ValueError message 2020-09-24 09:00:47 -04:00
Rapptz
59d514fcdf More intent related documentation 2020-09-24 01:39:45 -04:00
Rapptz
005a80303f Add chunk_guilds_at_startup and deprecate fetch_offline_members 2020-09-24 01:17:04 -04:00
Sebastian Law
2974663367
Fix typos in Intents documentation 2020-09-24 00:17:37 -04:00
apple502j
0ebf5b2fa7
Add support for flag alias 2020-09-24 00:16:37 -04:00
Rapptz
7126f5a78c Use delete_message_days instead of delete-message-days 2020-09-23 08:03:06 -04:00
Rapptz
e8eb19b2b4 Use /invites/ instead of /invite/ 2020-09-23 07:58:57 -04:00
Rapptz
2e06239d3c Add documentation for gateway intents 2020-09-23 03:21:22 -04:00
Rapptz
9dd4dc78c3 Mention potential Guild.member_count accuracy issues 2020-09-23 03:21:22 -04:00
Muhammad Hamza
11aaa03ec2 Fix presence intent docstring 2020-09-23 03:21:21 -04:00
Rapptz
213f55ffc7 Disable voice cache in weird intent configurations. 2020-09-23 03:21:21 -04:00
Rapptz
e644a5a060 Fix up wording in MemberCacheFlags exception 2020-09-23 03:21:21 -04:00
Rapptz
625a5c2a0b Some documentation fixes for MemberCacheFlags and Intents 2020-09-23 03:21:21 -04:00
Rapptz
8d5c05ed20 Default MemberCacheFlags based on intents 2020-09-23 03:21:21 -04:00
Rapptz
bf8ca58996 Add a special exception for required privileged intents 2020-09-23 03:21:20 -04:00
Rapptz
4d813da9e1 Pass default intents if not explicitly given 2020-09-23 03:21:20 -04:00
Rapptz
f2de794bde Intern status and overwrite strings 2020-09-23 03:21:20 -04:00
Rapptz
23ae084b8c Allow finer grained control over the member cache. 2020-09-23 03:21:20 -04:00
Rapptz
e6edc44f3d Raise if member intent is not enabled 2020-09-23 03:21:19 -04:00
Rapptz
ad917ca02d 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-23 03:21:19 -04:00
Rapptz
cb8cb557f5 Add Guild.chunk and deprecated Client.request_offline_members 2020-09-23 03:21:19 -04:00
Rapptz
055fe76241 Fix Client.request_offline_members no longer working 2020-09-23 03:21:19 -04:00
Rapptz
e10942a9ee Add versionadded for intents enum 2020-09-23 03:21:19 -04:00
Rapptz
bec34c1110 Explicitly disable the members presence by default 2020-09-23 03:21:18 -04:00
Rapptz
0ea0f483bc Fix timeouts due to hitting the gateway rate limit 2020-09-23 03:21:18 -04:00
Rapptz
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
Rapptz
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
Rapptz
0ec72660cf Speed up chunking for guilds with presence intent enabled 2020-09-23 03:21:18 -04:00
Rapptz
92e1816114 Maximize concurrency when chunking on AutoSharded clients 2020-09-23 03:21:17 -04:00
Rapptz
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
Rapptz
5fe998ac19 Heartbeats bypass the rate limits for gateway 2020-09-23 03:21:17 -04:00
Rapptz
3df269daa3 All guilds require chunking if opting into it 2020-09-23 03:21:17 -04:00
Rapptz
c261f7c4a3 Handle user updates within GUILD_MEMBER_UPDATE 2020-09-23 03:21:16 -04:00
Rapptz
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
Rapptz
ec7b8edcc2 Add more close codes that can't be handled for reconnecting. 2020-09-23 03:21:16 -04:00
Rapptz
11d8a6fa3c Change unknown cache log warnings from WARNING -> DEBUG 2020-09-23 03:21:15 -04:00
Rapptz
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
Rapptz
a6381dcf77 Add support for guild intents 2020-09-23 03:21:15 -04:00
Rapptz
9036b9651b Properly handle disconnects in voice when force disconnected 2020-09-23 03:20:35 -04:00
Josh
9830e0ed8a Fix issues with VoiceProtocol docstrsings. 2020-09-23 03:20:35 -04:00
Rapptz
e3922e24d9 Correct some protocol errors in v4 of voice gateway 2020-09-23 03:20:35 -04:00