#!/usr/bin/env python3
"""
Post StudioSoft batch 20260708 → Threads (nested 2) + FB (album 7 slides) + LinkedIn (1 cover).
Scheduled untuk 2026-08-03 08:00/08:03/08:06 WIB.
"""
import json, sys
from datetime import datetime, timedelta

sys.path.insert(0, '/home/mantapman/.hermes/profiles/atun/workspace')
from repliz_client import ReplizClient, ACC

client = ReplizClient()

# ── Image URLs (sudah upload di WP, ids 6196-6202) ──
cover = "https://studiosoft.id/wp-content/uploads/2026/07/01_cover-25.png"
slides = [
    "https://studiosoft.id/wp-content/uploads/2026/07/01_cover-25.png",
    "https://studiosoft.id/wp-content/uploads/2026/07/slide_02-7.png",
    "https://studiosoft.id/wp-content/uploads/2026/07/slide_03-7.png",
    "https://studiosoft.id/wp-content/uploads/2026/07/slide_04-7.png",
    "https://studiosoft.id/wp-content/uploads/2026/07/slide_05-7.png",
    "https://studiosoft.id/wp-content/uploads/2026/07/slide_06-7.png",
    "https://studiosoft.id/wp-content/uploads/2026/07/slide_07-7.png",
]

def make_media(url, alt=""):
    return {"url": url, "type": "image", "alt": alt}

# ── Waktu (2026-08-03 WIB → UTC) ──
def wib(y, m, d, h, mi):
    dt = datetime(y, m, d, h, mi) - timedelta(hours=7)
    return dt.strftime("%Y-%m-%dT%H:%M:%S.000Z")

t_threads = wib(2026, 8, 3, 8, 0)   # 01:00 UTC
t_fb      = wib(2026, 8, 3, 8, 3)   # 01:03 UTC
t_li      = wib(2026, 8, 3, 8, 6)   # 01:06 UTC

# ── Captions (UNIK — angle beda dari 20260707) ──
THREADS_MAIN = (
    "Bisnis tumbuh bukan karena kebetulan, tapi karena strategi yang dijalankan "
    "konsisten tiap hari. Dari data sampai eksekusi, semua harus sinkron. 🔥\n"
    "\n"
    "studiosoft.id"
)

THREADS_R1 = (
    "Langkah pertama: kenali data pelanggan Anda. Siapa mereka, di mana mereka, "
    "apa yang mereka butuhkan. Tanpa data, strategi cuma nebak. 📊\n"
    "\n"
    "studiosoft.id"
)

THREADS_R2 = (
    "Langkah kedua: eksekusi yang konsisten lebih penting daripada rencana yang "
    "sempurna tapi gak pernah jalan. Mulai sekarang, evaluasi tiap minggu. ✅\n"
    "\n"
    "Konsultasi gratis — studiosoft.id"
)

FB_CAPTION = (
    "Bisnis yang bertumbuh itu bukan yang paling cepat, tapi yang paling konsisten "
    "menjalankan strateginya. 🚀\n"
    "\n"
    "Dari analisis data sampai eksekusi konten — tim StudioSoft membantu Anda membangun "
    "pertumbuhan bisnis berbasis data, selangkah demi selangkah. Yuk mulai dari sekarang "
    "dan konsultasi gratis!\n"
    "\n"
    "studiosoft.id\n"
    "\n"
    "#DigitalMarketing #StudioSoft #SEO #Branding #BisnisSurabaya #MarketingDigital #DataDriven"
)

LI_CAPTION = (
    "Pertumbuhan bisnis yang sehat dimulai dari keputusan berbasis data, bukan sekadar "
    "intuisi. Dengan strategi digital yang terukur, setiap langkah kelihatan jelas: "
    "mana yang efektif, mana yang perlu disesuaikan, dan mana yang bisa dioptimalkan.\n"
    "\n"
    "#DataDriven #DigitalMarketing #StudioSoft #Growth #BisnisSurabaya"
)

results = {}

# ── 1. Threads StudioSoft: main (cover image) + 2 nested text replies ──
main_res = client.create_schedule(
    ACC.STUDIOSOFT_THREADS, THREADS_MAIN, t_threads,
    title="Strategi Tumbuh Konsisten", topic="Digital Marketing",
    type_="image", medias=[make_media(cover, "01_cover.png")],
)
main_id = main_res.get("scheduleId") or main_res.get("id")
results["threads_main"] = main_id
print("Threads main:", main_id)

# reply 1 — nested
r1 = client.create_schedule(
    ACC.STUDIOSOFT_THREADS, THREADS_R1, t_threads,
    title="Langkah 1", topic="Digital Marketing",
    type_="text", replies=[main_id],
)
results["threads_r1"] = r1.get("scheduleId") or r1.get("id")
print("Threads r1:", results["threads_r1"])

# reply 2 — nested ke reply 1
r2 = client.create_schedule(
    ACC.STUDIOSOFT_THREADS, THREADS_R2, t_threads,
    title="Langkah 2", topic="Digital Marketing",
    type_="text", replies=[results["threads_r1"]],
)
results["threads_r2"] = r2.get("scheduleId") or r2.get("id")
print("Threads r2:", results["threads_r2"])

# ── 2. FB StudioSoft: album 7 slides ──
fb_res = client.create_schedule(
    ACC.STUDIOSOFT_FB, FB_CAPTION, t_fb,
    title="Strategi Tumbuh Konsisten", topic="Digital Marketing",
    type_="album",
    medias=[make_media(u, f"slide_{i+1}.png") for i, u in enumerate(slides)],
)
results["fb"] = fb_res.get("scheduleId") or fb_res.get("id")
print("FB:", results["fb"])

# ── 3. LinkedIn StudioSoft: 1 cover image ──
li_res = client.create_schedule(
    ACC.STUDIOSOFT_LINKEDIN, LI_CAPTION, t_li,
    title="Strategi Tumbuh Konsisten", topic="Digital Marketing",
    type_="image", medias=[make_media(cover, "01_cover.png")],
)
results["li"] = li_res.get("scheduleId") or li_res.get("id")
print("LinkedIn:", results["li"])

print(json.dumps(results, indent=2))
