<Ч
Size: a a a
<Ч
ВТ
<Ч
ВТ
OA
AR
OA
ЕП
sessions = []Не работает:
sessions.append(dp.start_polling())
await asyncio.gather(*sessions)
raise RuntimeError('Timeout context manager should be used '
RuntimeError: Timeout context manager should be used inside a task
ERROR:asyncio:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f7209ffadc0>
Уточню: помимо этого там ещё две Telethon-учётки стартуют, поэтому надо как-то вокруг этого плясатьAS
sessions = []Не работает:
sessions.append(dp.start_polling())
await asyncio.gather(*sessions)
raise RuntimeError('Timeout context manager should be used '
RuntimeError: Timeout context manager should be used inside a task
ERROR:asyncio:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f7209ffadc0>
Уточню: помимо этого там ещё две Telethon-учётки стартуют, поэтому надо как-то вокруг этого плясатьЕП
T
sessions = []Не работает:
sessions.append(dp.start_polling())
await asyncio.gather(*sessions)
raise RuntimeError('Timeout context manager should be used '
RuntimeError: Timeout context manager should be used inside a task
ERROR:asyncio:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f7209ffadc0>
Уточню: помимо этого там ещё две Telethon-учётки стартуют, поэтому надо как-то вокруг этого плясатьЕП
ЕП
async def run_client(client):
async with client:
await client.start()
await client.run_until_disconnected()
async def main():
accounts = await dbworker.get_accounts()
sessions = []
for account in accounts:
sessions.append(run_client(TelegramClient(StringSession(account[2]), config.app_id, config.app_hash)))
sessions.append(dp.start_polling()) # добавил только это
await asyncio.gather(*sessions)
if __name__ == '__main__':
asyncio.run(main())
T
ЕП
daemon=True, чтобы прибивался при завершении основного потока, но хочется красивоMV
exceptions.BotBlocked от exceptions.UserDeactivated ?T
MV
п
ЕП
async def run_client(client):
async with client:
await client.start()
await client.run_until_disconnected()
async def main():
accounts = await dbworker.get_accounts()
sessions = []
for account in accounts:
sessions.append(run_client(TelegramClient(StringSession(account[2]), config.app_id, config.app_hash)))
sessions.append(dp.start_polling()) # добавил только это
await asyncio.gather(*sessions)
if __name__ == '__main__':
asyncio.run(main())
RuntimeError: Timeout context manager should be used inside a task