#!/usr/bin/env python3
"""Cek same-day (6 Okt WIB) schedules per akun Threads: ada link domain sendiri atau tidak."""
import sys, json
from datetime import datetime, timedelta, timezone
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import get_client, ACC

WIB = timezone(timedelta(hours=7))
client = get_client()

ACC_MAP = {
    "studiosoft": (ACC.STUDIOSOFT_THREADS, "studiosoft.id"),
    "uky": (ACC.UKY_THREADS, "studiosoft.id"),
    "tslaw": (ACC.TSLAW_THREADS, "tslaw.id"),
    "tsc": (ACC.TSC_THREADS, "theskincodeclinic.com"),
    "das": (ACC.DAS_THREADS, "dasindonesia.com"),
}

all_docs = []
for p in range(1, 200):
    got = None
    for i in range(10):
        try:
            got = client.get_schedules(page=p, limit=100)
            break
        except Exception as e:
            print(f"retry page {p}", file=sys.stderr)
    if got is None:
        raise SystemExit("gagal fetch")
    b = got.get("docs", [])
    if not b:
        break
    all_docs.extend(b)
    if len(b) < 100:
        break

DATE = "2026-10-06"
for name, (aid, dom) in ACC_MAP.items():
    docs = [d for d in all_docs if d.get("accountId") == aid]
    same = []
    for d in docs:
        sa = d.get("scheduleAt")
        if not sa:
            continue
        try:
            dt = datetime.fromisoformat(str(sa).replace("Z", "+00:00")).astimezone(WIB)
        except Exception:
            continue
        if dt.strftime("%Y-%m-%d") == DATE:
            same.append((dt.hour, d))
    same.sort(key=lambda x: x[0])
    print(f"\n=== {name} — {len(same)} jadwal pada {DATE} ===")
    any_own = False
    for h, d in same:
        desc = (d.get("description") or "")
        has = dom in desc.lower()
        any_own = any_own or has
        print(f"  {h:02d}:00 status={d.get('status')} own_link={has} len={len(desc)}")
        if has:
            import re
            print("     links:", re.findall(r"https?://\S+", desc))
    print(f"  >> ADA link {dom} pada {DATE}: {any_own}")
