#!/usr/bin/env python3
"""Perbaiki: (1) 2 jadwal uky duplikat → ganti quotes beda, (2) caption SS-image tanpa ajakan diskusi."""
import sys, json, re, urllib.request
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import HEADERS, BASE

def get(sid):
    req = urllib.request.Request(f"{BASE}/public/schedule/{sid}", headers=HEADERS)
    with urllib.request.urlopen(req, timeout=30) as r:
        return json.load(r)

def put(sid, payload):
    req = urllib.request.Request(f"{BASE}/public/schedule/{sid}",
                                 data=json.dumps(payload).encode(),
                                 headers={**HEADERS, "Content-Type": "application/json"},
                                 method="PUT")
    with urllib.request.urlopen(req, timeout=30) as r:
        return r.status

# ── 1) Quotes uky cadangan (belum dipakai) untuk ganti duplikat ──
CADANGAN = [
    ("Bisnis itu seperti resep masakan: bahannya sama, tapi yang membedakan adalah cara mengolahnya. 👨‍🍳\n\nStrategi digital marketing pun begitu — tools-nya sama, yang bikin beda adalah pemahaman pasar dan eksekusi yang konsisten. Saya selalu bilang: jangan cuma ikut tren, pahami dulu kenapa.\n\nApa 'bumbu rahasia' bisnismu? Cerita di komentar! 👇",
     "Resep yang sama bisa beda rasa — begitu juga bisnis. 😄"),
    ("Kesuksesan itu bukan soal seberapa cepat kamu sampai, tapi seberapa kuat kamu bertahan di jalan. 🛣️\n\nSaya sudah lihat banyak bisnis yang naik cepat tapi jatuh lebih cepat. Yang bertahan justru yang pelan tapi stabil: fondasi kuat, tim solid, dan pelanggan yang dijaga baik.\n\nMenurutmu, apa kunci supaya bisnis tidak cuma 'naik' tapi 'naik kelas'? 👇",
     "Cepat itu bonus, bertahan itu kemenangan. 💪"),
]

def hsh_q(t):
    import hashlib
    return hashlib.md5(t.encode()).hexdigest()[:16]

# state uky untuk tahu quotes yang sudah dipakai
STATE = json.load(open("/home/mantapman/.hermes/profiles/atun/workspace/threads_uky_ss_state.json"))
used_quotes = set(STATE.get("used_quotes", []))
print("used_quotes state:", len(used_quotes))

# pilih quotes cadangan yang belum dipakai
fix_map = {}  # jadwal_id -> (main, reply)
for main, reply in CADANGAN:
    if hsh_q(main) not in used_quotes and len(fix_map) < 2:
        fix_map[f"cadang_{len(fix_map)}"] = (main, reply)

# mapping jadwal duplikat → cadangan
DUP = {
    "6a969e52f197bea38583b19c": 0,  # 6 Sep 10:00 (q2 duplikat)
    "6a96a01bf197bea38583e409": 1,  # 8 Sep 10:00 (q2 duplikat)
}

for sid, idx in DUP.items():
    main, reply = CADANGAN[idx]
    d = get(sid)
    payload = {
        "accountId": d.get("accountId"),
        "title": d.get("title", ""),
        "description": main,
        "topic": d.get("topic", ""),
        "type": d.get("type", ""),
        "medias": d.get("medias") or [],
        "scheduleAt": d.get("scheduleAt"),
        "replies": [{"text": reply, "username": ""}],
    }
    try:
        put(sid, payload)
        print(f"  ✅ {d.get('scheduleAt')} | duplikat diganti quotes baru: {main[:45]}")
    except Exception as e:
        print(f"  ❌ {sid}: {e}")
