From 0c615869d2a0607ea93011b6281be476c6433181 Mon Sep 17 00:00:00 2001 From: alina sireneva Date: Fri, 6 Dec 2024 00:08:03 +0300 Subject: [PATCH] fix(core): support FLOOD_PREMIUM_WAIT_ --- packages/core/src/network/middlewares/flood-waiter.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/core/src/network/middlewares/flood-waiter.ts b/packages/core/src/network/middlewares/flood-waiter.ts index a85ed62c..0dd7cc01 100644 --- a/packages/core/src/network/middlewares/flood-waiter.ts +++ b/packages/core/src/network/middlewares/flood-waiter.ts @@ -90,6 +90,7 @@ export function floodWaiter(options: FloodWaiterOptions): RpcCallMiddleware { err.startsWith('FLOOD_WAIT_') || err.startsWith('SLOWMODE_WAIT_') || err.startsWith('FLOOD_TEST_PHONE_WAIT_') + || err.startsWith('FLOOD_PREMIUM_WAIT_') ) { let seconds = Number(err.slice(err.lastIndexOf('_') + 1)) @@ -113,7 +114,11 @@ export function floodWaiter(options: FloodWaiterOptions): RpcCallMiddleware { const ms = seconds * 1000 if (ms <= floodSleepThreshold) { - ctx.manager._log.warn('%s resulted in a flood wait, will retry in %d seconds', method, seconds) + if (ctx.request._ !== 'upload.getFile') { + // upload.getFile often results in flood waits, so we don't want to spam the log + ctx.manager._log.warn('%s resulted in a flood wait, will retry in %d seconds', method, seconds) + } + await sleepWithAbort( ms, combineAbortSignals(ctx.manager.params.stopSignal, ctx.params?.abortSignal),