#!/usr/bin/env python3
"""EveryBe: jadwalkan konten Instagram PERTAMA untuk @theeverybe (prioritas #2 dari laporan KPI).
4 postingan gambar, 1 tiap 2 hari, jam 11:00 WIB. Pakai --apply untuk membuat."""
import sys, time
from datetime import datetime, timedelta, timezone

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
sys.path.insert(0, WS)
from repliz_client import get_client          # noqa: E402

client = get_client()
IG_ID = "6ac4347862caae1e0460ec25"            # @theeverybe (terhubung 6 Okt 2026)

POSTINGAN = [
    (8, "everybe_3152_5888064.webp",
     "Kulit terasa perih, kering, dan produk yang biasa dipakai jadi nggak nyaman? "
     "Itu tanda skin barrier sedang rusak.\n\n"
     "Kabar baiknya, barrier kulit bisa diperbaiki. Kuncinya cuma dua: berhenti dulu dari "
     "produk yang terlalu keras, lalu bantu kulit membangun kembali kelembapannya.\n\n"
     "Kami rangkum tandanya dan cara memperbaikinya di artikel — tautannya di bio ya.\n\n"
     "#skincare #skinbarrier #kulitsehat #everybe #perawatan kulit"),
    (10, "everybe_featured_3145.webp",
     "Kesegaran area kewanitaan itu bukan hal yang tabu dibicarakan, tapi sering diabaikan.\n\n"
     "Feminine V Spray dari EveryBe dibuat untuk dipakai harian: ringan, lembut, dan tidak "
     "meninggalkan rasa lengket. Cocok untuk yang aktif bergerak seharian.\n\n"
     "Detail produknya ada di tautan bio.\n\n"
     "#femininecare #kesehatanwanita #everybe #selfcare #kesegaranharian"),
    (12, "everybe_3153_4911255.webp",
     "Pegal setelah kerja atau olahraga itu wajar. Yang tidak wajar: membiarkannya berlarut "
     "sampai mengganggu tidur.\n\n"
     "Co Bloong dari EveryBe — krim pijat dengan sensasi hangat untuk membantu meredakan "
     "pegal linu dan otot yang kaku. Pakai sebelum tidur, besoknya badan terasa lebih ringan.\n\n"
     "Tautan produk di bio.\n\n"
     "#pegal linu #ototkaku #recovery #everybe #kesehatan"),
    (14, "everybe_selflove_new.webp",
     "Merawat diri itu bukan pemborosan. Ia cara paling murah untuk menjaga kepercayaan diri.\n\n"
     "Mulai dari yang sederhana: cukup tidur, minum air, dan pakai produk yang memang cocok "
     "untuk kulitmu. Konsisten, bukan mahal.\n\n"
     "Pilihan produk EveryBe ada di tautan bio.\n\n"
     "#selflove #selfcare #everybe #kesehatanwanita #kebugaran"),
]

print("=== rencana konten Instagram @theeverybe ===")
rencana = []
for hari, gambar, caption in POSTINGAN:
    hari_t = (datetime.now(timezone.utc) + timedelta(hours=7)).date() + timedelta(days=0)
    target = datetime(2026, 10, hari, 4, 0, 0, tzinfo=timezone.utc)      # 11:00 WIB
    rencana.append({"slot": target.strftime("%Y-%m-%dT%H:%M:%S.000Z"),
                    "wib": (target + timedelta(hours=7)).strftime("%d %b %H:%M"),
                    "gambar": gambar, "caption": caption,
                    "panjang": len(caption)})
    print(f"   {rencana[-1]['wib']} | {gambar:<34} | caption {len(caption):>4} karakter")
    print(f"      {caption[:96].replace(chr(10), ' ')}…")

print(f"\n   total: {len(rencana)} postingan | akun: @theeverybe ({IG_ID})")

if "--apply" not in sys.argv:
    print("\n(dry run — pakai --apply untuk menjadwalkan)")
    sys.exit(0)

print("\n=== menjadwalkan ===")
ok = gagal = 0
for r in rencana:
    try:
        hasil = client.schedule_image(IG_ID, r["caption"], r["slot"], f"{WS}/{r['gambar']}")
        sid = hasil.get("scheduleId") if isinstance(hasil, dict) else None
        if not sid:
            print(f"   ❌ {r['wib']} | {str(hasil)[:110]}")
            gagal += 1
            continue
        cek = client.get_schedule(sid)
        benar = isinstance(cek, dict) and cek.get("status") == "pending" and cek.get("type") == "image"
        ok += 1 if benar else 0
        gagal += 0 if benar else 1
        med = (cek.get("medias") or [{}])[0] if isinstance(cek, dict) else {}
        print(f"   {r['wib']} | {'✅' if benar else '⚠️'} | {cek.get('status')} | {str(med.get('url'))[-40:]}")
        time.sleep(1)
    except Exception as e:
        gagal += 1
        print(f"   ❌ {r['wib']} | {str(e)[:90]}")
print(f"\nselesai: berhasil {ok} | gagal {gagal}")
