mirror of
https://github.com/PaiGramTeam/luoxu-analytics-plugin.git
synced 2024-11-21 22:58:22 +00:00
fix: dc error
This commit is contained in:
parent
cfc67e5ae8
commit
a15b6a1675
@ -2,6 +2,7 @@ from typing import List, Dict
|
|||||||
|
|
||||||
from cashews import cache
|
from cashews import cache
|
||||||
from telethon import TelegramClient
|
from telethon import TelegramClient
|
||||||
|
from telethon.errors import StatsMigrateError
|
||||||
from telethon.tl.functions.stats import GetMegagroupStatsRequest
|
from telethon.tl.functions.stats import GetMegagroupStatsRequest
|
||||||
from telethon.utils import get_input_channel
|
from telethon.utils import get_input_channel
|
||||||
from telethon.tl.types.stats import MegagroupStats
|
from telethon.tl.types.stats import MegagroupStats
|
||||||
@ -12,8 +13,15 @@ cache.setup("mem://")
|
|||||||
@cache(ttl="1h", key="{cid}")
|
@cache(ttl="1h", key="{cid}")
|
||||||
async def get_group_data(cid: int, client: TelegramClient) -> List[Dict]:
|
async def get_group_data(cid: int, client: TelegramClient) -> List[Dict]:
|
||||||
group = get_input_channel(await client.get_input_entity(cid))
|
group = get_input_channel(await client.get_input_entity(cid))
|
||||||
|
try:
|
||||||
result: MegagroupStats = await client(GetMegagroupStatsRequest(
|
result: MegagroupStats = await client(GetMegagroupStatsRequest(
|
||||||
channel=group,
|
channel=group,
|
||||||
dark=True
|
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]
|
return [i.to_dict() for i in result.top_posters]
|
||||||
|
Loading…
Reference in New Issue
Block a user