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

from repliz_client import HEADERS, BASE
from repliz_client import ACC

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

client = ReplizClient()

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

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

# ── Waktu (2026-08-01 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, 1, 8, 0)   # 01:00 UTC
t_fb      = wib(2026, 8, 1, 8, 3)   # 01:03 UTC
t_li      = wib(2026, 8, 1, 8, 6)   # 01:06 UTC

# ── Captions ──
THREADS_MAIN = (
    "Hari ini kita bahas strategi digital marketing yang bisa langsung diterapkan "
    "buat bisnis Anda! Dari SEO sampe social media, semua bisa dimulai langkah demi langkah. 🚀\n"
    "\n"
    "studiosoft.id"
)

THREADS_R1 = (
    "Tips pertama: pastikan website Anda cepat dan mobile-friendly. "
    "Kalo loading-nya lemot, calon pelanggan langsung kabur. ⚡\n"
    "\n"
    "studiosoft.id"
)

THREADS_R2 = (
    "Tips kedua: konsisten bikin konten yang relevan sama audiens. "
    "Kualitas lebih penting daripada kuantitas. ✨\n"
    "\n"
    "Konsultasi gratis — studiosoft.id"
)

FB_CAPTION = (
    "Hari ini kita bahas strategi digital marketing yang bisa langsung diterapkan buat bisnis Anda! 🚀\n"
    "\n"
    "Dari optimasi website sampai social media strategy — tim StudioSoft sudah merangkum tips dan trik yang teruji. "
    "Yuk simak dan konsultasi gratis!\n"
    "\n"
    "studiosoft.id\n"
    "\n"
    "#DigitalMarketing #StudioSoft #SEO #Branding #BisnisSurabaya #MarketingDigital"
)

LI_CAPTION = (
    "Digital marketing bukan lagi pilihan, tapi kebutuhan untuk bisnis yang ingin bertumbuh. "
    "Dari SEO, optimasi website, hingga social media strategy — semua saling terhubung untuk mendorong pertumbuhan "
    "bisnis berbasis data.\n"
    "\n"
    "#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="Digital Marketing Strategy", 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="Tips 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="Tips 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="Digital Marketing Strategy", 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="Digital Marketing Strategy", 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))
