#!/usr/bin/env python3
"""Post ss_batch_20260715 — StudioSoft: E-commerce untuk Pemula.
Threads (cover + 2 nested) + FB (album 7 slides) + LinkedIn (1 image).
Schedule: 2026-08-10 08:00 / 08:03 / 08:06 WIB = UTC 01:00 / 01:03 / 01:06.
"""
import json, sys
sys.path.insert(0, '/home/mantapman/.hermes/profiles/atun/workspace')
from repliz_client import ReplizClient, ACC

client = ReplizClient()

COVER = "https://studiosoft.id/wp-content/uploads/2026/07/01_cover-32.png"
SLIDES = [
    "https://studiosoft.id/wp-content/uploads/2026/07/01_cover-32.png",
    "https://studiosoft.id/wp-content/uploads/2026/07/slide_02-14.png",
    "https://studiosoft.id/wp-content/uploads/2026/07/slide_03-14.png",
    "https://studiosoft.id/wp-content/uploads/2026/07/slide_04-14.png",
    "https://studiosoft.id/wp-content/uploads/2026/07/slide_05-14.png",
    "https://studiosoft.id/wp-content/uploads/2026/07/slide_06-14.png",
    "https://studiosoft.id/wp-content/uploads/2026/07/slide_07-14.png",
]

THREADS_ACC = ACC.STUDIOSOFT_THREADS  # 6a335b9ec5ff4ce3a3225c2a
FB_ACC = ACC.STUDIOSOFT_FB            # 6a334952c5ff4ce3a3225941
LI_ACC = ACC.STUDIOSOFT_LINKEDIN      # 6a334c49c5ff4ce3a32259c9

# Schedule Aug 10, 2026 (WIB 08:00 / 08:03 / 08:06) = UTC 01:00 / 01:03 / 01:06
THREADS_AT = "2026-08-10T01:00:00.000Z"
FB_AT      = "2026-08-10T01:03:00.000Z"
LI_AT      = "2026-08-10T01:06:00.000Z"

# ---- Threads caption (max 500 char) ----
threads_main = (
    "E-commerce untuk pemula? Bisa banget! Toko online sendiri kini bisa "
    "dibangun tanpa platform pihak ketiga yang ribet.\n\n"
    "Mulai dari pemilihan produk, halaman toko, sampai sistem pembayaran — "
    "semua bisa diatur pelan-pelan.\n\n"
    "studiosoft.id\n\n"
    "Pernah coba jualan online? Ceritakan pengalaman Anda di kolom komentar!"
)
threads_reply1 = (
    "Intinya: mulai kecil dulu, konsisten, lalu evaluasi. Jangan menunggu sempurna "
    "untuk mulai — toko online yang berjalan lebih baik dari rencana yang tertunda. 💪"
)
threads_reply2 = (
    "Butuh bantuan bikin toko online? StudioSoft siap bantu dari nol sampai jalan. "
    "Konsultasi gratis di studiosoft.id"
)

# ---- FB caption (2 paragraf + hashtags + diskusi hook) ----
fb_caption = (
    "Hari ini kita bahas cara mulai e-commerce untuk pemula! 🚀\n\n"
    "Banyak orang ingin jualan online tapi bingung mulai dari mana. Kabar baiknya, "
    "membangun toko online sendiri kini jauh lebih mudah — tanpa harus bergantung "
    "pada platform pihak ketiga. Mulai dari pilih produk, atur halaman toko, "
    "sampai integrasi pembayaran, semua bisa dikerjakan langkah demi langkah.\n\n"
    "Yuk konsultasi gratis bareng tim StudioSoft!\n\n"
    "studiosoft.id\n\n"
    "#Ecommerce #TokoOnline #StudioSoft #WebDeveloper #BisnisOnline #UMKMSurabaya #DigitalMarketing\n\n"
    "Kalau harus pilih satu platform untuk fokus tahun ini, pilih yang mana — dan kenapa?"
)

# ---- LinkedIn caption (1 paragraf) ----
li_caption = (
    "Memulai e-commerce tidak harus menunggu sempurna. Data menunjukkan bahwa mayoritas "
    "pemilik toko online pemula justru belajar sambil berjalan — memilih produk, "
    "menyiapkan halaman, lalu menyempurnakan sistem pembayaran seiring berjalannya waktu.\n\n"
    "Kunci suksesnya bukan pada platform yang mahal, tapi pada konsistensi dan kesediaan "
    "untuk terus mengevaluasi. Toko online milik sendiri memberi Anda kontrol penuh atas "
    "brand, data, dan margin — aset yang tidak bisa didapat dari marketplace.\n\n"
    "Bersama StudioSoft, kami bantu Anda membangun toko online dari nol hingga siap beroperasi "
    "dengan desain yang menarik dan sistem yang mudah dikelola.\n\n"
    "studiosoft.id\n\n"
    "Pertanyaan untuk Anda: lebih pilih jualan di marketplace atau punya toko online sendiri? Kenapa?"
)

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

results = {}

# 1. Threads: main (image cover) + 2 nested text replies
try:
    medias = [make_media(COVER, "01_cover.png")]
    r = client.create_schedule(THREADS_ACC, threads_main, THREADS_AT,
                               title="", type_="image", medias=medias, topic="")
    sid = r.get("scheduleId") or r.get("_id") or r.get("id") or "unknown"
    results["threads_main"] = sid
    print(f"✅ Threads main: {sid}")

    r1 = client.create_schedule(THREADS_ACC, threads_reply1, THREADS_AT,
                                title="", type_="text")
    s1 = r1.get("scheduleId") or r1.get("_id") or r1.get("id") or "unknown"
    results["threads_reply1"] = s1
    print(f"✅ Threads reply1: {s1}")

    r2 = client.create_schedule(THREADS_ACC, threads_reply2, THREADS_AT,
                                title="", type_="text")
    s2 = r2.get("scheduleId") or r2.get("_id") or r2.get("id") or "unknown"
    results["threads_reply2"] = s2
    print(f"✅ Threads reply2: {s2}")
except Exception as e:
    print(f"❌ Threads error: {e}")
    import traceback; traceback.print_exc()

# 2. FB: album with 7 slides
try:
    fb_medias = [make_media(u, f"slide_{i}.png") for i, u in enumerate(SLIDES, 1)]
    r = client.create_schedule(FB_ACC, fb_caption, FB_AT,
                               title="", type_="album", medias=fb_medias, topic="")
    sid = r.get("scheduleId") or r.get("_id") or r.get("id") or "unknown"
    results["fb"] = sid
    print(f"✅ FB album: {sid}")
except Exception as e:
    print(f"❌ FB error: {e}")
    import traceback; traceback.print_exc()

# 3. LinkedIn: 1 image (cover)
try:
    li_medias = [make_media(COVER, "01_cover.png")]
    r = client.create_schedule(LI_ACC, li_caption, LI_AT,
                               title="", type_="image", medias=li_medias, topic="")
    sid = r.get("scheduleId") or r.get("_id") or r.get("id") or "unknown"
    results["linkedin"] = sid
    print(f"✅ LinkedIn: {sid}")
except Exception as e:
    print(f"❌ LinkedIn error: {e}")
    import traceback; traceback.print_exc()

print("\n=== RESULTS ===")
print(json.dumps(results, indent=2))

with open("post_ss_20260715_result.json", "w") as f:
    json.dump(results, f, indent=2, ensure_ascii=False)
