#!/usr/bin/env python3
"""EveryBe Threads: bank konten KESEHATAN KEWANITAAN, dijadwalkan 1/hari (jam terpisah dari slot artikel).
Caption wajib ≤480 karakter (batas Threads 500). Pakai --apply untuk menjadwalkan."""
import json, 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, ACC          # noqa: E402

client = get_client()
BATAS = 480

# Konten edukasi kesehatan kewanitaan. Nada: informatif, tidak menghakimi, tanpa janji sembuh.
# Kalau menyangkut keluhan yang perlu pemeriksaan, arahkan ke tenaga kesehatan.
BANK = [
    "Keputihan itu normal. Yang perlu diperhatikan: kalau warnanya berubah jadi kehijauan atau berbau menyengat, itu tanda perlu diperiksa.\n\nKamu pernah bingung membedakan yang normal dan tidak?",
    "Bau tidak sedap di area kewanitaan sering bukan soal kebersihan, tapi soal pH yang berubah. Sabun wangi dan cairan pembersih keras justru sering jadi penyebabnya.\n\nProduk apa yang biasa kamu pakai?",
    "pH area kewanitaan itu asam, dan itu memang melindunginya. Yang merusak: sabun mandi biasa, douching, dan pakaian dalam yang tidak menyerap keringat.\n\nSeberapa sering kamu ganti pakaian dalam dalam sehari?",
    "Saat haid, idealnya pembalut diganti tiap 3-4 jam. Bukan karena kotor, tapi karena darah adalah tempat bakteri berkembang biak.\n\nKamu termasuk yang ganti rutin, atau menunggu penuh?",
    "Gatal berkepanjangan jangan dibiarkan atau diobati sendiri dengan krim sembarangan. Sering penyebabnya berbeda dari yang kita duga.\n\nPernah mengalami yang seperti ini?",
    "Infeksi jamur sering dimulai dari hal yang sepele: pakaian dalam yang lembap setelah olahraga, atau celana ketat sepanjang hari.\n\nKebiasaan mana yang paling susah kamu hindari?",
    "Apakah pantyliner perlu dipakai tiap hari? Menurut saya tidak. Kalau dipakai terus-menerus tanpa jeda, sirkulasi udara justru terganggu.\n\nKamu termasuk pemakai harian?",
    "Menopause dini bisa muncul sebelum usia 45. Gejalanya sering dikira hal biasa: haid tidak teratur, keringat malam, dan mudah lelah.\n\nAda yang pernah membicarakannya dengan dokter?",
    "Stres ternyata berpengaruh ke siklus haid. Bukan mitos — hormon yang mengatur siklus memang terhubung dengan kondisi psikologis kita.\n\nSiklusmu pernah telat karena beban pikiran?",
    "Vagina kering bukan hal yang tabu dibicarakan. Penyebabnya bisa hormonal, efek pengobatan, atau setelah melahirkan.\n\nKalau mengalaminya, apa yang kamu lakukan?",
    "Kulit area kewanitaan itu tipis dan sensitif. Karena itu produk beraroma kuat, scrub, dan pembersih dengan busa banyak sebaiknya dihindari.\n\nMenurutmu, produk yang lembut itu yang seperti apa?",
    "Mitos: area kewanitaan harus wangi. Faktanya: yang penting itu sehat, bukan beraroma. Bau parfum di area itu justru sering memicu iritasi.\n\nSetuju?",
    "Setelah berolahraga, sebaiknya langsung ganti pakaian dalam. Keringat yang tertahan lama adalah kondisi favorit untuk jamur tumbuh.\n\nSeberapa cepat kamu biasanya ganti setelah olahraga?",
    "Sakit saat berhubungan bukan sesuatu yang harus ditahan. Kalau berulang, itu tanda untuk diperiksa, bukan untuk diabaikan.\n\nKalau ini terjadi pada temanmu, apa yang akan kamu sarankan?",
    "Cek kesehatan reproduksi bukan cuma untuk yang sudah menikah. Setelah aktif secara seksual, pemeriksaan berkala sebaiknya mulai dijalankan.\n\nKapan terakhir kamu periksa?",
    "Makanan berpengaruh ke kesehatan reproduksi. Yang membantu: sayuran hijau, ikan, dan cukup air. Yang mengganggu: gula berlebih dan makanan olahan.\n\nMana yang paling susah kamu jaga?",
    "Kurang minum air itu sering terlihat di kulit dan area kewanitaan. Cukup 8 gelas sehari, dan lebih kalau cuaca panas.\n\nSudah minum berapa gelas hari ini?",
    "Bau saat haid biasanya normal, tapi kalau menyengat sampai mengganggu, itu tanda lain. Ganti pembalut lebih sering biasanya sudah membantu.\n\nAda tips lain dari kamu?",
    "Celana ketat dan bahan sintetis menghambat sirkulasi udara. Menurut saya salah satu perubahan paling murah untuk kesehatan kewanitaan adalah memilih bahan katun.\n\nKamu tim katun atau tim model?",
    "Perawatan setelah melahirkan sering diabaikan. Padahal tubuh butuh waktu, dan keluhan seperti kering atau nyeri itu bukan sesuatu yang harus ditahan sendiri.\n\nKalau ada ibu baru di sini, apa yang ingin kamu sarankan?",
]

