Commit Graph

2246 Commits

Author SHA1 Message Date
763d46cd7a Version bump to v1.5.1 2020-10-19 19:44:10 -04:00
707cb47438 Fix error when querying members from the gateway.
I accidentally made this return True instead of the actual member list
2020-10-19 19:37:16 -04:00
1a6295dffb Allow concurrent calls to guild.chunk()
This allows people who write guild.chunk() calls in highly concurrent
places such as on_message or checks to not spam the gateway with an
actual request and instead waits for the pre-existing request to finish
2020-10-19 02:47:03 -04:00
ae65d75f96 Load member from guild_member_update dispatch 2020-10-17 23:19:02 -04:00
3daaadafdd [commands] Lazily fetch members in discord.Member converters
This makes commands taking members mostly work transparently without
much effort from the user.
2020-10-17 23:05:22 -04:00
61e25cb090 Ensure our own member is never evicted from the cache in any policy. 2020-10-17 23:02:03 -04:00
2509ca6a82 Add internal method to check if the websocket is currently ratelimited 2020-10-17 22:51:29 -04:00
b07d474bd6 Fix attribute errors when timing out during chunking start-up 2020-10-17 22:02:44 -04:00
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
b91ddc6f4e Mark intent alias flags as actual aliases to skip them in __iter__
Fix #5945
2020-10-17 18:50:56 -04:00
1c03a4aac9 Evict keys when they're set to None in PermissionOverwrite
Fixes #5929
2020-10-17 01:59:00 -04:00
b9e1bdf87e Properly insert at the end if position is not found when moving.
Fixes #5923
2020-10-17 01:52:35 -04:00
d9acc2f491 Escape multi-line quotes properly
Fix #5897
2020-10-17 01:36:31 -04:00
62040de6a7 Fix Colour.dark_theme docstring. 2020-10-16 22:51:50 -04:00
a40e20fa38 Use Hashable mixin for Message 2020-10-16 22:46:08 -04:00
f308f34db1 Add note pointing to discord.AllowedMentions 2020-10-04 22:52:00 -04:00
6d1bcf89da Version bump to v1.5.0 2020-09-28 20:57:10 -04:00
bf42cf7232 Add warning if guilds intent is disabled. 2020-09-28 05:39:13 -04:00
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
28e5b2a5e1 Add Client.intents to query the current intents
Closes #5854
2020-09-26 06:35:41 -04:00
3084deee18 Fixed incorrectly named 'Intent' class in doc.
`Intent.members` -> `Intents.members`.
2020-09-26 06:34:01 -04:00
e4d7f44aa5 Make Intent class creation more intuitive 2020-09-24 09:00:54 -04:00
dc6e9e7fd6 Fix typo in ValueError message 2020-09-24 09:00:47 -04:00
59d514fcdf More intent related documentation 2020-09-24 01:39:45 -04:00
005a80303f Add chunk_guilds_at_startup and deprecate fetch_offline_members 2020-09-24 01:17:04 -04:00
2974663367 Fix typos in Intents documentation 2020-09-24 00:17:37 -04:00
0ebf5b2fa7 Add support for flag alias 2020-09-24 00:16:37 -04:00
7126f5a78c Use delete_message_days instead of delete-message-days 2020-09-23 08:03:06 -04:00
e8eb19b2b4 Use /invites/ instead of /invite/ 2020-09-23 07:58:57 -04:00
2e06239d3c Add documentation for gateway intents 2020-09-23 03:21:22 -04:00
9dd4dc78c3 Mention potential Guild.member_count accuracy issues 2020-09-23 03:21:22 -04:00
11aaa03ec2 Fix presence intent docstring 2020-09-23 03:21:21 -04:00
213f55ffc7 Disable voice cache in weird intent configurations. 2020-09-23 03:21:21 -04:00
e644a5a060 Fix up wording in MemberCacheFlags exception 2020-09-23 03:21:21 -04:00
625a5c2a0b Some documentation fixes for MemberCacheFlags and Intents 2020-09-23 03:21:21 -04:00
8d5c05ed20 Default MemberCacheFlags based on intents 2020-09-23 03:21:21 -04:00
bf8ca58996 Add a special exception for required privileged intents 2020-09-23 03:21:20 -04:00
4d813da9e1 Pass default intents if not explicitly given 2020-09-23 03:21:20 -04:00
f2de794bde Intern status and overwrite strings 2020-09-23 03:21:20 -04:00
23ae084b8c Allow finer grained control over the member cache. 2020-09-23 03:21:20 -04:00
e6edc44f3d Raise if member intent is not enabled 2020-09-23 03:21:19 -04:00
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
cb8cb557f5 Add Guild.chunk and deprecated Client.request_offline_members 2020-09-23 03:21:19 -04:00
055fe76241 Fix Client.request_offline_members no longer working 2020-09-23 03:21:19 -04:00
e10942a9ee Add versionadded for intents enum 2020-09-23 03:21:19 -04:00
bec34c1110 Explicitly disable the members presence by default 2020-09-23 03:21:18 -04:00
0ea0f483bc Fix timeouts due to hitting the gateway rate limit 2020-09-23 03:21:18 -04:00
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