fix(rss_generator): handle Telegram flood wait errors with automatic retry logic

Add flood wait exception handling in both RSS and HTML generation functions.
The bot now automatically waits for the specified duration and retries the
operation when encountering rate limiting from Telegram's API.
This commit is contained in:
vvzvlad
2026-01-01 14:57:16 +03:00
parent 3c2b4ce544
commit 337cabe180
2 changed files with 535 additions and 0 deletions
+500
View File
@@ -0,0 +1,500 @@
2026-01-01 13:47:52,039 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:47:52,039 - api_server - INFO - Query params: {}
2026-01-01 13:47:52,039 - api_server - INFO - Valid digest for media anyatimatter/1313/AgADSAIyGyzrSEg: dbe16222
2026-01-01 13:47:52,106 - api_server - INFO - Found cached media file: /app/data/cache/anyatimatter/1313/AgADSAIyGyzrSEg
2026-01-01 13:47:52,132 - api_server - INFO - Found cached media file: /app/data/cache/anyatimatter/1342/AgADIgtrG26qoUg
INFO: 172.18.0.5:48260 - "GET /media/anyatimatter/1313/AgADSAIyGyzrSEg/dbe16222 HTTP/1.1" 200 OK
2026-01-01 13:47:52,139 - api_server - INFO - Response status: 200
2026-01-01 13:47:52,148 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:48246 - "GET /media/anyatimatter/1342/AgADIgtrG26qoUg/19f47611 HTTP/1.1" 200 OK
2026-01-01 13:47:52,753 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/anyatimatter/1358/AgADpIYAAgoCaUk/f737b5f9
2026-01-01 13:47:52,753 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': '*/*', 'accept-encoding': 'identity', 'accept-language': 'en-GB,en;q=0.9', 'range': 'bytes=0-1', 'sec-fetch-dest': 'video', 'sec-fetch-mode': 'no-cors', 'sec-fetch-site': 'cross-site', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-playback-session-id': '55CE3C73-3CEB-426C-8DDE-2800013EC670', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:47:52,753 - api_server - INFO - Query params: {}
2026-01-01 13:47:52,753 - api_server - INFO - Valid digest for media anyatimatter/1358/AgADpIYAAgoCaUk: f737b5f9
2026-01-01 13:48:01,011 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:48:02,012 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:48:02,013 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:48:02,013 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:48:02,053 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:48:10,060 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/koshism/291/AgADp9cxG4bSCEk/85c62189
2026-01-01 13:48:10,060 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:48:10,060 - api_server - INFO - Query params: {}
2026-01-01 13:48:10,061 - api_server - INFO - Valid digest for media koshism/291/AgADp9cxG4bSCEk: 85c62189
2026-01-01 13:48:12,640 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:48:13,640 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:48:13,641 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:48:13,641 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:48:13,682 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:48:17,485 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/oglafik/1502/AgADXw5rG5r0aUk/62aa144f
2026-01-01 13:48:17,485 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:48:17,485 - api_server - INFO - Query params: {}
2026-01-01 13:48:17,485 - api_server - INFO - Valid digest for media oglafik/1502/AgADXw5rG5r0aUk: 62aa144f
2026-01-01 13:48:24,431 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:48:25,432 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:48:25,432 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:48:25,432 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:48:25,476 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:48:36,022 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:48:37,023 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:48:37,023 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:48:37,023 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:48:37,069 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:48:47,771 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:48:48,772 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:48:48,772 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:48:48,772 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:48:48,828 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:48:59,472 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:48:59,472 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:48:59,472 - pyrogram.client - ERROR - 0
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/pyrogram/client.py", line 1165, in get_file
await Auth(
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 299, in create
raise e
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 215, in create
set_client_dh_params_answer = await self.invoke(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 80, in invoke
return self.unpack(response)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 73, in unpack
return TLObject.read(b)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/raw/core/tl_object.py", line 33, in read
return cast(TLObject, objects[int.from_bytes(b.read(4), "little")]).read(b, *args)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 0
2026-01-01 13:48:59,473 - api_server - ERROR - download_failed_zero_size: Downloaded file AgADf60xGylfjVE for toshno/687 is zero size or missing.
2026-01-01 13:48:59,473 - api_server - INFO - Removed zero-size file: /app/data/cache/toshno/687/AgADf60xGylfjVE
2026-01-01 13:48:59,473 - api_server - ERROR - Background download failed for toshno/687/AgADf60xGylfjVE: Downloaded file AgADf60xGylfjVE for toshno/687 is zero size or missing after download attempt.
2026-01-01 13:49:00,907 - api_server - INFO - Downloaded media file AgADpIYAAgoCaUk to /app/data/cache/anyatimatter/1358/AgADpIYAAgoCaUk
2026-01-01 13:49:01,086 - api_server - INFO - Downloaded media file AgADp9cxG4bSCEk to /app/data/cache/koshism/291/AgADp9cxG4bSCEk
2026-01-01 13:49:01,093 - api_server - INFO - Response status: 206
2026-01-01 13:49:01,093 - api_server - INFO - Response status: 200
2026-01-01 13:49:01,267 - api_server - INFO - Downloaded media file AgADXw5rG5r0aUk to /app/data/cache/oglafik/1502/AgADXw5rG5r0aUk
2026-01-01 13:49:01,268 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:49:01,268 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:49:01,270 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:60838 - "GET /media/oglafik/1502/AgADXw5rG5r0aUk/62aa144f HTTP/1.1" 200 OK
2026-01-01 13:49:01,316 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:49:12,014 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:49:13,015 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:49:13,015 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:49:13,016 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:49:13,063 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:49:23,751 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:49:24,750 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:49:24,751 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:49:24,751 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:49:24,799 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:49:28,047 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/martadello/4429/AgADkPQxG42yIUo/72058b2f
2026-01-01 13:49:28,047 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:49:28,047 - api_server - INFO - Query params: {}
2026-01-01 13:49:28,047 - api_server - INFO - Valid digest for media martadello/4429/AgADkPQxG42yIUo: 72058b2f
2026-01-01 13:49:28,169 - api_server - INFO - Found cached media file: /app/data/cache/martadello/4429/AgADkPQxG42yIUo
2026-01-01 13:49:28,176 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:52068 - "GET /media/martadello/4429/AgADkPQxG42yIUo/72058b2f HTTP/1.1" 200 OK
2026-01-01 13:49:28,992 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/martadello/4431/AgADkvQxG42yIUo/546c68c9
2026-01-01 13:49:28,992 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:49:28,992 - api_server - INFO - Query params: {}
2026-01-01 13:49:28,992 - api_server - INFO - Valid digest for media martadello/4431/AgADkvQxG42yIUo: 546c68c9
2026-01-01 13:49:28,993 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/martadello/4430/AgADkfQxG42yIUo/ef7929a0
2026-01-01 13:49:28,993 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:49:28,993 - api_server - INFO - Query params: {}
2026-01-01 13:49:28,994 - api_server - INFO - Valid digest for media martadello/4430/AgADkfQxG42yIUo: ef7929a0
2026-01-01 13:49:35,470 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:49:36,469 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:49:36,469 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:49:36,469 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:49:36,512 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:49:42,411 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/kinabudettg/637/AgADaw1rG9E9cEg/0910377e
2026-01-01 13:49:42,412 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:49:42,412 - api_server - INFO - Query params: {}
2026-01-01 13:49:42,412 - api_server - INFO - Valid digest for media kinabudettg/637/AgADaw1rG9E9cEg: 0910377e
2026-01-01 13:49:42,420 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/kinabudettg/721/AgADNwxrG23ZYUk/bba6efc4
2026-01-01 13:49:42,420 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:49:42,420 - api_server - INFO - Query params: {}
2026-01-01 13:49:42,422 - api_server - INFO - Valid digest for media kinabudettg/721/AgADNwxrG23ZYUk: bba6efc4
2026-01-01 13:49:42,423 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/kinabudettg/604/AgADrvsxG-sw2Es/7eff3ff9
2026-01-01 13:49:42,423 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:49:42,423 - api_server - INFO - Query params: {}
2026-01-01 13:49:42,423 - api_server - INFO - Valid digest for media kinabudettg/604/AgADrvsxG-sw2Es: 7eff3ff9
2026-01-01 13:49:42,424 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/kinabudettg/636/AgADTg1rG9E9cEg/196a23b0
2026-01-01 13:49:42,424 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:49:42,424 - api_server - INFO - Query params: {}
2026-01-01 13:49:42,424 - api_server - INFO - Valid digest for media kinabudettg/636/AgADTg1rG9E9cEg: 196a23b0
2026-01-01 13:49:42,424 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/kinabudettg/635/AgADag1rG9E9cEg/f9cd76a0
2026-01-01 13:49:42,425 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:49:42,425 - api_server - INFO - Query params: {}
2026-01-01 13:49:42,425 - api_server - INFO - Valid digest for media kinabudettg/635/AgADag1rG9E9cEg: f9cd76a0
2026-01-01 13:49:42,569 - api_server - INFO - Found cached media file: /app/data/cache/kinabudettg/637/AgADaw1rG9E9cEg
2026-01-01 13:49:42,582 - api_server - INFO - Found cached media file: /app/data/cache/kinabudettg/636/AgADTg1rG9E9cEg
2026-01-01 13:49:42,588 - api_server - INFO - Found cached media file: /app/data/cache/kinabudettg/721/AgADNwxrG23ZYUk
2026-01-01 13:49:42,590 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:58024 - "GET /media/kinabudettg/637/AgADaw1rG9E9cEg/0910377e HTTP/1.1" 200 OK
2026-01-01 13:49:42,593 - api_server - INFO - Found cached media file: /app/data/cache/kinabudettg/635/AgADag1rG9E9cEg
2026-01-01 13:49:42,601 - api_server - INFO - Found cached media file: /app/data/cache/kinabudettg/604/AgADrvsxG-sw2Es
2026-01-01 13:49:42,611 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:58034 - "GET /media/kinabudettg/636/AgADTg1rG9E9cEg/196a23b0 HTTP/1.1" 200 OK
INFO: 172.18.0.5:58018 - "GET /media/kinabudettg/721/AgADNwxrG23ZYUk/bba6efc4 HTTP/1.1" 200 OK
2026-01-01 13:49:42,613 - api_server - INFO - Response status: 200
2026-01-01 13:49:42,619 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:58046 - "GET /media/kinabudettg/635/AgADag1rG9E9cEg/f9cd76a0 HTTP/1.1" 200 OK
2026-01-01 13:49:42,622 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:58028 - "GET /media/kinabudettg/604/AgADrvsxG-sw2Es/7eff3ff9 HTTP/1.1" 200 OK
2026-01-01 13:49:47,212 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:49:48,212 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:49:48,213 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:49:48,213 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:49:48,255 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:49:53,052 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/kinabudettg/513/AgADd_wxGw9-kEo/25512da8
2026-01-01 13:49:53,052 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:49:53,052 - api_server - INFO - Query params: {}
2026-01-01 13:49:53,052 - api_server - INFO - Valid digest for media kinabudettg/513/AgADd_wxGw9-kEo: 25512da8
2026-01-01 13:49:53,114 - api_server - INFO - Found cached media file: /app/data/cache/kinabudettg/513/AgADd_wxGw9-kEo
2026-01-01 13:49:53,120 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:51666 - "GET /media/kinabudettg/513/AgADd_wxGw9-kEo/25512da8 HTTP/1.1" 200 OK
2026-01-01 13:49:58,839 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:49:59,839 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:49:59,839 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:49:59,839 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:49:59,884 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:50:10,551 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:50:10,551 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:50:10,551 - pyrogram.client - ERROR - 0
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/pyrogram/client.py", line 1165, in get_file
await Auth(
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 299, in create
raise e
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 215, in create
set_client_dh_params_answer = await self.invoke(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 80, in invoke
return self.unpack(response)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 73, in unpack
return TLObject.read(b)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/raw/core/tl_object.py", line 33, in read
return cast(TLObject, objects[int.from_bytes(b.read(4), "little")]).read(b, *args)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 0
2026-01-01 13:50:10,552 - api_server - ERROR - download_failed_zero_size: Downloaded file AgADLa4xG08Z_FA for toshno/718 is zero size or missing.
2026-01-01 13:50:10,552 - api_server - INFO - Removed zero-size file: /app/data/cache/toshno/718/AgADLa4xG08Z_FA
2026-01-01 13:50:10,552 - api_server - ERROR - Background download failed for toshno/718/AgADLa4xG08Z_FA: Downloaded file AgADLa4xG08Z_FA for toshno/718 is zero size or missing after download attempt.
2026-01-01 13:50:10,649 - api_server - INFO - Downloaded media file AgADkfQxG42yIUo to /app/data/cache/martadello/4430/AgADkfQxG42yIUo
2026-01-01 13:50:10,650 - api_server - INFO - Response status: 200
2026-01-01 13:50:10,722 - api_server - INFO - Downloaded media file AgADkvQxG42yIUo to /app/data/cache/martadello/4431/AgADkvQxG42yIUo
2026-01-01 13:50:10,722 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:50:10,722 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:50:10,723 - api_server - INFO - Response status: 200
2026-01-01 13:50:10,765 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:50:14,977 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/m3photo/154/AgADYwtrG0drKVA/440feb69
2026-01-01 13:50:14,977 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:14,977 - api_server - INFO - Query params: {}
2026-01-01 13:50:14,977 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/m3photo/166/AgADRgtrGxQxkFA/359d5d31
2026-01-01 13:50:14,977 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:14,977 - api_server - INFO - Query params: {}
2026-01-01 13:50:14,978 - api_server - INFO - Valid digest for media m3photo/154/AgADYwtrG0drKVA: 440feb69
2026-01-01 13:50:14,978 - api_server - INFO - Valid digest for media m3photo/166/AgADRgtrGxQxkFA: 359d5d31
2026-01-01 13:50:14,978 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/m3photo/178/AgADQgtrGweEiVE/0cad31f6
2026-01-01 13:50:14,978 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:14,978 - api_server - INFO - Query params: {}
2026-01-01 13:50:14,978 - api_server - INFO - Valid digest for media m3photo/178/AgADQgtrGweEiVE: 0cad31f6
2026-01-01 13:50:18,512 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/m3photo/154/AgADYwtrG0drKVA/440feb69
2026-01-01 13:50:18,512 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:18,512 - api_server - INFO - Query params: {}
2026-01-01 13:50:18,512 - api_server - INFO - Valid digest for media m3photo/154/AgADYwtrG0drKVA: 440feb69
2026-01-01 13:50:18,512 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/m3photo/159/AgADaAtrG0drKVA/0745f4de
2026-01-01 13:50:18,513 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:18,513 - api_server - INFO - Query params: {}
2026-01-01 13:50:18,513 - api_server - INFO - Valid digest for media m3photo/159/AgADaAtrG0drKVA: 0745f4de
2026-01-01 13:50:18,513 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/m3photo/157/AgADZgtrG0drKVA/4c51e6a2
2026-01-01 13:50:18,513 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:18,513 - api_server - INFO - Query params: {}
2026-01-01 13:50:18,514 - api_server - INFO - Valid digest for media m3photo/157/AgADZgtrG0drKVA: 4c51e6a2
2026-01-01 13:50:18,514 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/m3photo/158/AgADZwtrG0drKVA/acccb68d
2026-01-01 13:50:18,514 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:18,514 - api_server - INFO - Query params: {}
2026-01-01 13:50:18,514 - api_server - INFO - Valid digest for media m3photo/158/AgADZwtrG0drKVA: acccb68d
2026-01-01 13:50:18,515 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/m3photo/156/AgADZQtrG0drKVA/2927294b
2026-01-01 13:50:18,515 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:18,515 - api_server - INFO - Query params: {}
2026-01-01 13:50:18,516 - api_server - INFO - Valid digest for media m3photo/156/AgADZQtrG0drKVA: 2927294b
2026-01-01 13:50:18,516 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/m3photo/161/AgADagtrG0drKVA/b28a6973
2026-01-01 13:50:18,517 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:18,517 - api_server - INFO - Query params: {}
2026-01-01 13:50:18,517 - api_server - INFO - Valid digest for media m3photo/161/AgADagtrG0drKVA: b28a6973
2026-01-01 13:50:18,518 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/m3photo/162/AgADawtrG0drKVA/7036e30e
2026-01-01 13:50:18,518 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:18,518 - api_server - INFO - Query params: {}
2026-01-01 13:50:18,518 - api_server - INFO - Valid digest for media m3photo/162/AgADawtrG0drKVA: 7036e30e
2026-01-01 13:50:18,518 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/m3photo/160/AgADaQtrG0drKVA/81b435de
2026-01-01 13:50:18,519 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:18,519 - api_server - INFO - Query params: {}
2026-01-01 13:50:18,519 - api_server - INFO - Valid digest for media m3photo/160/AgADaQtrG0drKVA: 81b435de
2026-01-01 13:50:18,615 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/artduende/307/AgADLBFrG0BSiUg/52dcb8a1
2026-01-01 13:50:18,615 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:18,615 - api_server - INFO - Query params: {}
2026-01-01 13:50:18,616 - api_server - INFO - Valid digest for media artduende/307/AgADLBFrG0BSiUg: 52dcb8a1
2026-01-01 13:50:18,686 - api_server - INFO - Found cached media file: /app/data/cache/artduende/307/AgADLBFrG0BSiUg
2026-01-01 13:50:18,693 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:32788 - "GET /media/artduende/307/AgADLBFrG0BSiUg/52dcb8a1 HTTP/1.1" 200 OK
2026-01-01 13:50:21,322 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:50:22,323 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:50:22,323 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:50:22,323 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:50:22,364 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:50:33,025 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:50:34,026 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:50:34,026 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:50:34,026 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:50:34,067 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:50:34,868 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/cynicmansion/2722/AgADVgxrGw6uqUg/49dd940a
2026-01-01 13:50:34,868 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Reeder/5050102 CFNetwork/1498.700.2 Darwin/23.6.0', 'accept': '*/*', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:34,868 - api_server - INFO - Query params: {}
2026-01-01 13:50:34,868 - api_server - INFO - Valid digest for media cynicmansion/2722/AgADVgxrGw6uqUg: 49dd940a
2026-01-01 13:50:36,673 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/cynicmansion/2727/AgADWwxrGw6uqUg/8fb3bcb7
2026-01-01 13:50:36,673 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:36,673 - api_server - INFO - Query params: {}
2026-01-01 13:50:36,673 - api_server - INFO - Valid digest for media cynicmansion/2727/AgADWwxrGw6uqUg: 8fb3bcb7
2026-01-01 13:50:36,674 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/cynicmansion/2726/AgADWAxrGw6uqUg/e369039c
2026-01-01 13:50:36,674 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:36,674 - api_server - INFO - Query params: {}
2026-01-01 13:50:36,675 - api_server - INFO - Valid digest for media cynicmansion/2726/AgADWAxrGw6uqUg: e369039c
2026-01-01 13:50:36,676 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/cynicmansion/2724/AgADWgxrGw6uqUg/2bd50745
2026-01-01 13:50:36,676 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:36,676 - api_server - INFO - Query params: {}
2026-01-01 13:50:36,677 - api_server - INFO - Valid digest for media cynicmansion/2724/AgADWgxrGw6uqUg: 2bd50745
2026-01-01 13:50:36,678 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/cynicmansion/2725/AgADWQxrGw6uqUg/ae7708e5
2026-01-01 13:50:36,678 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:36,678 - api_server - INFO - Query params: {}
2026-01-01 13:50:36,678 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/cynicmansion/2723/AgADVwxrGw6uqUg/100c98b0
2026-01-01 13:50:36,678 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:50:36,678 - api_server - INFO - Query params: {}
2026-01-01 13:50:36,678 - api_server - INFO - Valid digest for media cynicmansion/2725/AgADWQxrGw6uqUg: ae7708e5
2026-01-01 13:50:36,679 - api_server - INFO - Valid digest for media cynicmansion/2723/AgADVwxrGw6uqUg: 100c98b0
2026-01-01 13:50:36,733 - api_server - INFO - Found cached media file: /app/data/cache/cynicmansion/2727/AgADWwxrGw6uqUg
2026-01-01 13:50:36,735 - api_server - INFO - Found cached media file: /app/data/cache/cynicmansion/2726/AgADWAxrGw6uqUg
2026-01-01 13:50:36,740 - api_server - INFO - Found cached media file: /app/data/cache/cynicmansion/2723/AgADVwxrGw6uqUg
2026-01-01 13:50:36,745 - api_server - INFO - Found cached media file: /app/data/cache/cynicmansion/2724/AgADWgxrGw6uqUg
2026-01-01 13:50:36,748 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:51276 - "GET /media/cynicmansion/2727/AgADWwxrGw6uqUg/8fb3bcb7 HTTP/1.1" 200 OK
2026-01-01 13:50:36,754 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:51256 - "GET /media/cynicmansion/2723/AgADVwxrGw6uqUg/100c98b0 HTTP/1.1" 200 OK
2026-01-01 13:50:36,765 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:51270 - "GET /media/cynicmansion/2726/AgADWAxrGw6uqUg/e369039c HTTP/1.1" 200 OK
2026-01-01 13:50:36,768 - api_server - INFO - Response status: 200
INFO: 172.18.0.5:51288 - "GET /media/cynicmansion/2724/AgADWgxrGw6uqUg/2bd50745 HTTP/1.1" 200 OK
2026-01-01 13:50:44,644 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:50:45,645 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:50:45,645 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:50:45,645 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:50:45,687 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:50:56,324 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:50:57,325 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:50:57,325 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:50:57,325 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:50:57,368 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:51:08,096 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:51:09,097 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:51:09,097 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:51:09,097 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:51:09,141 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:51:19,801 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:51:19,802 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:51:19,802 - pyrogram.client - ERROR - 0
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/pyrogram/client.py", line 1165, in get_file
await Auth(
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 299, in create
raise e
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 215, in create
set_client_dh_params_answer = await self.invoke(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 80, in invoke
return self.unpack(response)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 73, in unpack
return TLObject.read(b)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/raw/core/tl_object.py", line 33, in read
return cast(TLObject, objects[int.from_bytes(b.read(4), "little")]).read(b, *args)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 0
2026-01-01 13:51:19,803 - api_server - ERROR - download_failed_zero_size: Downloaded file AgADsa8xG4tKtFM for foxsexandtoys/1644 is zero size or missing.
2026-01-01 13:51:19,803 - api_server - INFO - Removed zero-size file: /app/data/cache/foxsexandtoys/1644/AgADsa8xG4tKtFM
2026-01-01 13:51:19,803 - api_server - ERROR - Background download failed for foxsexandtoys/1644/AgADsa8xG4tKtFM: Downloaded file AgADsa8xG4tKtFM for foxsexandtoys/1644 is zero size or missing after download attempt.
2026-01-01 13:51:19,803 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:51:19,803 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:51:19,847 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:51:30,390 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:51:31,391 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:51:31,391 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:51:31,391 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:51:31,439 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:51:34,985 - api_server - INFO - Request: GET http://pgbridge.vvzvlad.xyz/media/cynicmansion/2722/AgADVgxrGw6uqUg/49dd940a
2026-01-01 13:51:34,986 - api_server - INFO - Headers: {'host': 'pgbridge.vvzvlad.xyz', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)', 'accept': 'image/webp,image/avif,image/jxl,image/heic,image/heic-sequence,video/*;q=0.8,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-GB,en;q=0.9', 'x-forwarded-for': '10.31.40.1', 'x-forwarded-host': 'pgbridge.vvzvlad.xyz', 'x-forwarded-port': '443', 'x-forwarded-proto': 'https', 'x-forwarded-server': 'f5213f166920', 'x-real-ip': '10.31.40.1'}
2026-01-01 13:51:34,986 - api_server - INFO - Query params: {}
2026-01-01 13:51:34,986 - api_server - INFO - Valid digest for media cynicmansion/2722/AgADVgxrGw6uqUg: 49dd940a
2026-01-01 13:51:42,020 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:51:43,021 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:51:43,021 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:51:43,021 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:51:43,066 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:51:53,667 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:51:54,673 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:51:54,673 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:51:54,673 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:51:54,720 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:52:05,556 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:52:06,557 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:52:06,557 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:52:06,557 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:52:06,604 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:52:17,311 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:52:18,311 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:52:18,311 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:52:18,311 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:52:18,353 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:52:28,910 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:52:28,910 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:52:28,910 - pyrogram.client - ERROR - 0
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/pyrogram/client.py", line 1165, in get_file
await Auth(
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 299, in create
raise e
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 215, in create
set_client_dh_params_answer = await self.invoke(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 80, in invoke
return self.unpack(response)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 73, in unpack
return TLObject.read(b)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/raw/core/tl_object.py", line 33, in read
return cast(TLObject, objects[int.from_bytes(b.read(4), "little")]).read(b, *args)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 0
2026-01-01 13:52:28,911 - api_server - ERROR - download_failed_zero_size: Downloaded file AgADYwtrG0drKVA for m3photo/154 is zero size or missing.
2026-01-01 13:52:28,911 - api_server - INFO - Removed zero-size file: /app/data/cache/m3photo/154/AgADYwtrG0drKVA
2026-01-01 13:52:28,911 - api_server - WARNING - zero_size_file_encountered: Downloaded file AgADYwtrG0drKVA for m3photo/154 is zero size or missing after download attempt.. Instructing client to retry.
2026-01-01 13:52:28,911 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:52:28,911 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:52:28,911 - api_server - INFO - Response status: 503
2026-01-01 13:52:28,956 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:52:39,500 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:52:40,503 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:52:40,503 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:52:40,503 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:52:40,546 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:52:51,277 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:52:52,277 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:52:52,278 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:52:52,278 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:52:52,318 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:53:02,975 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:53:03,975 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:53:03,976 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:53:03,976 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:53:04,021 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:53:14,564 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:53:15,565 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:53:15,565 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:53:15,565 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:53:15,608 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:53:26,311 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:53:27,310 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:53:27,310 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:53:27,310 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:53:27,353 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:53:37,886 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:53:37,886 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:53:37,886 - pyrogram.client - ERROR - 0
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/pyrogram/client.py", line 1165, in get_file
await Auth(
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 299, in create
raise e
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 215, in create
set_client_dh_params_answer = await self.invoke(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 80, in invoke
return self.unpack(response)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 73, in unpack
return TLObject.read(b)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/raw/core/tl_object.py", line 33, in read
return cast(TLObject, objects[int.from_bytes(b.read(4), "little")]).read(b, *args)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 0
2026-01-01 13:53:37,887 - api_server - ERROR - download_failed_zero_size: Downloaded file AgADRgtrGxQxkFA for m3photo/166 is zero size or missing.
2026-01-01 13:53:37,887 - api_server - INFO - Removed zero-size file: /app/data/cache/m3photo/166/AgADRgtrGxQxkFA
2026-01-01 13:53:37,887 - api_server - WARNING - zero_size_file_encountered: Downloaded file AgADRgtrGxQxkFA for m3photo/166 is zero size or missing after download attempt.. Instructing client to retry.
2026-01-01 13:53:37,887 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:53:37,887 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:53:37,888 - api_server - INFO - Response status: 503
2026-01-01 13:53:37,930 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:53:48,650 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:53:49,651 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:53:49,651 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:53:49,651 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:53:49,694 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:54:00,312 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:54:01,313 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:54:01,313 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:54:01,313 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:54:01,359 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:54:12,058 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:54:13,059 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:54:13,059 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:54:13,059 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:54:13,100 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:54:23,824 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:54:24,825 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:54:24,825 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:54:24,825 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:54:24,867 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:54:35,495 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:54:36,497 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:54:36,497 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:54:36,497 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:54:36,540 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:54:47,144 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:54:47,144 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:54:47,144 - pyrogram.client - ERROR - 0
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/pyrogram/client.py", line 1165, in get_file
await Auth(
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 299, in create
raise e
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 215, in create
set_client_dh_params_answer = await self.invoke(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 80, in invoke
return self.unpack(response)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/session/auth.py", line 73, in unpack
return TLObject.read(b)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyrogram/raw/core/tl_object.py", line 33, in read
return cast(TLObject, objects[int.from_bytes(b.read(4), "little")]).read(b, *args)
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 0
2026-01-01 13:54:47,145 - api_server - ERROR - download_failed_zero_size: Downloaded file AgADQgtrGweEiVE for m3photo/178 is zero size or missing.
2026-01-01 13:54:47,145 - api_server - INFO - Removed zero-size file: /app/data/cache/m3photo/178/AgADQgtrGweEiVE
2026-01-01 13:54:47,145 - api_server - WARNING - zero_size_file_encountered: Downloaded file AgADQgtrGweEiVE for m3photo/178 is zero size or missing after download attempt.. Instructing client to retry.
2026-01-01 13:54:47,145 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:54:47,145 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:54:47,146 - api_server - INFO - Response status: 503
2026-01-01 13:54:47,187 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
2026-01-01 13:54:57,897 - pyrogram.session.auth - INFO - Retrying due to KeyError: 0
2026-01-01 13:54:58,897 - pyrogram.connection.connection - INFO - Disconnected
2026-01-01 13:54:58,897 - pyrogram.session.auth - INFO - Start creating a new auth key on DC4
2026-01-01 13:54:58,897 - pyrogram.connection.connection - INFO - Connecting...
2026-01-01 13:54:58,940 - pyrogram.connection.connection - INFO - Connected! Production DC4 - IPv4
+35
View File
@@ -347,6 +347,24 @@ async def generate_channel_rss(channel: str | int,
except (errors.UsernameInvalid, errors.UsernameNotOccupied) as e:
logger.warning(f"Channel not found error for {channel}: {str(e)}")
return create_error_feed(channel, base_url)
except errors.FloodWait as e:
# Handle Telegram flood wait - wait for the specified duration and retry
wait_time = e.value
logger.warning(f"Telegram flood wait detected for channel '{channel}'. Waiting {wait_time} seconds before retry...")
await asyncio.sleep(wait_time)
logger.info(f"Flood wait completed for channel '{channel}', retrying get_chat...")
# Retry the get_chat operation after waiting
try:
channel_info = await post_parser.client.get_chat(channel)
channel_title = channel_info.title or f"Telegram: {channel}"
channel_username = channel_info.username or (str(channel_info.id) if channel_info.id and str(channel_info.id).startswith('-100') else None)
if not channel_username:
logger.warning(f"Could not get username for channel {channel} after flood wait, using identifier for error feed.")
return create_error_feed(str(channel), base_url)
except Exception as retry_e:
logger.error(f"Retry after flood wait failed for channel '{channel}': {str(retry_e)}", exc_info=True)
raise ValueError(f"Failed to get chat info for {channel} after flood wait: {str(retry_e)}") from retry_e
except Exception as e:
logger.error(f"Error during get_chat for channel '{channel}' (type: {type(channel)}): {str(e)}", exc_info=True) # Log error specifically for get_chat
# Re-raise the original exception to be caught by the outer handler if needed,
@@ -510,6 +528,23 @@ async def generate_channel_html(channel: str | int,
logger.warning(f"Channel not found error for {channel} in HTML generation: {str(e)}")
# Consider returning a dedicated HTML error page.
return create_error_feed(channel, base_url)
except errors.FloodWait as e:
# Handle Telegram flood wait - wait for the specified duration and retry
wait_time = e.value
logger.warning(f"Telegram flood wait detected for channel '{channel}' in HTML generation. Waiting {wait_time} seconds before retry...")
await asyncio.sleep(wait_time)
logger.info(f"Flood wait completed for channel '{channel}' in HTML generation, retrying get_chat...")
# Retry the get_chat operation after waiting
try:
channel_info = await post_parser.client.get_chat(channel)
channel_username = channel_info.username or (str(channel_info.id) if channel_info.id and str(channel_info.id).startswith('-100') else None)
if not channel_username:
logger.warning(f"Could not get username for channel {channel} after flood wait in HTML generation, returning error feed.")
return create_error_feed(str(channel), base_url)
except Exception as retry_e:
logger.error(f"Retry after flood wait failed for channel '{channel}' in HTML generation: {str(retry_e)}", exc_info=True)
raise ValueError(f"Failed to get chat info for {channel} after flood wait in HTML generation: {str(retry_e)}") from retry_e
except Exception as e:
logger.error(f"Error during get_chat for channel '{channel}' (type: {type(channel)}) in HTML generation: {str(e)}", exc_info=True)
raise ValueError(f"Failed to get chat info for {channel} in HTML generation: {str(e)}") from e