MULAI_BESOK = (datetime.now(timezone.utc) + timedelta(hours=7)).date() + timedelta(days=1)
JAM_WIB = 12          # 12:00 WIB — terpisah dari slot artikel 19:00

rencana = []
for i, teks in enumerate(BANK):
    hari = MULAI_BESOK + timedelta(days=i)
    slot = datetime(hari.year, hari.month, hari.day, (JAM_WIB - 7) % 24, 7, 0, tzinfo=timezone.utc)
    rencana.append({"teks": teks, "slot": slot.strftime("%Y-%m-%dT%H:%M:%S.000Z"),
                    "wib": (slot + timedelta(hours=7)).strftime("%d %b %H:%M"), "panjang": len(teks)})

print(f"bank kesehatan kewanitaan: {len(rencana)} entri\n")
over = [r for r in rencana if r["panjang"] > BATAS]
print(f"   caption terpanjang: {max(r['panjang'] for r in rencana)} karakter (batas aman {BATAS}, batas platform 500)")
print(f"   melewati batas aman: {len(over)}")
print(f"   memuat pertanyaan: {sum(1 for r in rencana if '?' in r['teks'])}/{len(rencana)}")
for r in rencana[:6]:
    print(f"\n   {r['wib']} | {r['panjang']} karakter")
    print("      " + r["teks"].replace("\n", " / ")[:150])

if "--apply" not in sys.argv:
    print("\n(dry run — pakai --apply)")
    json.dump(rencana, open(f"{WS}/drafts/everybe_threads_kesehatan.json", "w"), indent=1, ensure_ascii=False)
    sys.exit(0)

print("\n=== menjadwalkan ===")
ok = gagal = 0
for r in rencana:
    try:
        hasil = client.schedule_text(ACC.EVERYBE_THREADS, r["teks"], r["slot"])
        sid = hasil.get("scheduleId") if isinstance(hasil, dict) else None
        cek = client.get_schedule(sid) if sid else {}
        benar = isinstance(cek, dict) and cek.get("status") == "pending" and str(cek.get("scheduleAt", ""))[:16] == r["slot"][:16]
        ok += 1 if benar else 0
        gagal += 0 if benar else 1
        print(f"   {r['wib']} | {'✅' if benar else '⚠️'} | id {sid}")
        time.sleep(0.4)
    except Exception as e:
        gagal += 1
        print(f"   ❌ {r['wib']} | {str(e)[:70]}")
print(f"\nselesai: berhasil {ok} | gagal {gagal}")
