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
7f17dc79a6
Remove namedtuples to better future guard the library
2020-09-21 03:36:58 -04:00
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
2774cfd3e9
welp, wasnt aware __hex__ got removed in py3
2020-09-18 01:04:04 +00:00
bbaf3375a8
a fix I think?
2020-09-18 00:54:26 +00:00
d28f0ff35b
add hex() support to Color
2020-09-18 00:44:40 +00:00
b2540ee312
Lets add some color!
2020-09-18 00:34:29 +00:00
a183c4f752
Completely update member references from message inner members.
...
Fixes #5819
2020-09-17 02:45:53 -04:00
a67bb723b4
competing type added
2020-09-15 20:34:43 +00:00
571ddb5a3e
merge conflict fix
2020-09-15 00:36:19 +00:00
6546f63ad7
Add a special exception for required privileged intents
2020-09-14 03:49:21 -04:00
4c56e6da9c
Pass default intents if not explicitly given
2020-09-14 03:20:41 -04:00
27b224778b
Intern status and overwrite strings
2020-09-14 03:20:41 -04:00
ab049e3eb0
Allow finer grained control over the member cache.
2020-09-14 03:20:36 -04:00
6f22ba8ad0
Raise if member intent is not enabled
2020-09-14 03:20:17 -04:00
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
141511471e
Add Guild.chunk and deprecated Client.request_offline_members
2020-09-14 03:20:16 -04:00
27558ec71a
Fix Client.request_offline_members no longer working
2020-09-14 03:20:16 -04:00
a6edb66742
Add versionadded for intents enum
2020-09-14 03:20:16 -04:00
b1de57f299
Explicitly disable the members presence by default
2020-09-14 03:20:16 -04:00
0fc8ac6f80
Fix timeouts due to hitting the gateway rate limit
2020-09-14 03:20:16 -04:00
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
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
9492cb1242
Speed up chunking for guilds with presence intent enabled
2020-09-14 03:20:16 -04:00
a76f9ce8ef
Maximize concurrency when chunking on AutoSharded clients
2020-09-14 03:20:16 -04:00
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
d6defbc6b2
Heartbeats bypass the rate limits for gateway
2020-09-14 03:20:15 -04:00
5db9a3551f
All guilds require chunking if opting into it
2020-09-14 03:20:15 -04:00
e8e4886fd8
Handle user updates within GUILD_MEMBER_UPDATE
2020-09-14 03:20:15 -04:00
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
f46257faa6
Add more close codes that can't be handled for reconnecting.
2020-09-14 03:20:15 -04:00
c0a3aaa98c
Change unknown cache log warnings from WARNING -> DEBUG
2020-09-14 03:20:15 -04:00
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
a9cb851a3c
Add support for guild intents
2020-09-14 03:20:15 -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
43c4d33a4a
avatar urls in stead of assets
2020-09-13 23:57:18 +00:00
4b612aeece
Merge pull request #1 from Rapptz/feature/intents
...
Feature/intents
2020-09-13 05:44:24 +02:00
1791b72f45
Add support for Guild.bots and Guild.humans
2020-09-13 01:17:35 +00:00
ddc4ad24f4
Add missing permission in clone documentation
2020-09-11 04:55:26 -04:00
77b0ddca7c
Raise if member intent is not enabled
2020-09-10 06:46:16 -04:00
61ec62da11
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-10 05:58:24 -04:00
009a961006
Add Guild.chunk and deprecated Client.request_offline_members
2020-09-10 05:56:48 -04:00
cb211c36bd
Fix Client.request_offline_members no longer working
2020-09-10 05:26:35 -04:00
a293d87c77
Add versionadded for intents enum
2020-09-10 05:17:52 -04:00
41fd2740cb
Explicitly disable the members presence by default
2020-09-10 05:17:52 -04:00
65f591705d
Fix timeouts due to hitting the gateway rate limit
2020-09-10 05:17:52 -04:00