#!/usr/bin/env python3
"""Pasang video Co Bloong ke TikTok EveryBe — caption dari Bos."""
import sys, json, urllib.request
from datetime import datetime, timedelta, timezone
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import HEADERS, BASE

EB_TT = "6aa27c1362caae1e041a8d6a"   # EveryBe TikTok (baru connect)
VIDEO_URL = "https://mantapserver.tail3947bb.ts.net/openclaw-img/everybe_cobloong_01.mp4"
WIB = timezone(timedelta(hours=7))
SLOTS = [5, 8, 11, 14, 17, 20, 23]

CAP = """Jadwal padat dan kerjaan menumpuk bikin badan capek semua? Tenang, solusinya ada di Everybe Co Bloong! Produk andalan buat redain pegal-pegal, hangatnya pas, wangi, dan bikin tidur lebih pulas setelah seharian beraktivitas berat.

Yuk, buat warga Situbondo, Bondowoso, Jember, dan sekitarnya yang butuh relaksasi pasca capek beraktivitas, wajib banget cobain produk ini!

Disaranin langsung sama @tuluskapianto di @plukplukmanagement. Dijamin mantap! ✨

#everybe #cobloong #setiaplangkahpasti #plukplukmanagement #tuluskapianto #pegalpegalhilang"""

# slot kosong
pend = []
for p in range(1, 60):
    r = urllib.request.Request(f"{BASE}/public/schedule?page={p}&limit=100", headers=HEADERS)
    with urllib.request.urlopen(r, timeout=30) as resp:
        docs = json.load(resp)["docs"]
    for d in docs:
        if d.get("accountId") == EB_TT and (d.get("status") or "").lower() == "pending":
            pend.append(d)
taken = {(d.get("scheduleAt") or "")[:13] for d in pend}
now = datetime.now(WIB)
day = now.replace(minute=0, second=0, microsecond=0)
slot = None
for _ in range(7):
    for h in SLOTS:
        cand = day.replace(hour=h)
        if cand <= now:
            continue
        if cand.astimezone(timezone.utc).strftime("%Y-%m-%dT%H") not in taken:
            slot = cand
            break
    if slot:
        break
    day += timedelta(days=1)

at = slot.astimezone(timezone.utc).strftime("%Y-%m-%dT%H:%M:%S.000Z")
print(f"🎯 slot: {slot.strftime('%d/%m %H:00 WIB')} (UTC {at})")

payload = {
    "accountId": EB_TT,
    "title": "EveryBe Co Bloong — TikTok",
    "description": CAP,
    "topic": "Co Bloong",
    "type": "video",
    "medias": [{"url": VIDEO_URL, "type": "video", "alt": "everybe_cobloong_01.mp4"}],
    "scheduleAt": at,
    "replies": [],
}
req = urllib.request.Request(f"{BASE}/public/schedule",
                             data=json.dumps(payload).encode(),
                             headers={**HEADERS, "Content-Type": "application/json"})
with urllib.request.urlopen(req, timeout=60) as r:
    res = json.load(r)
print("✅ Jadwal TikTok EveryBe dibuat | id:", res.get("_id") or res.get("id") or "?")
