Add separate configuration option for enabling/disabling member chunking.
Closed this issue · 0 comments
Summary
Add separate configuration option for enabling/disabling member chunking.
Problem
Right now member chunking configuration is decided upon based on whether you have the GUILD_MEMBERS intent enabled and nothing else, this is implicit and seems to ignore whether anything is actually listening to chunk events (e.g. the cache or an actual listener). While #636 adds the cache and whether any listeners are registered into the equation here this is a bodge and not everyone with the member cache enabled or even just a listener registered (since a plugin they're using may be registering a listener opportunistically) will want their bot to ramp up at start-up and spike full CPU while chunking the members for potentially hundreds or thousands of guilds.
Ideal implementation
An explicitly configuration option for member chunking should be added which is used alongside the size of a guild to decide whether to request chunks or not.
This configuration should be taken into consideration by the resource internal completeness check from #880 for the member state store.
As an extension we might also want to add another configuration for whether to request presence objects in those chunk requests which should influence the #880 check for the presence store.
Checklist
- I have searched the issue tracker and have made sure it's not a duplicate.
If it is a follow up of another issue, I have specified it.