#!/usr/bin/env python3
"""
Threads DAS — MITOS vs FAKTA MOBIL (FIXED 7 Sep 2026, instruksi Bos).
DAS jawab sebagai PAKAR MOBIL + ajak orang diskusi. Link artikel dasindonesia.com (yang belum dipakai).
"""
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

WIB = timezone(timedelta(hours=7))
DAS_T = "6a39e461c5ff4ce3a3233e09"
SLOTS = [5, 8, 11, 14, 17, 20, 23]

# ── Bank MITOS vs FAKTA (jawaban DAS sebagai pakar) + link artikel pendukung ──
KONTEN = [
    ("Mitos: 'Mobil premium nggak perlu servis rutin, mumpung mesinnya canggih'",
     "FAKTANYA justru sebaliknya — mobil premium butuh perawatan lebih disiplin. Teknologi canggih = komponen lebih banyak yang harus dijaga. Kalau dilewatkan, kerusakan kecil jadi biaya besar.",
     "https://dasindonesia.com/mitos-vs-fakta-perawatan-mobil-premium/",
     "Ada mitos perawatan mobil lain yang pernah kamu dengar? Tulis di komentar, nanti DAS jawab! 👇"),
    ("Mitos: 'Aki mobil dicabut pas lama nggak dipakai biar awet'",
     "Bukan soal dicabut atau nggak — yang penting tegangan tetap terjaga. Mobil yang lama mangkrak malah aki-nya cepat soak karena nggak dicharge. Kalau mau simpan lama, pakai trickle charger atau rutin nyalakan mesin.",
     "https://dasindonesia.com/5-tips-merawat-aki-mobil-agar-awet-dan-tidak-mudah-soak-2",
     "Mobilmu sering mangkrak? Share pengalaman soal aki di komentar! 👇"),
    ("Mitos: 'Overhaul itu mahal, mending nunggu rusak total baru diperbaiki'",
     "Justru overhaul DINI lebih hemat. Kalau nunggu darurat, kerusakan sudah menjalar ke komponen lain — biayanya bisa 2-3 kali lipat. Perawatan rutin itu investasi, bukan pengeluaran.",
     "https://dasindonesia.com/overhaul-dini-vs-overhaul-darurat-mana-lebih-menghemat/",
     "Pernah ngalamin overhaul? Cerita pengalamanmu di komentar! 👇"),
    ("Mitos: 'Mobil bekas nggak bisa se-awet mobil baru'",
     "Kalau perawatannya benar, mobil bekas bisa sangat awet — bahkan lebih teruji. Kuncinya: riwayat servis jelas, komponen dicek berkala, dan ditangani bengkel yang paham spesifikasi mobilnya.",
     "https://dasindonesia.com/servis-berkala-nissan-untuk-mobil-bekas-panduan-wajib-agar-awet",
     "Kamu pengguna mobil bekas? Tips apa yang paling membantumu? Komen di bawah! 👇"),
    ("Mitos: 'Suku cadang aftermarket sama aja kualitasnya, lebih murah'",
     "Nggak semua aftermarket jelek — tapi risikonya ada. Untuk komponen krusial (mesin, rem, transmisi) mobil premium, original lebih aman karena sudah diuji sesuai spesifikasi. Jangan cuma lihat harga.",
     "https://dasindonesia.com/suku-cadang-original-vs-aftermarket-mobil-premium/",
     "Pernah tertipu suku cadang? Cerita di komentar biar yang lain waspada! 👇"),
    ("Mitos: 'Oli mahal = pasti bagus untuk semua mobil'",
     "Yang penting bukan harganya, tapi SPESIFIKASI-nya. Oli harus sesuai standar pabrikan mobilmu — viskositas & sertifikasi yang benar. Oli mahal tapi salah spesifikasi bisa bikin mesin cepat aus.",
     "https://dasindonesia.com/panduan-memilih-oli-mesin-untuk-mobil-premium",
     "Kamu pakai oli apa sekarang? Share di komentar! 👇"),
    ("Mitos: 'Mobil sering dipakai itu lebih cepat rusak'",
     "Justru mobil yang jarang dipakai lebih rawan — oli mengendap, aki soak, seal mengering. Mobil yang rutin dipakai & dirawat sesuai jadwal justru lebih sehat. Kuncinya konsistensi servis.",
     "https://dasindonesia.com/ritual-perawatan-rutin-mobil-premium-das-indonesia",
     "Mobilmu harian atau weekend car? Cerita di komentar! 👇"),
]

def get_pending():
    pend = []
    for p in range(1, 60):
        raw = urllib.request.Request(f"{BASE}/public/schedule?page={p}&limit=100", headers=HEADERS)
        with urllib.request.urlopen(raw, timeout=30) as r:
            docs = json.load(r)["docs"]
        for d in docs:
            if d.get("accountId") == DAS_T and (d.get("status") or "").lower() == "pending":
                pend.append(d)
    return pend

def main():
    pend = get_pending()
    taken = {(d.get("scheduleAt") or "")[:13] for d in pend}
    now = datetime.now(WIB)
    day = now.replace(minute=0, second=0, microsecond=0)

    ok = fail = 0
    for mitos, fakta, link, ajakan in KONTEN:
        slot = None
        for _ in range(14):
            for h in SLOTS:
                cand = day.replace(hour=h)
                if cand <= now:
                    continue
                utc_h = cand.astimezone(timezone.utc).strftime("%Y-%m-%dT%H")
                if utc_h not in taken:
                    slot = cand
                    break
            if slot:
                break
            day += timedelta(days=1)
        if slot is None:
            break
        taken.add(slot.astimezone(timezone.utc).strftime("%Y-%m-%dT%H"))
        at = slot.astimezone(timezone.utc).strftime("%Y-%m-%dT%H:%M:%S.000Z")
        cap = (f"⚙️ MITOS vs FAKTA MOBIL\n\n"
               f"🚗 {mitos}\n\n"
               f"Jawaban DAS sebagai pakar: {fakta}\n\n"
               f"Simak penjelasan lengkapnya 👇\n{link}\n\n"
               f"{ajakan}\n\n"
               f"#dasindonesia #dasbengkel #mitosfaktamobil #tipsmobil #perawatanmobil #bengkelmobil #otomotif")
        payload = {
            "accountId": DAS_T,
            "title": f"DAS — {mitos[:45]}",
            "description": cap,
            "topic": "Mitos vs Fakta Mobil",
            "type": "text",
            "medias": [],
            "scheduleAt": at,
            "replies": [{"text": "Masih ragu soal mitos mobil lain? Tulis pertanyaanmu di komentar — tim DAS siap jawab. 💪", "username": ""}],
        }
        req = urllib.request.Request(f"{BASE}/public/schedule",
                                     data=json.dumps(payload).encode(),
                                     headers={**HEADERS, "Content-Type": "application/json"})
        try:
            with urllib.request.urlopen(req, timeout=30) as r:
                res = json.load(r)
            ok += 1
            print(f"  ✅ {slot.strftime('%d/%m %H:00')} WIB | {mitos[:55]}")
        except Exception as e:
            fail += 1
            print(f"  ❌ {mitos[:40]}: {e}")
    print(f"\n📊 Total: {ok} OK, {fail} gagal")

if __name__ == "__main__":
    main()
