Workaround for LimitInvalidError
This commit is contained in:
parent
599eb29c4c
commit
d695dd9e9b
|
@ -6,6 +6,7 @@ import yaml
|
|||
from aiohttp import web
|
||||
from telethon import TelegramClient
|
||||
from telethon.utils import _get_file_info
|
||||
from telethon.client.downloads import _GenericDownloadIter
|
||||
|
||||
with open('config.yaml') as file:
|
||||
config = yaml.safe_load(file)
|
||||
|
@ -61,7 +62,13 @@ async def handler(request):
|
|||
if tmp_offset > size:
|
||||
tmp_offset -= size
|
||||
continue
|
||||
async for chunk in client._iter_download(i, offset=tmp_offset, msg_data=(chat_id, i.id)):
|
||||
stream = client._iter_download(i, offset=tmp_offset, request_size=131072, msg_data=(chat_id, i.id))
|
||||
if isinstance(stream, _GenericDownloadIter):
|
||||
__load_next_chunk = stream._load_next_chunk
|
||||
def _load_next_chunk(mask=131071):
|
||||
return __load_next_chunk(mask=mask)
|
||||
stream._load_next_chunk = _load_next_chunk
|
||||
async for chunk in stream:
|
||||
yield chunk[:tmp_length]
|
||||
tmp_length -= len(chunk)
|
||||
if tmp_length < 1:
|
||||
|
|
Loading…
Reference in New Issue