Size: a a a

Telethon Talks RU

2019 September 13

MC

Miumiu Canapé in Telethon Talks RU
просто эта функция сама отваливается и пишет что привышен лимит подождите 5 минут
источник

AS

Alexander Shavelev in Telethon Talks RU
Miumiu Canapé
просто эта функция сама отваливается и пишет что привышен лимит подождите 5 минут
ты пытаешь получить сразу ВСЕ сообщения?
источник

MC

Miumiu Canapé in Telethon Talks RU
а я хочу что бы она не ошибук выдавала а ждала
источник

MC

Miumiu Canapé in Telethon Talks RU
Alexander Shavelev
ты пытаешь получить сразу ВСЕ сообщения?
да
источник

AS

Alexander Shavelev in Telethon Talks RU
Miumiu Canapé
да
пффф, удачи)
источник

MC

Miumiu Canapé in Telethon Talks RU
Alexander Shavelev
пффф, удачи)
а можно выкачивать по 1000 задавая диапазон?
источник

MC

Miumiu Canapé in Telethon Talks RU
0-1000
1001-2000
итд
источник

AS

Alexander Shavelev in Telethon Talks RU
Miumiu Canapé
а можно выкачивать по 1000 задавая диапазон?
открывай доку, там точно есть или лимит, или min/max_id
источник

K0

Kobe 03:08 EEST in Telethon Talks RU
Exec:
from datetime import datetime as dt
from contextlib import suppress
before = dt.now()
with suppress(Exception):
async for m in client.iter_messages(event.chat_id):
 pass
diff = dt.now() - before
print(diff)


Output:
0:02:46.578444
источник

K0

Kobe 03:08 EEST in Telethon Talks RU
ща
источник

K0

Kobe 03:08 EEST in Telethon Talks RU
хочу посмотреть что будет)
источник

K0

Kobe 03:08 EEST in Telethon Talks RU
Exec:
ms = await client.get_messages(event.chat_id, limit=0)
print(ms.total)


Output:
15362
источник

NK

ID:313742192 in Telethon Talks RU
тут благодаря iter_messages
источник

NK

ID:313742192 in Telethon Talks RU
Кстати, раньше всё начиналось с такого

client.session.flood_sleep_threshold = 0

while True:
print('running at', time())
try:
 run
 n += 1
except FloodWaitError as e:
 print('fail at', time(), 'for', e.seconds, 'ran', n, 'ok')
 n = 0
 break
источник

NK

ID:313742192 in Telethon Talks RU
затем

workers = [self.iter_download(
   input_location,
   offset=i * chunk_size,
   stride=num_workers * chunk_size,
   request_size=chunk_size
) for i in range(num_workers)]
finished = False
while not finished:
   done, pending = await asyncio.wait([worker.__anext__() for worker in workers])
   for task in done:
       chunk = task.result()
       f.write(chunk)
       finished = len(chunk) < chunk_size
источник

NK

ID:313742192 in Telethon Talks RU
а сейчас достаточно

async for chunk in client.iter_download(...)
источник

NK

ID:313742192 in Telethon Talks RU
std::mpa🌲 поправь нас лохов плиз
источник

NK

ID:313742192 in Telethon Talks RU
я убёг, у меня Майкрософту кабзда пришла
источник

K0

Kobe 03:08 EEST in Telethon Talks RU
ID:313742192
тут благодаря iter_messages
так это то же самое почти)
источник

NK

ID:313742192 in Telethon Talks RU
всё верно
источник