Commit Graph

2699 Commits

Author SHA1 Message Date
cc26499237 Add competing activity type 2020-09-20 00:05:18 -04:00
8f105a441d issue/PR templates: use h2 instead of h3
`h2` is the semantically correct heading here, as `h1` is for 
document titles and `h2` is for the top level headings within
a document. `h3` should be used for subheadings of `h2` headings.
2020-09-18 07:40:27 -04:00
9978288346 Update issue template to redirect to discussions 2020-09-18 04:21:32 -04:00
aa258073dc Add labels to the issue templates 2020-09-17 22:16:20 -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
5756548a6a Merge branch 'Rapptz-feature/intents' 2020-09-15 00:37:04 +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
81bfdea9df 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-10 05:17:52 -04:00
2129ae29be 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-10 05:17:52 -04:00