* fixed a deadlock in DiscordShardedClient during a failed Identify due to InvalidSession
* fixed log
* Don't wait ready before releasing semaphore
Co-authored-by: Paulo <pnmanjos@hotmail.com>
* fixes#1495
* keep obsolete properties and return types for compatibility
* missing properties for SocketInvite
* Restore xml docs and change obsolete message
Co-authored-by: Paulo <pnmanjos@hotmail.com>
This function will validate all commands from a SearchResult and return the result of said validation, along with the command matched, if a valid match was found.
* Add inline replies
* Missed a few things
* Change xml docs, IUserMessage, and other changes
* Missed one when changing
* Fix referencedMessage author
* Implement gateway ratelimit
* Remove unused code
* Share WebSocketRequestQueue between clients
* Add global limit and a way to change gateway limits
* Refactoring variable to fit lib standards
* Update xml docs
* Update xml docs
* Move warning to remarks
* Remove specific RequestQueue for WebSocket and other changes
The only account limit is for identify that is dealt in a different way (exclusive semaphore), so websocket queues can be shared with REST and don't need to be shared between clients anymore.
Also added the ratelimit for presence updates.
* Add summary to IdentifySemaphoreName
* Fix spacing
* Add max_concurrency and other fixes
- Add session_start_limit to GetBotGatewayResponse
- Add GetBotGatewayAsync to IDiscordClient
- Add master/slave semaphores to enable concurrency
- Not store semaphore name as static
- Clone GatewayLimits when cloning the Config
* Add missing RequestQueue parameter and wrong nullable
* Add RequeueQueue paramater to Webhook
* Better xml documentation
* Remove GatewayLimits class and other changes
- Remove GatewayLimits
- Transfer a few properties to DiscordSocketConfig
- Remove unnecessary usings
* Remove unnecessary using and wording
* Remove more unnecessary usings
* Change named Semaphores to SemaphoreSlim
* Remove unused using
* Update branch
* Fix merge conflicts and update to new ratelimit
* Fixing merge, ignore limit for heartbeat, and dispose
* Missed one place and better xml docs.
* Wait identify before opening the connection
* Only request identify ticket when needed
* Move identify control to sharded client
* Better description for IdentifyMaxConcurrency
* Add lock to InvalidSession
* Add missing properties to Guild, related methods, and deprecate GuildEmbed endpoints
- Add missing guild properties: `discovery_splash`, `widget_enabled`, `widget_channel_id`, `rules_channel_id`, `max_presences`, `max_presences`, `max_members`, `public_updates_channel_id`, `max_video_channel_users`, `approximate_member_count`, `approximate_presence_count`
- Update guild properties: `embed_enabled`, `embed_channel_id`
- Add `GetGuildDiscoverySplashUrl` to `CDN`
- Add classes related to the guild widget
- Add `withCounts` parameter to `GetGuild(s)Async`
- Make GuildEmbed related methods obsolete with a message redirecting to widget ones
* Change xml docs and PremiumSubscriptionCount type
* Changed some xml docs