#!/usr/bin/env python3
"""Update caption kisah story Pak Otto — HANYA TikTok & IG (FB tetap)."""
import sys, json, urllib.request
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import HEADERS, BASE

CAP = """Dari pikulan kayu, langkah kaki menyusuri jalanan, sampai akhirnya punya pintu ruko sendiri.

Awalnya nggak gampang. Berangkat dari resep dapur ibu di Semarang, melangkah jauh merantau hingga akhirnya membuka tempat sendiri di Sidoarjo. Bagi Pak Otto, setiap mangkok soto bukan cuma soal jualan, tapi tentang doa, rasa syukur, dan pelanggan pertama yang percaya.

Singgah yuk, nikmati hangatnya kuah soto ayam kampung asli di Warung Pak Otto! 🍲✨

📍 Jl. Graha Anggrek Mas No. C-16, Ruko Pagerwojo, Buduran, Sidoarjo

⏰ Buka Setiap Hari: 06.00 - 21.00 WIB

#SotoPakOtto #SotoSemarang #KulinerSidoarjo #CeritaRasa #PerjalananUsaha #DariPikulanKeRuko #KulinerJawaTimur"""

# hanya akun TikTok & IG
ONLY = {"6a86d70362caae1e04ffedef", "6a86d6e962caae1e04ffedaa"}  # TikTok, IG

found = []
for p in range(1, 80):
    raw = urllib.request.Request(f"{BASE}/public/schedule?page={p}&limit=100", headers=HEADERS)
    with urllib.request.urlopen(raw, timeout=30) as r:
        docs = json.load(r)["docs"]
    for d in docs:
        if d.get("accountId") in ONLY and (d.get("status") or "").lower() == "pending":
            title = d.get("title") or ""
            desc = d.get("description") or ""
            if "Kisah Story" in title or "soto_kisah_story_01" in desc or "Dari pikulan" in desc or "Kisah dari dapur" in desc.lower():
                found.append(d)

print(f"jadwal kisah story (TikTok+IG): {len(found)}")
for d in found:
    acc = (d.get("account") or {}).get("name", "?")
    payload = {
        "accountId": d.get("accountId"),
        "title": d.get("title", ""),
        "description": CAP,
        "topic": d.get("topic", ""),
        "type": d.get("type", ""),
        "medias": d.get("medias") or [],
        "scheduleAt": d.get("scheduleAt"),
        "replies": d.get("replies") or [],
    }
    req = urllib.request.Request(f"{BASE}/public/schedule/{d['id']}",
                                 data=json.dumps(payload).encode(),
                                 headers={**HEADERS, "Content-Type": "application/json"},
                                 method="PUT")
    try:
        with urllib.request.urlopen(req, timeout=30) as r:
            print(f"  ✅ {d.get('scheduleAt')} | {acc} | caption diganti (manual Bos)")
    except Exception as e:
        print(f"  ❌ {d['id']}: {e}")
