#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Perbaiki satu jadwal bank DAS yang kelewat hashtag (18 Okt 07:00).

Caption aslinya 455 char; kalau hashtag ditempel jadi 498 char — di atas batas
480 yang aku pakai, jadi validatorku diam-diam melewatinya. Di sini caption
dipendekkan sedikit (satu klausa dibuang), lalu hashtag ditempel.

Pakai: python3 perbaiki_caption_das_1810.py [--go]
"""
import re, sys, json
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import get_client

SID = None
for x in json.load(open("bank_das_threads_hasil.json")):
    if x.get("tgl") == "2026-10-18" and x.get("jam") == 7:
        SID = x.get("id")
print("id jadwal:", SID)

BARU = """Oli yang paling bagus bukan yang paling mahal, tapi yang spesifikasinya sesuai mobilmu.

Yang dibaca itu bukan angka harganya, tapi standar dan viskositas yang diminta pabrikan, misalnya 0W-20 atau 5W-30. Oli mahal dengan jenis yang salah bisa lebih merugikan daripada oli biasa yang tepat.

Jadi pertanyaan yang benar bukan "yang mana termahal", tapi "yang mana sesuai".

Kamu biasanya pilih oli karena apa?

#tipsotomotif #perawatanmobil #bengkelmobil"""

c = get_client()
lama = c.get_schedule(SID)
b = lama.get("data", lama) if isinstance(lama, dict) else lama
print("SEBELUM:", b.get("status"), len(b.get("description") or ""), "|", (b.get("description") or "")[-60:].replace("\n", " "))

if "--go" not in sys.argv:
    print("\n(dry run) caption baru:", len(BARU), "char")
    print(BARU)
    sys.exit(0)

c.update_schedule(SID, {"description": BARU})
baru = c.get_schedule(SID)
bb = baru.get("data", baru) if isinstance(baru, dict) else baru
d = bb.get("description") or ""
tags = re.findall(r"#(\w+)", d)
print("SESUDAH:", bb.get("status"), len(d), "| tags:", tags, "| balasan:", len(bb.get("replies") or []))
ok = bb.get("status") == "pending" and len(d) <= 500 and tags and all(t == t.lower() for t in tags)
print("✅ OK" if ok else "❌ belum beres")
