fix: dc error

This commit is contained in:
xtaodada 2023-09-14 21:43:30 +08:00
parent cfc67e5ae8
commit a15b6a1675
Signed by: xtaodada
GPG Key ID: 4CBB3F4FA8C85659

View File

@ -2,6 +2,7 @@ from typing import List, Dict
from cashews import cache
from telethon import TelegramClient
from telethon.errors import StatsMigrateError
from telethon.tl.functions.stats import GetMegagroupStatsRequest
from telethon.utils import get_input_channel
from telethon.tl.types.stats import MegagroupStats
@ -12,8 +13,15 @@ cache.setup("mem://")
@cache(ttl="1h", key="{cid}")
async def get_group_data(cid: int, client: TelegramClient) -> List[Dict]:
group = get_input_channel(await client.get_input_entity(cid))
result: MegagroupStats = await client(GetMegagroupStatsRequest(
channel=group,
dark=True
))
try:
result: MegagroupStats = await client(GetMegagroupStatsRequest(
channel=group,
dark=True
))
except StatsMigrateError as e:
sender = await client._borrow_exported_sender(e.dc)
result: MegagroupStats = await client._call(sender, GetMegagroupStatsRequest(
channel=group,
dark=True
))
return [i.to_dict() for i in result.top_posters]