#!/usr/bin/env python3
"""Batch artikel rutin — 4-5 Agustus 2026. Threads + FB + LinkedIn.
Artikel dari website masing-masing brand, yang BELUM pernah dipakai.
Threads: ≤500 char + link. FB: 2-3 paragraf + link + hashtag. LinkedIn: profesional + link.
"""
import sys
from datetime import datetime, timedelta
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import get_client, ACC

client = get_client()

A = {
    "ss_th": ACC.STUDIOSOFT_THREADS, "ss_fb": ACC.STUDIOSOFT_FB, "ss_li": ACC.STUDIOSOFT_LINKEDIN,
    "das_th": ACC.DAS_THREADS, "das_fb": ACC.DAS_FB,
    "leit_th": ACC.LEIT_THREADS, "leit_li": ACC.LEIT_LINKEDIN,
    "tslaw_th": ACC.TSLAW_THREADS, "tslaw_fb": ACC.TSLAW_FB, "tslaw_li": ACC.TSLAW_LINKEDIN,
    "dmark_fb": ACC.DMARK_FB, "dmark_li": ACC.DMARK_LINKEDIN,
}

POSTS = [
    # ═══════════ 4 AGUSTUS — THREADS ═══════════
    {
        "account": "ss_th", "slot_wib": "2026-08-04T08:00:00",
        "text": "Google AI Overview makin sering muncul di pencarian — dan banyak bisnis belum siap.\n\nKabar baiknya: ada 7 langkah konkret biar konten kamu layak dikutip AI. Mulai dari struktur jawaban langsung, data pendukung, sampai optimasi E-E-A-T.\n\nGak perlu takut sama AI — justru manfaatkan. Konten yang jelas & terstruktur itu yang paling gampang diambil AI buat direferensikan.\n\nLangkah lengkapnya di artikel ini 👇\nhttps://studiosoft.id/7-langkah-optimasi-konten-masuk-ai-overview-google-surabaya/\n\n#SEO #AIOverview #StudioSoft",
    },
    {
        "account": "das_th", "slot_wib": "2026-08-04T11:00:00",
        "text": "Mobil mewah itu beda perlakuan — bukan cuma soal harga, tapi soal cara kerjanya.\n\nMesin premium punya toleransi yang lebih ketat: oli harus sesuai spek, coolant dicek rutin, dan getaran kecil jangan dianggap sepele.\n\nSatu gejala yang diabaikan bisa berujung overhaul yang jauh lebih mahal. Mobil mewah butuh perhatian khusus, bukan perawatan asal-asalan.\n\nGejala apa aja yang harus diwaspadai? Ada di artikel ini 👇\nhttps://dasindonesia.com/tanda-mobil-mewah-butuh-perawatan-khusus-jangan-abaikan-gejala-ini/\n\n#DASBengkelIndonesia #MobilMewah #PerawatanMobil",
    },
    {
        "account": "leit_th", "slot_wib": "2026-08-04T14:00:00",
        "text": "AI bisa jawab semua pertanyaan — tapi justru itu bikin skill bahasa Inggris makin penting.\n\nKenapa? Karena AI itu alatnya, tapi komunikasi tetap butuh manusia: negosiasi, presentasi, leadership. Bahasa Inggris tetap jadi gerbang akses ke pengetahuan global.\n\nYang berubah bukan 'perlu atau tidak', tapi 'gimana caranya belajar' — lebih fokus ke speaking & berpikir, bukan hafalan.\n\nPembahasannya lengkap di sini 👇\nhttps://www.leitsurabaya.com/belajar-bahasa-inggris-era-ai/\n\n#BelajarInggris #AI #LEIT",
    },
    {
        "account": "tslaw_th", "slot_wib": "2026-08-04T20:00:00",
        "text": "Karya kamu bisa didaftarin hak cipta — dan itu penting banget buat kreator.\n\nBanyak yang nggak tahu: hak cipta itu otomatis ada sejak karya dibuat, TAPI pendaftaran resmi bikin kamu punya bukti kuat kalau suatu saat ada sengketa.\n\nProsesnya nggak serumit yang dibayangkan: siapin karya, isi formulir, bayar biaya, tunggu sertifikat.\n\nLangkah-langkahnya di sini 👇\nhttps://www.tslaw.id/cara-daftar-hak-cipta-2026/\n\n#HakCipta #Kreator #TSLaw",
    },
    # ═══════════ 4 AGUSTUS — FACEBOOK ═══════════
    {
        "account": "ss_fb", "slot_wib": "2026-08-04T10:00:00",
        "text": "Klinik atau rumah sakit kamu sudah muncul di Google Maps? Kalau belum, kamu kehilangan banyak pasien potensial.\n\nGoogle Business Profile itu 'etalase gratis' yang paling sering dicari pasien: alamat, jam buka, nomor telepon, foto, sampai review. Pasien yang mencari 'klinik kulit terdekat' hampir pasti melihat peta dulu sebelum memutuskan.\n\nMasalahnya, banyak profil yang dibiarkan kosong atau datanya basi — alamat salah, jam buka tidak update, foto tidak ada. Akibatnya pasien ragu dan pindah ke kompetitor.\n\nPadahal mengoptimasi GBP itu mudah dan gratis: lengkapi profil 100%, tambah foto berkala, aktifkan fitur Q&A, dan balas review secara rutin.\n\nPanduan lengkapnya di artikel kami 👇\nhttps://studiosoft.id/google-business-profile-klinik/\n\n#GoogleBusinessProfile #Klinik #RumahSakit #SEO #StudioSoft",
    },
    {
        "account": "das_fb", "slot_wib": "2026-08-04T17:00:00",
        "text": "Overhaul mesin Nissan itu bukan 'bongkar pasang' sembarangan — ada proses dan estimasi biaya yang perlu dipahami dulu.\n\nBanyak pemilik Nissan yang panik begitu mendengar kata 'overhaul'. Padahal kalau ditangani tepat, mesin bisa kembali seperti baru dengan biaya yang jauh lebih terkontrol daripada membeli mobil baru.\n\nKuncinya: tahu kapan waktunya overhaul, paham prosesnya, dan memilih bengkel spesialis yang mengerjakan dengan presisi — bukan sekadar mengganti part.\n\nEstimasi biaya dan tahapannya kami bahas lengkap di artikel ini 👇\nhttps://dasindonesia.com/overhaul-mesin-nissan-kapan-proses-dan-biayanya/\n\n#DASBengkelIndonesia #OverhaulNissan #EngineOverhaul #BengkelSpesialis",
    },
    {
        "account": "tslaw_fb", "slot_wib": "2026-08-04T16:00:00",
        "text": "Mau mendirikan PT tapi bingung mulai dari mana? Kamu tidak sendiri — ini pertanyaan paling sering kami terima dari UMKM.\n\nBanyak yang mengira mendirikan PT itu rumit dan mahal. Padahal dengan persiapan yang benar, prosesnya bisa berjalan lancar: siapkan nama perusahaan, tentukan struktur modal, susun akta di notaris, dan urus NIB.\n\nYang sering jadi kendala justru hal-hal kecil: nama yang sudah dipakai orang lain, dokumen pendukung yang belum lengkap, atau salah memilih bentuk badan usaha.\n\nPanduan langkah demi langkahnya ada di artikel ini 👇\nhttps://www.tslaw.id/panduan-mendirikan-pt-untuk-umkm/\n\n#PendirianPT #LegalitasUsaha #UMKM #TSLaw",
    },
    {
        "account": "dmark_fb", "slot_wib": "2026-08-04T19:00:00",
        "text": "Konten visual bukan sekadar 'biar kelihatan bagus' — ini strategi yang menentukan apakah orang berhenti scroll atau lanjut swipe.\n\nDi era feed yang super cepat, kamu punya waktu kurang dari 3 detik untuk menangkap perhatian. Warna, tipografi, dan komposisi yang konsisten justru yang membangun recognition.\n\nMasalahnya banyak brand bikin konten visual asal-asalan: ganti-ganti gaya, font beda tiap minggu, dan tidak ada identitas yang dikenali. Hasilnya? Brand tidak diingat.\n\n8 strategi konten visual yang bisa langsung diterapkan ada di artikel ini 👇\nhttps://www.dmark.id/8-strategi-konten-visual-yang-bikin-bisnis-makin-dikenal/\n\n#DMark #KontenVisual #Branding #DesainGrafis",
    },
    # ═══════════ 4 AGUSTUS — LINKEDIN ═══════════
    {
        "account": "ss_li", "slot_wib": "2026-08-04T09:00:00",
        "text": "Rumah sakit punya data pasien yang sangat kaya — tapi mayoritas belum memanfaatkannya.\n\nData analytics bukan sekadar laporan kunjungan. Ini tentang memahami pola: dari mana pasien berasal, layanan apa yang paling dicari, jam berapa trafik tertinggi, sampai alasan pasien pindah ke kompetitor.\n\nDengan data yang benar, RS bisa mengambil keputusan berbasis fakta: alokasi sumber daya, penjadwalan dokter, hingga strategi pemasaran yang tepat sasaran.\n\nKami membahas bagaimana RS bisa mulai menggunakan data analytics di artikel ini 👇\nhttps://studiosoft.id/data-analytics-rumah-sakit-kebutuhan-pasien/\n\n#DataAnalytics #RumahSakit #Healthcare #DigitalMarketing",
    },
    {
        "account": "leit_li", "slot_wib": "2026-08-04T11:00:00",
        "text": "Soft skills paling dicari perusahaan di 2026 ternyata bukan yang sering dibayangkan orang.\n\nDi era AI, kemampuan teknis bisa diotomatisasi — tapi adaptabilitas, komunikasi, dan critical thinking justru makin mahal. Ini yang membedakan kandidat yang bertahan vs yang tergantikan.\n\nPertanyaannya: apakah soft skills itu bisa dibentuk? Jawabannya ya — dan pendidikan punya peran besar di sini.\n\nDi LEIT, kami membentuknya sejak dini lewat pendekatan leadership-based learning, bukan sekadar menghafal materi.\n\nPembahasannya di sini 👇\nhttps://www.leitsurabaya.com/soft-skills-era-ai-leit/\n\n#SoftSkills #EraAI #Leadership #LEIT",
    },
    {
        "account": "dmark_li", "slot_wib": "2026-08-04T14:00:00",
        "text": "Klinik estetika bersaing bukan hanya dari kualitas dokter — tapi dari cara mereka hadir di digital.\n\n7 strategi yang kami rekomendasikan untuk klinik estetika: bangun kepercayaan lewat edukasi, tampilkan hasil (before-after) secara etis, optimasi Google Business Profile, manfaatkan review pasien, konsisten di media sosial, dan fokus pada layanan unggulan.\n\nKuncinya: pasien klinik estetika mencari kredibilitas, bukan sekadar promosi. Konten yang mendidik justru yang paling banyak mengonversi.\n\nDetailnya di artikel ini 👇\nhttps://www.dmark.id/7-strategi-digital-marketing-untuk-klinik-estetika/\n\n#KlinikEstetika #DigitalMarketing #Healthcare #DMark",
    },
    {
        "account": "tslaw_li", "slot_wib": "2026-08-04T20:00:00",
        "text": "Perceraian adalah proses hukum yang emosional — dan banyak orang memilih jalur cerai gugat tanpa memahami prosedurnya.\n\nCerai gugat dimulai dengan pengajuan gugatan ke pengadilan, lalu melalui tahapan mediasi, persidangan, hingga putusan. Syarat dan dokumennya harus lengkap sejak awal agar proses tidak berlarut-larut.\n\nYang sering dilupakan: hak asuh anak, pembagian harta gono-gini, dan kewajiban nafkah harus diatur dengan jelas di muka.\n\nPanduan lengkap syarat, biaya, dan prosedurnya di sini 👇\nhttps://www.tslaw.id/panduan-cerai-gugat/\n\n#HukumKeluarga #CeraiGugat #TSLaw",
    },
    # ═══════════ 5 AGUSTUS — THREADS ═══════════
    {
        "account": "das_th", "slot_wib": "2026-08-05T08:00:00",
        "text": "Satu bengkel buat semua mobil Jepang — dari Honda, Nissan, sampai Alphard. Emang bisa?\n\nBisa, kalau bengkelnya beneran spesialis multi-merek. Artinya teknisi paham karakter tiap merek: kelemahan umum, part yang sering bermasalah, dan standar perawatan yang beda-beda.\n\nJangan salah pilih bengkel yang cuma 'bisa menerima semua mobil' tapi gak paham detailnya. Hasilnya beda jauh.\n\nKenapa multi-merek itu penting, dijelasin di sini 👇\nhttps://dasindonesia.com/bengkel-spesialis-multi-merek-jepang-di-surabaya-satu-tempat-untuk-honda-nissan-alphard-dan-lainnya/\n\n#DASBengkelIndonesia #BengkelSpesialis #MultiMerek",
    },
    {
        "account": "ss_th", "slot_wib": "2026-08-05T11:00:00",
        "text": "Bisnis lokal punya keunggulan yang gak dimiliki brand besar: kedekatan sama pelanggan.\n\nDan di era AI Overview, konten yang menyebut lokasi + jawaban langsung itu yang paling gampang direferensikan Google. 5 keunggulan ini bisa dimanfaatkan bisnis lokal biar tetap menang di pencarian.\n\nJangan biarkan brand besar mencaplok pasar lokal kamu cuma karena mereka lebih dulu paham SEO.\n\nLengkapnya di sini 👇\nhttps://studiosoft.id/5-keunggulan-optimasi-ai-overview-google-bisnis-lokal-surabaya/\n\n#SEOLokal #AIOverview #StudioSoft",
    },
    {
        "account": "leit_th", "slot_wib": "2026-08-05T17:00:00",
        "text": "Pilih tempat les bahasa Inggris yang dekat rumah itu bukan cuma soal 'malas jauh-jauh' — ini soal konsistensi.\n\nSemakin dekat lokasinya, semakin kecil alasan buat bolos. Dan konsistensi itu yang paling menentukan hasil belajar.\n\n5 alasan kenapa les terdekat bikin kamu cepat mahir — termasuk soal waktu tempuh yang bisa dipakai buat review materi. Ada di artikel ini 👇\nhttps://www.leitsurabaya.com/alasan-les-bahasa-inggris-terdekat-rumah/\n\n#LesInggris #BelajarBahasa #LEIT",
    },
    {
        "account": "tslaw_th", "slot_wib": "2026-08-05T20:00:00",
        "text": "Kontrak bisnis itu bukan formalitas — ini tameng hukum yang paling murah buat bisnis kamu.\n\nTanpa kontrak yang jelas, satu kesalahpahaman kecil bisa jadi sengketa besar. Dengan kontrak yang aman: scope kerja, harga, jangka waktu, dan konsekuensi semua tertulis hitam di atas putih.\n\nBanyak UMKM mikir 'ah, sama kenalan kok'. Justru sama kenalan itu yang paling rawan.\n\nPentingnya kontrak bisnis yang aman dibahas di sini 👇\nhttps://www.tslaw.id/kontrak-bisnis-yang-aman/\n\n#KontrakBisnis #Legalitas #UMKM #TSLaw",
    },
    # ═══════════ 5 AGUSTUS — FACEBOOK ═══════════
    {
        "account": "ss_fb", "slot_wib": "2026-08-05T10:00:00",
        "text": "Media sosial rumah sakit itu bukan sekadar 'posting foto dokter'. Platform yang tepat bisa mendatangkan pasien — tapi platform yang salah hanya membuang waktu.\n\nFaktanya, tiap platform punya karakter berbeda: Facebook bagus untuk edukasi dan komunitas usia 30+, Instagram untuk visual dan brand awareness, TikTok untuk menjangkau generasi muda, sedangkan Google dan website tetap menjadi tempat konversi utama.\n\nKesalahan umum: RS mencoba hadir di semua platform sekaligus tanpa strategi, hasilnya energi terpecah dan tidak ada yang optimal.\n\nPanduan memilih platform yang tepat untuk RS ada di artikel ini 👇\nhttps://studiosoft.id/social-media-rumah-sakit-efektif/\n\n#SocialMediaMarketing #RumahSakit #Klinik #DigitalMarketing #StudioSoft",
    },
    {
        "account": "das_fb", "slot_wib": "2026-08-05T17:00:00",
        "text": "Mesin Honda mulai terasa beda? Jangan ditunda — ini bisa jadi sinyal awal butuh overhaul.\n\nGejalanya sering dianggap sepele: mesin brebet saat idle, oli cepat berkurang, tenaga terasa hilang, atau suara kasar dari ruang mesin. Padahal kalau dibiarkan, kerusakan bisa menjalar ke komponen lain dan biaya perbaikan membengkak.\n\nChecklist lengkap gejala sebelum terlambat — biar kamu bisa ambil keputusan lebih awal dan lebih hemat.\n\nBaca selengkapnya di sini 👇\nhttps://dasindonesia.com/gejala-mesin-honda-perlu-overhaul-checklist-lengkap-sebelum-terlambat/\n\n#DASBengkelIndonesia #Honda #EngineOverhaul #PerawatanMesin",
    },
    {
        "account": "tslaw_fb", "slot_wib": "2026-08-05T16:00:00",
        "text": "Merek dagang adalah aset paling berharga yang sering dilupakan pebisnis.\n\nBegitu bisnis mulai dikenal, orang lain bisa mendaftarkan merek kamu lebih dulu — dan kamu yang akan kesulitan membuktikan kepemilikan. Ini kasus yang sering kami temui.\n\nPendaftaran merek dagang itu proses yang bisa dilakukan sendiri: cek ketersediaan nama, siapkan logo dan kelas barang/jasa, lalu ajukan ke DJKI. Biayanya terjangkau, manfaatnya jangka panjang.\n\nLangkah lengkapnya di artikel ini 👇\nhttps://www.tslaw.id/cara-daftar-merek-dagang/\n\n#MerekDagang #HKI #LegalitasUsaha #TSLaw",
    },
    {
        "account": "dmark_fb", "slot_wib": "2026-08-05T19:00:00",
        "text": "Inovasi digital di klinik itu nggak harus mahal dan rumit — justru yang sederhana sering paling efektif.\n\nContohnya: sistem booking online yang mengurangi antrean, rekam medis digital yang mempercepat layanan, WhatsApp chatbot untuk pertanyaan umum, sampai reminder otomatis untuk jadwal kontrol pasien.\n\nInovasi-inovasi kecil ini yang bikin pasien merasa 'dilayani dengan baik' — dan pengalaman itu yang bikin mereka balik lagi.\n\n8 inovasi digital sederhana untuk klinik ada di artikel ini 👇\nhttps://www.dmark.id/8-inovasi-digital-di-klinik-yang-sederhana-dan-efektif/\n\n#DMark #InovasiDigital #Klinik #Healthcare",
    },
    # ═══════════ 5 AGUSTUS — LINKEDIN ═══════════
    {
        "account": "ss_li", "slot_wib": "2026-08-05T09:00:00",
        "text": "SEO untuk klinik dan rumah sakit punya aturan main yang berbeda dari bisnis biasa.\n\nPasien mencari dengan istilah yang spesifik: 'dokter kulit terdekat', 'biaya USG', 'klinik gigi buka jam berapa'. Konten yang menjawab pertanyaan-pertanyaan ini dengan jelas akan lebih mudah ditemukan.\n\nDitambah faktor kepercayaan: informasi dokter, kredensial, dan fasilitas harus mudah diakses. Google menilai kredibilitas dari sinyal ini.\n\nPanduan SEO khusus klinik dan RS ada di artikel ini 👇\nhttps://studiosoft.id/panduan-seo-klinik-rumah-sakit/\n\n#SEOKesehatan #Klinik #RumahSakit #DigitalMarketing",
    },
    {
        "account": "leit_li", "slot_wib": "2026-08-05T11:00:00",
        "text": "CV dan wawancara kerja bahasa Inggris — dua hal yang sering bikin kandidat gagal, padahal sebenarnya bisa dihindari.\n\n7 kesalahan paling umum: CV terlalu panjang, menggunakan template yang tidak profesional, menerjemahkan kata per kata, tidak menonjolkan pencapaian, kurang latihan wawancara, jawaban hafalan, dan tidak menyiapkan pertanyaan untuk pewawancara.\n\nKabar baiknya, semua itu bisa diperbaiki dengan persiapan yang benar — dan itu justru skill yang bisa dilatih.\n\nPanduan lengkapnya di sini 👇\nhttps://www.leitsurabaya.com/cv-wawancara-bahasa-inggris/\n\n#CV #WawancaraKerja #CareerTips #LEIT",
    },
    {
        "account": "dmark_li", "slot_wib": "2026-08-05T14:00:00",
        "text": "Klinik estetika yang ingin tumbuh perlu melihat digital bukan sebagai biaya, tapi sebagai investasi.\n\nSalah satu langkah paling berdampak: membangun kehadiran digital yang konsisten — website yang informatif, konten edukasi dari dokter, dan optimasi pencarian lokal.\n\nDi DMark kami percaya: klinik yang menang bukan yang budget-nya terbesar, tapi yang strateginya paling jelas.\n\n8 inovasi digital sederhana yang bisa langsung diterapkan klinik ada di artikel ini 👇\nhttps://www.dmark.id/8-inovasi-digital-di-klinik-yang-sederhana-dan-efektif/\n\n#KlinikEstetika #InovasiDigital #Healthcare #DMark",
    },
    {
        "account": "tslaw_li", "slot_wib": "2026-08-05T20:00:00",
        "text": "Mengurus sertifikat tanah sering dianggap ribet — padahal dengan prosedur yang benar, prosesnya bisa berjalan mulus.\n\nLangkah utamanya: siapkan dokumen asli (sertifikat, KTP, PBB), lakukan pengecekan ke BPN, ajukan permohonan, ikuti pengukuran dan pemeriksaan, lalu lunasi biaya sesuai ketentuan.\n\nYang sering menghambat: dokumen tidak lengkap, tanah dalam sengketa, atau pajak yang belum dibayar. Semua itu bisa dicek sejak awal.\n\nPanduan prosedur dan biayanya di sini 👇\nhttps://www.tslaw.id/cara-mengurus-sertifikat-tanah/\n\n#SertifikatTanah #HukumProperti #TSLaw",
    },
]

def slot_to_utc(wib_str):
    dt = datetime.fromisoformat(wib_str)
    return (dt - timedelta(hours=7)).strftime("%Y-%m-%dT%H:%M:%S.000Z")

def main():
    print("📰 Batch Artikel Rutin — 4-5 Agustus (Threads + FB + LinkedIn)")
    print("=" * 60)
    ok = 0
    for p in POSTS:
        acc = p["account"]
        text = p["text"]
        sched = slot_to_utc(p["slot_wib"])
        print(f"📌 {acc} @ {p['slot_wib']} WIB [len={len(text)}]")
        try:
            r = client.schedule_text(A[acc], text, sched, title="")
            sid = r.get("scheduleId", "?")
            print(f"   ✅ {sid}")
            ok += 1
        except Exception as e:
            print(f"   ❌ {type(e).__name__}: {str(e)[:120]}")
    print("=" * 60)
    print(f"✅ {ok}/{len(POSTS)} terjadwal")

if __name__ == "__main__":
    main()
