Add Multi-Process Sharding Support
Created by: VelvetThePanda
Summary
This should make multi-process sharding just that much easier.
Details
Adds a new client and configuration option to support multi-process sharding
Changes proposed
- Unseal DiscordShardedClient
- Add some
private protected
access modifiers where needed - Add a new client type (DiscordClusterClient)
- Changed ShardedLoggerFactory to be generic (to support correct contextual logging)
- Added ClusterId and ShardBootCount properties to DiscordConfiguration
Notes
How have we gone over half a decade without this being a thing?