Add internal method to check if the websocket is currently ratelimited
This commit is contained in:
parent
b07d474bd6
commit
2509ca6a82
@ -76,6 +76,12 @@ class GatewayRatelimiter:
|
|||||||
self.lock = asyncio.Lock()
|
self.lock = asyncio.Lock()
|
||||||
self.shard_id = None
|
self.shard_id = None
|
||||||
|
|
||||||
|
def is_ratelimited(self):
|
||||||
|
current = time.time()
|
||||||
|
if current > self.window + self.per:
|
||||||
|
return False
|
||||||
|
return self.remaining == 0
|
||||||
|
|
||||||
def get_delay(self):
|
def get_delay(self):
|
||||||
current = time.time()
|
current = time.time()
|
||||||
|
|
||||||
@ -287,6 +293,9 @@ class DiscordWebSocket:
|
|||||||
def open(self):
|
def open(self):
|
||||||
return not self.socket.closed
|
return not self.socket.closed
|
||||||
|
|
||||||
|
def is_ratelimited(self):
|
||||||
|
return self._rate_limiter.is_ratelimited()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def from_client(cls, client, *, initial=False, gateway=None, shard_id=None, session=None, sequence=None, resume=False):
|
async def from_client(cls, client, *, initial=False, gateway=None, shard_id=None, session=None, sequence=None, resume=False):
|
||||||
"""Creates a main websocket for Discord from a :class:`Client`.
|
"""Creates a main websocket for Discord from a :class:`Client`.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user