Rapptz
b07d474bd6
Fix attribute errors when timing out during chunking start-up
2020-10-17 22:02:44 -04:00
Rapptz
21ed9f61d2
Fix disconnect when trying to move to another voice channel.
...
Not overly proud of this implementation but this allows the library
to differentiate between a 4014 that means "move to another channel" or
"move nowhere". Sometimes the VOICE_STATE_UPDATE comes before the
actual websocket disconnect so special care had to be taken in that
case.
Fix #5904
2020-10-17 22:01:57 -04:00
Rapptz
b91ddc6f4e
Mark intent alias flags as actual aliases to skip them in __iter__
...
Fix #5945
2020-10-17 18:50:56 -04:00
Rapptz
1c03a4aac9
Evict keys when they're set to None in PermissionOverwrite
...
Fixes #5929
2020-10-17 01:59:00 -04:00
Rapptz
b9e1bdf87e
Properly insert at the end if position is not found when moving.
...
Fixes #5923
2020-10-17 01:52:35 -04:00
Rapptz
d9acc2f491
Escape multi-line quotes properly
...
Fix #5897
2020-10-17 01:36:31 -04:00
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