mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-12-04 22:42:21 +00:00
Allow configuring the maximum ratelimit timeout before erroring
This is useful for cases where a rate limit is known to be extraordinarily high, but you still want to handle the error. This is common with routes such as emoji creation.
This commit is contained in:
@@ -260,6 +260,14 @@ class Client:
|
||||
This allows you to check requests the library is using. For more information, check the
|
||||
`aiohttp documentation <https://docs.aiohttp.org/en/stable/client_advanced.html#client-tracing>`_.
|
||||
|
||||
.. versionadded:: 2.0
|
||||
max_ratelimit_timeout: Optional[:class:`float`]
|
||||
The maximum number of seconds to wait when a non-global rate limit is encountered.
|
||||
If a request requires sleeping for more than the seconds passed in, then
|
||||
:exc:`~discord.RateLimited` will be raised. By default, there is no timeout limit.
|
||||
In order to prevent misuse and unnecessary bans, the minimum value this can be
|
||||
set to is ``30.0`` seconds.
|
||||
|
||||
.. versionadded:: 2.0
|
||||
|
||||
Attributes
|
||||
@@ -280,12 +288,14 @@ class Client:
|
||||
proxy_auth: Optional[aiohttp.BasicAuth] = options.pop('proxy_auth', None)
|
||||
unsync_clock: bool = options.pop('assume_unsync_clock', True)
|
||||
http_trace: Optional[aiohttp.TraceConfig] = options.pop('http_trace', None)
|
||||
max_ratelimit_timeout: Optional[float] = options.pop('max_ratelimit_timeout', None)
|
||||
self.http: HTTPClient = HTTPClient(
|
||||
self.loop,
|
||||
proxy=proxy,
|
||||
proxy_auth=proxy_auth,
|
||||
unsync_clock=unsync_clock,
|
||||
http_trace=http_trace,
|
||||
max_ratelimit_timeout=max_ratelimit_timeout,
|
||||
)
|
||||
|
||||
self._handlers: Dict[str, Callable[..., None]] = {
|
||||
|
||||
Reference in New Issue
Block a user