Skip to content

Commit 4125f10

Browse files
committed
Experimental fix for stuck ratelimit buckets
1 parent 2685516 commit 4125f10

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

discord/http.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,12 @@ async def acquire(self) -> None:
461461
future = self._loop.create_future()
462462
self._pending_requests.append(future)
463463
try:
464-
await future
464+
while not future.done():
465+
# 30 matches the smallest allowed max_ratelimit_timeout
466+
max_wait_time = self.expires - self._loop.time() if self.expires else 30
467+
await asyncio.wait([future], timeout=max_wait_time)
468+
if not future.done():
469+
await self._refresh()
465470
except:
466471
future.cancel()
467472
if self.remaining > 0 and not future.cancelled():

0 commit comments

Comments
 (0)