feat(scraper): WA 群 scraper(businessFriendList+type=1,待风控重置后实测)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -69,6 +69,7 @@ from app.sync.orchestrator import (
|
||||
sync_wechat_voice_calls,
|
||||
sync_whatsapp_accounts,
|
||||
sync_whatsapp_friends,
|
||||
sync_whatsapp_groups,
|
||||
sync_whatsapp_messages,
|
||||
)
|
||||
|
||||
@@ -178,6 +179,12 @@ async def _run_wa_friends(
|
||||
return [await sync_whatsapp_friends(session, client)]
|
||||
|
||||
|
||||
async def _run_wa_groups(
|
||||
session: AsyncSession, client: YunkeClient, store: ObjectStore
|
||||
) -> list[SyncResult]:
|
||||
return [await sync_whatsapp_groups(session, client)]
|
||||
|
||||
|
||||
async def _run_phone_calls(
|
||||
session: AsyncSession, client: YunkeClient, store: ObjectStore
|
||||
) -> list[SyncResult]:
|
||||
@@ -274,6 +281,10 @@ async def _run_all(
|
||||
# which ``_run_all_wechat`` seeds via sync_departments — so order matters.
|
||||
results.append(await sync_whatsapp_accounts(session, client))
|
||||
results.append(await sync_whatsapp_friends(session, client))
|
||||
# WA chat-groups: share the ChatGroup table with wechat groups (channel
|
||||
# distinguishes). Same department_id dependency as wa_friends. UNVERIFIED
|
||||
# group-type switch — see scrape_whatsapp_groups.
|
||||
results.append(await sync_whatsapp_groups(session, client))
|
||||
# WA messages: per-conversation incremental sync, discovered from the
|
||||
# already-mirrored ``customer`` table (channel='whatsapp'). Must run
|
||||
# AFTER wa_friends (which seeds the customer rows the discovery reads).
|
||||
@@ -307,6 +318,7 @@ ENTITY_FUNCS: dict[
|
||||
"wa_voice_calls": _run_wa_voice_calls,
|
||||
"wa_accounts": _run_wa_accounts,
|
||||
"wa_friends": _run_wa_friends,
|
||||
"wa_groups": _run_wa_groups,
|
||||
"phone_calls": _run_phone_calls,
|
||||
"sms": _run_sms,
|
||||
"voice_clips": _run_voice_clips,
|
||||
|
||||
Reference in New Issue
Block a user