#!/usr/bin/env python3
"""
Multi-Platform Cron — 7 Slot Waktu Posting (WIB)
Slot: 05:00, 08:00, 11:00, 14:00, 17:00, 20:00, 23:00
Nested: Post 1 → Reply 2 → Reply 3 (jeda 1 menit antar reply)
Auto-reply: humanis, sambutan positif

Akun (11 akun):
- StudioSoft FB
- StudioSoft LinkedIn
- Uky LinkedIn
- DMark LinkedIn
- Apotek Arek Lancor IG
- StudioSoft Threads
- Uky Threads
- TS Law Threads
- DAS Threads
- TSC/DNI Threads
- DMark Threads

Aturan Bos:
- Bahasa Indonesia, pakai "saya" bukan "gue"
- Konten unik, jangan duplikasi (track via THEME_HASH_STORE)
- Max 500 karakter untuk Threads — teks utuh
- Gunakan kata yang baik dan sopan
- Jeda 1 menit antara Post & Reply: Post jam X:00, Reply1 X:01, Reply2 X:02
"""
import json, urllib.request, os, random, sys, hashlib
from datetime import datetime, timezone, timedelta

from repliz_client import AUTH, HEADERS, BASE
from threads_text_check import cek_teks_threads, ThreadsTextError
from diskusi_engine import tambahkan_diskusi, AKUN_INDUSTRI  # pancingan diskusi (FIXED 7 Agt 2026)

LOG_FILE = '/home/mantapman/.openclaw/workspace-atun/multiplatform_log.txt'
THEME_TRACK_FILE = '/home/mantapman/.openclaw/workspace-atun/.theme_hashes.json'
SLOT_TRACK_FILE = '/home/mantapman/.openclaw/workspace-atun/.slot_tracker.json'

WIB = timezone(timedelta(hours=7))

# ==================== 7 SLOT WAKTU WIB ====================
SLOT_WIB = ["05:00", "08:00", "11:00", "14:00", "17:00", "20:00", "23:00"]
SLOT_HOURS = [5, 8, 11, 14, 17, 20, 23]

# ==================== GENERATOR KONTEN PER AKUN ====================
# Tiap akun punya daftar tema unik.
# ⚠️ ATURAN FIX: tema yang sudah pernah diposting TIDAK BOLEH dipakai lagi.
# Kalau semua tema habis → akun di-SKIP (bukan posting ulang). Butuh tambah tema baru.

GREETINGS = {
    "studiosoft_fb": [
        "Halo, Sahabat StudioSoft!",
        "Hai, Sahabat StudioSoft!",
        "Selamat pagi/siang/sore, Sahabat StudioSoft!",
    ],
    "studiosoft_linkedin": [
        "Halo, rekan-rekan profesional!",
        "Hai, para profesional!",
        "Selamat beraktivitas, semuanya!",
    ],
    "uky_linkedin": [
        "Halo, teman-teman!",
        "Hai, semua!",
        "Selamat beraktivitas!",
    ],
    "dmark_linkedin": [
        "Halo, para kreator!",
        "Hai, pebisnis kreatif!",
        "Selamat berkreasi, semuanya!",
    ],
    "apotek_arlekg": [
        "Halo, Sahabat Sehat!",
        "Hai, Sahabat Sehat!",
        "Selamat beraktivitas, Sahabat Sehat!",
    ],
    "studiosoft_threads": [
        "Halo!",
        "Hai!",
        "Halo semuanya!",
    ],
    "uky_threads": [
        "Halo!",
        "Hai!",
        "Halo semuanya!",
    ],
}

# Struktur: list of dicts. Tiap dict punya:
#   "theme"  : nama tema (buat tracking aja)
#   "post"   : Post 1 (string, bisa pakai template)
#   "reply1" : Reply ke Post 1
#   "reply2" : Reply ke Reply 1
#   {greet} diganti random greeting saat render.
THEMES = {}

THEMES["studiosoft_fb"] = [
    {
        "theme": "kecepatan website",
        "post": "{greet} 👋\n\nKali ini kami bahas soal kecepatan website. 53% pengunjung akan pergi jika loading lebih dari 3 detik. Pastikan website Anda cepat dengan mengompres gambar dan memilih hosting yang tepat! 😊",
        "reply1": "Terima kasih responnya! 🙏 Tips tambahan: gunakan caching browser dan aktifkan lazy load pada gambar biar makin ringan.",
        "reply2": "Semoga bermanfaat! Kecepatan memang faktor penting. Jangan ragu hubungi StudioSoft jika butuh optimasi website ya! 🚀",
    },
    {
        "theme": "mobile friendly",
        "post": "{greet} 👋\n\nTahukah Anda? Lebih dari 60% traffic internet berasal dari ponsel. Pastikan website Anda responsif agar pengunjung dari HP nyaman menjelajah. Jangan sampai kalah saing! 😊",
        "reply1": "Terima kasih! 🙏 Gunakan Google Mobile-Friendly Test untuk cek, gratis! Perbaiki ukuran font dan tombol agar mudah di-tap.",
        "reply2": "Intinya: mobile-friendly bukan pilihan lagi, tapi keharusan. Pengalaman pengguna yang baik = konversi yang lebih tinggi. 💪",
    },
    {
        "theme": "SEO dasar",
        "post": "{greet} 👋\n\nSEO tidak serumit yang dibayangkan. Mulai dari riset kata kunci yang relevan, optimasi meta description, dan gunakan heading (H1-H3) secara terstruktur. Konsisten, maka hasil akan terlihat! 😊",
        "reply1": "Terima kasih! 🙏 Jangan lupa internal linking — hubungkan artikel yang saling terkait. Ini membantu Google memahami struktur situs Anda.",
        "reply2": "SEO ibarat menanam pohon. Hasil tidak instan, tapi jika dirawat, manfaatnya akan bertahan lama. Mulai dari satu langkah kecil! 🌱",
    },
    {
        "theme": "copywriting website",
        "post": "{greet} 👋\n\nCopywriting yang baik bisa meningkatkan konversi hingga 2x lipat. Gunakan bahasa yang jelas, CTA yang kuat, dan highlight manfaat — bukan fitur. Contoh: 'Dapatkan diskon 50%' vs 'Kami jual murah'. 😊",
        "reply1": "Terima kasih! 🙏 Tambahan: buat headline yang menarik perhatian dalam 3 detik pertama. Banyak pembaca memutuskan dalam waktu singkat!",
        "reply2": "Kesimpulannya: konten adalah raja, tapi copywriting adalah ratu yang membuat kerajaan berjalan. Keduanya saling melengkapi. 👑",
    },
    {
        "theme": "keamanan website",
        "post": "{greet} 👋\n\nWebsite yang tidak aman bisa merugikan bisnis Anda. Pastikan menggunakan HTTPS, update CMS & plugin secara rutin, dan backup data secara berkala. Jangan tunggu sampai diretas! 😊",
        "reply1": "Terima kasih! 🙏 Gunakan password yang kuat dan 2FA untuk admin panel. Banyak serangan berasal dari password lemah.",
        "reply2": "Keamanan adalah investasi, bukan biaya. Satu serangan bisa menghabiskan lebih banyak daripada biaya pencegahan. Selalu waspada! 🔒",
    },
    {
        "theme": "website sebagai aset",
        "post": "{greet} 👋\n\nWebsite adalah aset bisnis yang paling sering diabaikan. Padahal website bekerja 24/7 tanpa libur. Banyak pengunjung potensial datang, tapi hilang karena tampilan yang kurang profesional. 😊",
        "reply1": "Terima kasih! 🙏 Mulai dari perbaiki homepage dulu — pastikan ada value proposition yang jelas dan CTA yang menonjol.",
        "reply2": "Anggap website seperti toko fisik. Kalau toko Anda berantakan, pelanggan akan pergi. Rawatlah website seperti Anda merawat toko sungguhan! 🏪",
    },
    {
        "theme": "analytics & data",
        "post": "{greet} 👋\n\nTanpa data, Anda buta dalam mengelola website. Pasang Google Analytics sejak hari pertama. Pantau halaman mana yang paling banyak dikunjungi dan mana yang ditinggalkan. 😊",
        "reply1": "Terima kasih! 🙏 Perhatikan bounce rate dan average session duration — dua metrik penting untuk mengukur kualitas konten.",
        "reply2": "Data tidak akan berguna tanpa aksi. Gunakan insight dari analytics untuk terus memperbaiki website Anda. Improve little by little! 📈",
    },
    {
        "theme": "call to action",
        "post": "{greet} 👋\n\nCTA yang lemah = konversi yang rendah. Gunakan kata kerja yang jelas: 'Daftar Sekarang', 'Hubungi Kami', 'Dapatkan Penawaran'. Posisikan di area yang mudah terlihat. 😊",
        "reply1": "Terima kasih! 🙏 Coba A/B testing untuk CTA — ganti warna, teks, atau posisi. Terkadang perubahan kecil bisa memberikan perbedaan besar.",
        "reply2": "CTA yang baik adalah yang membuat pengunjung merasa rugi jika tidak mengkliknya. Tonjolkan urgensi dan manfaat! 🎯",
    },
    {
        "theme": "loading speed images",
        "post": "{greet} 👋\n\nGambar yang tidak dioptimasi adalah penyebab utama website lambat. Gunakan format WebP, kompres dengan TinyPNG, dan atur dimensi sesuai kebutuhan. Rasakan perbedaannya! 😊",
        "reply1": "Terima kasih! 🙏 Gunakan juga lazy loading agar gambar di bawah layar tidak ikut dimuat saat pertama kali. Hemat bandwidth!",
        "reply2": "Ingat: pengunjung tidak sabar. Setiap detik loading yang hilang = pelanggan yang hilang. Optimasi gambar sekarang juga! ⚡",
    },
    {
        "theme": "branding online",
        "post": "{greet} 👋\n\nWebsite Anda adalah etalase digital. Pastikan desainnya mencerminkan identitas brand Anda. Konsistensi warna, font, dan tone of voice membangun kepercayaan. 😊",
        "reply1": "Terima kasih! 🙏 Brand guideline membantu menjaga konsistensi. Pastikan logo, palet warna, dan tipografi seragam di semua halaman.",
        "reply2": "Brand yang kuat membuat Anda mudah dikenali dan diingat. Investasi pada desain adalah investasi pada persepsi pelanggan. 🎨",
    },
    {
        "theme": "blog content",
        "post": "{greet} 👋\n\nBlog website adalah mesin SEO yang ampuh. Posting artikel informatif secara rutin dan Anda akan menuai traffic organik. Mulai dari 1 artikel per minggu! 😊",
        "reply1": "Terima kasih! 🙏 Fokus pada kualitas, bukan kuantitas. Satu artikel mendalam lebih baik daripada 5 artikel dangkal.",
        "reply2": "Konsistensi adalah kunci SEO. Buat jadwal konten dan patuhi. Dalam 3-6 bulan, hasilnya akan terasa! 📝",
    },
    {
        "theme": "user experience",
        "post": "{greet} 👋\n\nUser experience (UX) menentukan apakah pengunjung betah atau pergi. Navigasi yang intuitif, desain bersih, dan loading cepat adalah dasar UX yang baik. Jangan bikin pengunjung bingung! 😊",
        "reply1": "Terima kasih! 🙏 Lakukan user testing sederhana — minta teman atau kolega menjelajahi website Anda dan catat feedback mereka.",
        "reply2": "UX yang baik tidak terlihat, tapi pengunjung akan merasakannya. Fokus pada kemudahan, bukan pada hiasan yang berlebihan! 🎯",
    },
]

THEMES["studiosoft_linkedin"] = [
    {
        "theme": "website aset bisnis",
        "post": "{greet} 👋\n\nWebsite adalah aset bisnis yang paling sering diabaikan. Padahal dia bekerja 24/7 tanpa libur, tidak pernah sakit, dan terus menerima tamu kapan saja. Rawatlah dengan baik! 😊",
        "reply1": "Terima kasih untuk diskusinya! 🙏 Tips dari kami: perbarui konten secara berkala, pastikan loading cepat, dan perhatikan mobile experience.",
        "reply2": "Kesimpulan: website adalah rumah digital Anda. Semakin nyaman dan representatif, semakin banyak tamu yang betah. Investasi kecil, dampak besar! 🏠",
    },
    {
        "theme": "SEO on-page",
        "post": "{greet} 👋\n\nSEO on-page adalah fondasi website yang sering diremehkan. Padahal mengoptimasi title tag, meta description, dan heading bisa mendongkrak peringkat tanpa biaya besar. 😊",
        "reply1": "Terima kasih! 🙏 Fokus pada satu keyword per halaman dan jangan keyword stuffing. Google lebih suka konten yang natural dan informatif.",
        "reply2": "SEO on-page adalah langkah pertama. Setelah itu baru lanjut ke off-page seperti backlink. Step by step! 📈",
    },
    {
        "theme": "copywriting untuk konversi",
        "post": "{greet} 👋\n\nCopywriting yang baik bisa menggandakan konversi. Gunakan headline yang kuat, bahasa yang mudah dipahami, dan CTA yang memotivasi. Jangan menulis seperti robot! 😊",
        "reply1": "Terima kasih! 🙏 Teknik AIDA (Attention-Interest-Desire-Action) masih sangat efektif. Coba terapkan di landing page Anda.",
        "reply2": "Ingat: orang tidak membaca, mereka memindai. Gunakan bullet points, subheading, dan bold untuk memudahkan. ✍️",
    },
    {
        "theme": "kecepatan & konversi",
        "post": "{greet} 👋\n\nSetiap 1 detik keterlambatan loading bisa mengurangi konversi hingga 7%. Bayangkan jika website Anda lambat 3 detik — Anda kehilangan 21% pelanggan potensial! 😊",
        "reply1": "Terima kasih! 🙏 Gunakan tools seperti PageSpeed Insights. Perhatikan skor Core Web Vitals — ini juga faktor SEO Google.",
        "reply2": "Kecepatan dan konversi berbanding lurus. Optimasi bukan proyek sekali jadi, tapi proses berkelanjutan. Mulai dari yang paling berdampak! ⚡",
    },
    {
        "theme": "responsif mobile",
        "post": "{greet} 👋\n\nMayoritas traffic B2B kini berasal dari mobile. Jika website Anda tidak responsif, calon klien akan kesulitan dan mencari kompetitor. Adapt or lose! 😊",
        "reply1": "Terima kasih! 🙏 Responsif bukan hanya soal tampilan, tapi juga kecepatan di jaringan seluler. Optimasi ukuran halaman sangat penting.",
        "reply2": "Kuncinya: desain untuk mobile first, lalu perluas ke desktop. Pendekatan ini memastikan pengalaman terbaik untuk mayoritas pengguna. 📱",
    },
    {
        "theme": "keamanan siber",
        "post": "{greet} 👋\n\nKeamanan website bukan hanya masalah IT — ini masalah bisnis. Satu kebocoran data bisa menghancurkan reputasi yang sudah dibangun bertahun-tahun. Investasi pada keamanan adalah prioritas! 😊",
        "reply1": "Terima kasih! 🙏 Mulai dari hal dasar: update rutin, backup berkala, password kuat, dan HTTPS. Jangan tunda!",
        "reply2": "Banyak UKM menganggap remeh keamanan. Padahal 43% serangan siber menargetkan usaha kecil. Lindungi bisnis Anda sekarang! 🔒",
    },
    {
        "theme": "branding digital",
        "post": "{greet} 👋\n\nBranding digital lebih dari sekadar logo dan warna. Ini adalah bagaimana orang merasakan interaksi dengan perusahaan Anda. Setiap touchpoint adalah kesempatan membangun kesan! 😊",
        "reply1": "Terima kasih! 🙏 Pastikan brand Anda konsisten di website, media sosial, email, dan presentasi. Konsistensi membangun kepercayaan.",
        "reply2": "Brand yang kuat adalah aset tak ternilai. Ketika orang percaya pada brand Anda, mereka akan memaafkan kesalahan kecil. Bangun kepercayaan! 🏆",
    },
    {
        "theme": "content marketing",
        "post": "{greet} 👋\n\nContent marketing bukan hanya blogging. Ini adalah strategi jangka panjang untuk mendidik audiens, membangun otoritas, dan akhirnya mengonversi mereka menjadi pelanggan. 😊",
        "reply1": "Terima kasih! 🙏 Buat konten yang menjawab pertanyaan pelanggan Anda. Gunakan riset kata kunci untuk menemukan topik yang mereka cari.",
        "reply2": "Konten yang bernilai akan dibagikan secara organik. Ini adalah marketing yang tidak terasa seperti marketing. The best sales is no sales! 📚",
    },
    {
        "theme": "analytics bisnis",
        "post": "{greet} 👋\n\nTanpa analytics, Anda berbisnis dalam kegelapan. Google Analytics memberi Anda data tentang siapa pengunjung Anda, dari mana mereka datang, dan apa yang mereka lakukan. 😊",
        "reply1": "Terima kasih! 🙏 Fokus pada metrik yang relevan dengan tujuan bisnis: konversi, lead generation, atau engagement. Jangan tersesat di data!",
        "reply2": "Data adalah teman terbaik pengambil keputusan. Gunakan A/B testing untuk memvalidasi keputusan desain dan konten Anda! 📊",
    },
    {
        "theme": "social proof",
        "post": "{greet} 👋\n\nTestimoni dan studi kasus di website bisa meningkatkan kepercayaan calon klien secara drastis. Tunjukkan bukti bahwa produk atau layanan Anda telah membantu orang lain! 😊",
        "reply1": "Terima kasih! 🙏 Minta testimoni setelah proyek selesai — lebih mudah daripada mengejar klien lama. Tampilkan dengan foto jika memungkinkan.",
        "reply2": "Social proof adalah salah satu prinsip persuasi paling kuat. Orang cenderung mengikuti tindakan orang lain. Manfaatkan dengan bijak! 🤝",
    },
    {
        "theme": "lead generation",
        "post": "{greet} 👋\n\nWebsite yang baik harus bisa mengubah pengunjung menjadi leads. Gunakan form kontak yang simpel, tawarkan lead magnet (eBook, checklist), dan pastikan follow-up cepat. 😊",
        "reply1": "Terima kasih! 🙏 Minimalisir jumlah field di form — semakin panjang, semakin rendah konversi. Cukup nama dan email sudah cukup.",
        "reply2": "Lead generation adalah jembatan antara traffic dan penjualan. Optimasi terus menerus akan meningkatkan ROI website Anda! 🎯",
    },
    {
        "theme": "maintenance website",
        "post": "{greet} 👋\n\nWebsite butuh perawatan rutin seperti halnya mobil. Update CMS, plugin, dan backup data secara berkala. Website yang diabaikan akan rentan terhadap serangan dan error. 😊",
        "reply1": "Terima kasih! 🙏 Buat jadwal maintenance bulanan: cek broken links, update konten, dan audit performa. Lebih baik mencegah daripada memperbaiki!",
        "reply2": "Maintenance yang rutin akan memperpanjang umur website dan menghemat biaya darurat. Investasi kecil untuk ketenangan pikiran! 🛠️",
    },
]

THEMES["uky_linkedin"] = [
    {
        "theme": "membangun relasi",
        "post": "{greet} 👋\n\nDari pengalaman saya, kunci sukses di bisnis kreatif bukan hanya skill teknis, tapi kemampuan memahami orang. Relasi yang kuat lebih berharga daripada portofolio gemilang. 😊",
        "reply1": "Terima kasih sharingnya! 🙏 Saya belajar bahwa mendengarkan lebih penting daripada bicara. Pahami dulu kebutuhan klien, baru tawarkan solusi.",
        "reply2": "Relasi bisnis yang baik ibarat tanaman. Butuh waktu, perhatian, dan konsistensi untuk tumbuh. Tapi hasilnya akan bertahan lama. 🌱",
    },
    {
        "theme": "filter klien",
        "post": "{greet} 👋\n\nSalah satu keputusan terbaik saya adalah berani menolak klien yang tidak cocok. Awalnya takut kehilangan pendapatan, tapi justru kualitas kerja meningkat dan stres berkurang. 😊",
        "reply1": "Terima kasih! 🙏 Klien yang tepat membayar tepat waktu, menghargai proses, dan memberikan feedback membangun. Kualitas lebih baik daripada kuantitas.",
        "reply2": "Ingat: tidak semua klien adalah klien yang baik. Belajar berkata 'tidak' adalah skill yang perlu diasah. Hasilnya bisnis yang lebih sehat! 🎯",
    },
    {
        "theme": "delegasi dan tim",
        "post": "{greet} 👋\n\nSaya dulu berpikir harus mengerjakan semuanya sendiri. Ternyata kunci scaling adalah delegasi. Bangun sistem yang memungkinkan tim bekerja tanpa Anda setiap saat. 😊",
        "reply1": "Terima kasih! 🙏 Buat SOP yang jelas, gunakan project management tools, dan percayakan tugas pada tim. Lepaskan kontrol perlahan.",
        "reply2": "Founder yang baik bukan yang paling sibuk, tapi yang paling efektif dalam mengelola tim. Delegasi bukan kelemahan, tapi kekuatan! 🤝",
    },
    {
        "theme": "belajar dari kegagalan",
        "post": "{greet} 👋\n\nKegagalan adalah guru terbaik dalam bisnis. Setiap proyek yang gagal mengajarkan sesuatu yang tidak bisa didapatkan dari kesuksesan. Jangan takut gagal, takutlah untuk tidak belajar! 😊",
        "reply1": "Terima kasih! 🙏 Dokumentasikan setiap kegagalan dan analisis penyebabnya. Ini akan menjadi referensi berharga untuk proyek selanjutnya.",
        "reply2": "Kegagalan bukan akhir, melainkan batu loncatan. Founder sukses adalah mereka yang bangkit lebih cepat setelah jatuh. Terus maju! 💪",
    },
    {
        "theme": "work-life balance",
        "post": "{greet} 👋\n\nPertanyaan yang sering saya terima: bagaimana manage agency dan tetap punya waktu untuk keluarga? Jawabannya: sistem yang baik, delegasi, dan boundaries yang jelas. 😊",
        "reply1": "Terima kasih! 🙏 Tetapkan jam kerja, matikan notifikasi di luar jam tersebut, dan libatkan keluarga dalam perjalanan bisnis Anda.",
        "reply2": "Bisnis yang sukses tidak berarti Anda harus mengorbankan kebahagiaan pribadi. Keduanya bisa berjalan beriringan dengan manajemen yang baik. 🌟",
    },
    {
        "theme": "spesialisasi",
        "post": "{greet} 👋\n\nMemilih niche spesifik adalah keputusan terbaik dalam bisnis agency. Spesialisasi membuat Anda menjadi ahli yang dicari, bukan generalis yang mudah digantikan. 😊",
        "reply1": "Terima kasih! 🙏 Pilih niche yang Anda kuasai dan ada permintaan pasar. Fokus dalam-dalam daripada lebar tapi dangkal.",
        "reply2": "Spesialisasi memungkinkan Anda menetapkan harga lebih tinggi karena Anda menawarkan expertise yang langka. Jadi pembeda, bukan pengekor! 🎯",
    },
    {
        "theme": "harga dan value",
        "post": "{greet} 👋\n\nJangan menjual murah. Jika Anda memberikan value yang tinggi, pasang harga yang sesuai. Klien yang menghargai kualitas tidak akan keberatan dengan harga premium. 😊",
        "reply1": "Terima kasih! 🙏 Hitung value yang Anda berikan untuk klien, bukan hanya biaya produksi. Tunjukkan ROI yang mereka dapatkan.",
        "reply2": "Persaingan harga adalah perlombaan ke bawah. Bersainglah pada value, bukan pada harga. Bedakan diri Anda dari yang lain! 💎",
    },
    {
        "theme": "networking",
        "post": "{greet} 👋\n\nNetworking yang tulus membuka banyak pintu. Bukan sekadar tukar kartu nama, tapi bangun hubungan yang saling menguntungkan. Beri nilai sebelum meminta sesuatu. 😊",
        "reply1": "Terima kasih! 🙏 Hadiri event industri, bergabung dengan komunitas, dan jangan ragu untuk reach out ke orang yang Anda kagumi.",
        "reply2": "Network adalah net worth Anda. Tapi ingat: kualitas lebih penting daripada kuantitas. Lebih baik 10 koneksi kuat daripada 1000 koneksi dangkal. 🤝",
    },
    {
        "theme": "adaptasi teknologi",
        "post": "{greet} 👋\n\nDunia digital berubah cepat. Yang dulu work, belum tentu work sekarang. Kuncinya adalah adaptasi dan terus belajar. Jangan puas dengan apa yang sudah Anda kuasai. 😊",
        "reply1": "Terima kasih! 🙏 Sisihkan waktu setiap minggu untuk belajar hal baru — tool, tren, atau strategi baru. Investasi pada diri sendiri tidak pernah rugi.",
        "reply2": "Adaptasi bukan berarti ikut semua tren. Pilih yang relevan dengan bisnis Anda dan pelajari dalam-dalam. Bijak dalam memilih! 📚",
    },
    {
        "theme": "feedback klien",
        "post": "{greet} 👋\n\nSalah satu hal yang paling saya syukuri: klien yang berani ngasih feedback jujur. Kritik membangun itu lebih berharga daripada pujian kosong. Jadikan feedback sebagai alat untuk terus tumbuh. 😊",
        "reply1": "Terima kasih! 🙏 Setelah proyek selesai, selalu minta feedback — apa yang kurang dan apa yang bisa diperbaiki. Ini cara terbaik untuk meningkatkan kualitas.",
        "reply2": "Feedback yang baik adalah anugerah. Tanpa itu, kita berjalan dalam kegelapan. Buka diri untuk kritik dan gunakan sebagai bahan evaluasi diri! 📈",
    },
    {
        "theme": "visi bisnis",
        "post": "{greet} 👋\n\nBisnis tanpa visi ibarat kapal tanpa kompas. Tentukan tujuan jangka panjang dan pastikan setiap keputusan sejalan dengan visi tersebut. Tim akan lebih mudah bergerak dengan arah yang jelas. 😊",
        "reply1": "Terima kasih! 🙏 Komunikasikan visi secara rutin kepada tim. Buat mereka merasa menjadi bagian dari perjalanan, bukan sekadar pekerja.",
        "reply2": "Visi yang kuat akan menarik orang yang tepat — baik klien, tim, maupun mitra. Jangan takut bermimpi besar! 🚀",
    },
    {
        "theme": "feedback culture",
        "post": "{greet} 👋\n\nBudaya feedback adalah fondasi tim yang sehat. Saya selalu mendorong tim untuk memberi masukan terbuka, termasuk pada saya. Kritik yang membangun lebih berharga daripada pujian palsu. 😊",
        "reply1": "Terima kasih! 🙏 Adakan sesi feedback rutin dan ciptakan lingkungan yang aman untuk berbicara. Jangan defensif saat dikritik.",
        "reply2": "Feedback bukan serangan pribadi, tapi alat untuk tumbuh bersama. Tim yang terbuka adalah tim yang kuat! 💪",
    },
]

THEMES["dmark_linkedin"] = [
    {
        "theme": "brand personality",
        "post": "{greet} 👋\n\nBrand yang kuat memiliki kepribadian. Konsumen tidak hanya membeli produk, mereka membeli perasaan dan identitas. Bangunlah brand yang membuat orang merasa sesuatu! 😊",
        "reply1": "Terima kasih! 🙏 Pastikan brand Anda authentic. Konsumen modern bisa merasakan jika sebuah brand hanya ikut-ikutan. Jadilah original!",
        "reply2": "Brand personality ibarat karakter manusia. Apakah brand Anda ceria, profesional, atau edgy? Tentukan dan jalankan konsisten. 🎭",
    },
    {
        "theme": "visual consistency",
        "post": "{greet} 👋\n\nKonsistensi visual adalah pondasi brand yang mudah dikenali. Warna, font, dan gaya visual yang seragam menciptakan kesan profesional dan terpercaya. 😊",
        "reply1": "Terima kasih! 🙏 Buat brand guideline sederhana dan bagikan ke semua tim. Gunakan tools seperti Canva untuk menjaga konsistensi.",
        "reply2": "Konsistensi membangun pengenalan. Pelanggan yang melihat visual Anda di mana pun akan langsung mengenali brand Anda. 🎨",
    },
    {
        "theme": "design thinking",
        "post": "{greet} 👋\n\nDesign thinking adalah pendekatan yang berpusat pada manusia. Pahami masalah pengguna, ide solusi, buat prototipe, dan uji. Desain yang baik menyelesaikan masalah, bukan hanya mempercantik. 😊",
        "reply1": "Terima kasih! 🙏 Jangan jatuh cinta pada ide pertama. Uji dengan pengguna nyata dan iterasi berdasarkan feedback. Proses adalah segalanya.",
        "reply2": "Desain tanpa riset hanyalah dekorasi. Selalu mulai dengan memahami siapa yang akan menggunakan dan apa yang mereka butuhkan. 🔍",
    },
    {
        "theme": "brand storytelling",
        "post": "{greet} 👋\n\nCerita adalah cara paling kuat untuk terhubung dengan audiens. Brand storytelling bukan sekadar kronologi perusahaan, tapi narasi yang membuat orang peduli. 😊",
        "reply1": "Terima kasih! 🙏 Temukan 'mengapa' brand Anda — purpose di balik produk atau jasa. Itulah inti cerita yang akan menarik orang.",
        "reply2": "Storytelling yang baik membuat brand Anda hidup di benak konsumen. Mereka tidak hanya mengingat produk, tapi juga perasaan saat mendengar cerita Anda. 📖",
    },
    {
        "theme": "positioning",
        "post": "{greet} 👋\n\nPositioning adalah bagaimana Anda ingin dikenal di pasar. Apakah Anda yang termurah, tercepat, atau yang paling berkualitas? Tentukan dan konsisten. Jangan jadi 'serba bisa' yang tidak diingat! 😊",
        "reply1": "Terima kasih! 🙏 Analisis kompetitor dan temukan celah yang bisa Anda isi. Jadilah nomor satu di niche tertentu, bukan nomor sekian di mana-mana.",
        "reply2": "Positioning yang kuat memudahkan marketing. Orang akan merekomendasikan Anda karena mereka tahu persis apa yang Anda tawarkan. 🎯",
    },
    {
        "theme": "UI UX dasar",
        "post": "{greet} 👋\n\nUI/UX bukan hanya soal tampilan. UX adalah bagaimana rasanya menggunakan produk Anda. UI adalah bagaimana tampilannya. Keduanya harus berjalan seiring untuk hasil yang optimal. 😊",
        "reply1": "Terima kasih! 🙏 Prinsip dasar UX: kurangi friction. Semakin mudah pengguna mencapai tujuannya, semakin baik desain Anda.",
        "reply2": "Desain yang baik tidak terlihat. Pengguna tidak akan berterima kasih untuk navigasi yang intuitif, tapi mereka akan frustrasi jika sebaliknya. 🎯",
    },
    {
        "theme": "logo dan identitas",
        "post": "{greet} 👋\n\nLogo adalah wajah brand Anda. Tapi ingat: logo bukanlah brand itu sendiri. Logo adalah simbol yang mewakili brand. Fokus pada membangun brand, bukan sekadar mendesain logo. 😊",
        "reply1": "Terima kasih! 🙏 Logo yang baik sederhana, mudah diingat, dan berfungsi di berbagai media — dari favicon kecil hingga billboard besar.",
        "reply2": "Investasi pada logo profesional adalah investasi jangka panjang. Logo yang kuat akan menemani brand Anda selama bertahun-tahun. ✨",
    },
    {
        "theme": "social media branding",
        "post": "{greet} 👋\n\nSetiap platform media sosial adalah perpanjangan dari brand Anda. Jangan asal posting. Pastikan setiap konten mencerminkan identitas brand dan memberikan nilai untuk audiens. 😊",
        "reply1": "Terima kasih! 🙏 Buat strategi konten yang matang. Tentukan tujuan, target audiens, dan jenis konten untuk masing-masing platform.",
        "reply2": "Konsistensi di media sosial sama pentingnya dengan kualitas. Posting secara teratur dengan pesan yang terpadu akan memperkuat brand Anda. 📱",
    },
    {
        "theme": "color psychology",
        "post": "{greet} 👋\n\nWarna memiliki psikologi yang memengaruhi persepsi. Biru melambangkan kepercayaan, merah memberikan energi, hijau identik dengan alam. Pilih palet yang sesuai dengan karakter brand Anda. 😊",
        "reply1": "Terima kasih! 🙏 Batasi palet warna maksimal 3-4 warna untuk identitas brand. Terlalu banyak warna malah membingungkan.",
        "reply2": "Warna yang tepat bisa meningkatkan brand recognition hingga 80%. Jangan remehkan kekuatan warna dalam brand strategy! 🌈",
    },
    {
        "theme": "tipografi branding",
        "post": "{greet} 👋\n\nTipografi yang tepat bisa menyampaikan kepribadian brand tanpa kata-kata. Font serif terasa klasik dan formal, sans-serif modern dan bersih. Pilih dengan bijak! 😊",
        "reply1": "Terima kasih! 🙏 Batasi penggunaan font maksimal 2-3 jenis. Satu untuk headline, satu untuk body text, konsisten di semua media.",
        "reply2": "Tipografi yang baik membuat konten mudah dibaca dan nyaman di mata. Aksesibilitas juga bagian dari branding yang bertanggung jawab! 📝",
    },
    {
        "theme": "rebranding",
        "post": "{greet} 👋\n\nRebranding bisa menyegarkan brand yang sudah usang. Tapi lakukan dengan hati-hati. Perubahan drastis bisa membingungkan pelanggan setia. Evaluasi dulu apakah benar-benar perlu. 😊",
        "reply1": "Terima kasih! 🙏 Jika rebranding diperlukan, lakukan secara bertahap. Komunikasikan perubahan kepada audiens dan jelaskan alasannya.",
        "reply2": "Rebranding yang sukses adalah yang mempertahankan esensi brand sambil memperbarui tampilannya. Jangan buang apa yang sudah dikenal pelanggan! 🔄",
    },
    {
        "theme": "brand trust",
        "post": "{greet} 👋\n\nBrand awareness mendatangkan pengunjung, brand trust membuat mereka kembali. Transparansi, konsistensi, dan kualitas adalah pilar kepercayaan. Tidak ada jalan pintas! 😊",
        "reply1": "Terima kasih! 🙏 Kumpulkan dan tampilkan testimoni, studi kasus, dan sertifikasi. Bukti sosial mempercepat pembentukan kepercayaan.",
        "reply2": "Kepercayaan adalah fondasi brand. Tanpanya, marketing hanyalah membuang uang. Bangun dengan sabar, jaga selamanya. 🔑",
    },
]

THEMES["apotek_arlekg"] = [
    {
        "theme": "penyimpanan obat",
        "post": "{greet} 👋\n\nObat yang disimpan di tempat terkena sinar matahari langsung bisa berubah khasiatnya. Simpan di tempat sejuk, kering, dan gelap. Jangan di kamar mandi karena lembab! 😊",
        "reply1": "Terima kasih! 🙏 Periksa tanggal kedaluwarsa setiap 3 bulan. Buang obat kedaluwarsa dengan benar — jangan dibuang sembarangan.",
        "reply2": "Penyimpanan yang benar menjaga efektivitas obat. Investasi kecil untuk kesehatan yang lebih baik. Salam sehat selalu! 🌿",
    },
    {
        "theme": "antibiotik",
        "post": "{greet} 👋\n\nAntibiotik harus dihabiskan sesuai resep, meskipun sudah merasa sembuh. Menghentikan antibiotik terlalu cepat bisa menyebabkan resistensi bakteri. Konsultasi dengan apoteker kami! 😊",
        "reply1": "Terima kasih! 🙏 Jangan pernah meminjam antibiotik orang lain. Setiap resep spesifik untuk kondisi tertentu. Gunakan sesuai petunjuk dokter.",
        "reply2": "Resistensi antibiotik adalah ancaman serius. Dengan menggunakan antibiotik secara bijak, kita melindungi efektivitasnya untuk masa depan. 💊",
    },
    {
        "theme": "vitamin dan imunitas",
        "post": "{greet} 👋\n\nMenjaga imunitas tidak harus dengan suplemen mahal. Vitamin C dari buah, vitamin D dari sinar matahari pagi, dan istirahat cukup adalah fondasi tubuh sehat. 😊",
        "reply1": "Terima kasih! 🙏 Konsumsi vitamin sesuai kebutuhan, jangan berlebihan. Kelebihan vitamin tertentu bisa berbahaya. Konsultasi dulu ya!",
        "reply2": "Imunitas kuat adalah pertahanan terbaik. Gaya hidup sehat lebih penting daripada segudang suplemen. Jaga pola makan dan olahraga teratur! 🏃",
    },
    {
        "theme": "obat batuk pilek",
        "post": "{greet} 👋\n\nBatuk dan pilek biasanya sembuh sendiri dalam 7-10 hari. Obat hanya membantu meredakan gejala. Perbanyak istirahat dan minum air hangat. Jika lebih dari 2 minggu, segera konsultasi! 😊",
        "reply1": "Terima kasih! 🙏 Pilih obat sesuai jenis batuk: batuk kering butuh antitusif, batuk berdahak butuh ekspektoran. Tanya apoteker kami!",
        "reply2": "Jangan campur obat batuk dan pilek tanpa konsultasi. Beberapa kandungan bisa berinteraksi. Keamanan adalah prioritas! ☕",
    },
    {
        "theme": "obat lambung",
        "post": "{greet} 👋\n\nGangguan lambung sering dipicu pola makan tidak teratur dan stres. Hindari makanan pedas berlebihan, kafein, dan makan terlalu malam. Jika sering kambuh, periksa ke dokter. 😊",
        "reply1": "Terima kasih! 🙏 Minum obat lambung sesuai aturan — beberapa harus diminum sebelum makan, beberapa setelah. Perhatikan petunjuknya!",
        "reply2": "Lambung yang sehat adalah kunci penyerapan nutrisi yang baik. Jaga pola makan, kurangi stres, dan istirahat cukup. 🫂",
    },
    {
        "theme": "pertolongan pertama",
        "post": "{greet} 👋\n\nKotak P3K di rumah wajib ada! Isi dengan: plester, perban, antiseptik, obat luka, obat demam, dan obat alergi. Simpan di tempat yang mudah dijangkau tapi aman dari anak-anak. 😊",
        "reply1": "Terima kasih! 🙏 Periksa isi P3K secara berkala — ganti yang kedaluwarsa. Saat darurat, tidak ada waktu untuk belanja!",
        "reply2": "Pertolongan pertama yang tepat bisa menyelamatkan nyawa. Bekali diri dengan pengetahuan dasar P3K. Salam sehat! 🩹",
    },
    {
        "theme": "obat alergi",
        "post": "{greet} 👋\n\nAlergi bisa dipicu makanan, debu, serbuk sari, atau obat. Antihistamin membantu meredakan gejala. Tapi jika reaksi berat (sesak napas, bengkak), segera ke UGD! 😊",
        "reply1": "Terima kasih! 🙏 Catat riwayat alergi Anda dan keluarga. Informasi ini vital saat berobat atau dalam kondisi darurat.",
        "reply2": "Musim pancaroba sering memicu alergi. Sedia antihistamin di rumah dan kenali trigger alergi Anda masing-masing. 🌸",
    },
    {
        "theme": "obat nyeri",
        "post": "{greet} 👋\n\nNyeri sendi atau otot bisa diredakan dengan kompres hangat atau dingin. Untuk nyeri ringan, obat topikal (krim/plester) bisa jadi pilihan tanpa efek samping sistemik. 😊",
        "reply1": "Terima kasih! 🙏 Jangan konsumsi obat nyeri lebih dari yang dianjurkan. Overdosis parasetamol bisa merusak hati. Gunakan bijak!",
        "reply2": "Nyeri adalah sinyal dari tubuh. Jangan hanya dibius, cari tahu penyebabnya. Konsultasi dengan tenaga kesehatan untuk penanganan tepat. 💆",
    },
    {
        "theme": "kolesterol",
        "post": "{greet} 👋\n\nKolesterol tinggi sering tanpa gejala. Cek rutin sangat penting! Kendalikan dengan pola makan rendah lemak jenuh, perbanyak serat, dan olahraga teratur. 😊",
        "reply1": "Terima kasih! 🙏 Konsumsi oatmeal, ikan berlemak (salmon), dan alpukat. Batasi gorengan dan makanan olahan. Jantung sehat dimulai dari piring!",
        "reply2": "Kolesterol terkontrol = jantung lebih sehat. Jangan tunda pemeriksaan. Mencegah lebih baik daripada mengobati! ❤️",
    },
    {
        "theme": "diabetes",
        "post": "{greet} 👋\n\nCegah diabetes tipe 2 dengan menjaga berat badan ideal, olahraga rutin, dan batasi gula tambahan. Minum air putih lebih baik daripada minuman manis kemasan. 😊",
        "reply1": "Terima kasih! 🙏 Pemeriksaan gula darah rutin penting, terutama jika ada riwayat keluarga. Deteksi dini bisa mencegah komplikasi.",
        "reply2": "Gaya hidup sehat adalah kunci. Mulai dengan perubahan kecil — kurangi gula perlahan, jalan kaki 30 menit sehari. Tubuh akan berterima kasih! 🥗",
    },
    {
        "theme": "interaksi obat",
        "post": "{greet} 👋\n\nTahukah Anda? Beberapa obat tidak boleh dikonsumsi bersamaan. Misalnya, antasida bisa mengurangi penyerapan antibiotik. Selalu konsultasi dengan apoteker sebelum minum obat baru! 😊",
        "reply1": "Terima kasih! 🙏 Informasikan semua obat yang sedang dikonsumsi — termasuk suplemen dan herbal — saat berkonsultasi. Interaksi bisa berbahaya!",
        "reply2": "Keselamatan pasien adalah prioritas. Jangan ragu bertanya ke apoteker kami. Kami siap membantu 24 jam! 👩‍⚕️",
    },
    {
        "theme": "obat anak",
        "post": "{greet} 👋\n\nObat anak tidak sama dengan obat dewasa yang dibagi dosisnya. Gunakan obat yang khusus diformulasikan untuk anak dan ikuti dosis sesuai usia/berat badan. 😊",
        "reply1": "Terima kasih! 🙏 Simpan obat di tempat yang tidak terjangkau anak-anak. Gunakan tutup child-resistant. Keselamatan anak adalah prioritas!",
        "reply2": "Suhu tubuh anak perlu dipantau saat demam. Kompres air hangat dan beri obat penurun panas sesuai dosis. Jika kejang, segera ke dokter! 👶",
    },
]

THEMES["studiosoft_threads"] = [
    {
        "theme": "kecepatan website",
        "post": "{greet} 👋\n\n53% pengunjung pergi jika website lemot. Solusi: kompres gambar, aktifkan cache, pilih hosting cepat. Loading cepat = konversi tinggi. 😊",
        "reply1": "Benar! 🙏 Jangan lupa mobile-friendly. Sebagian besar akses dari HP — pastikan tampilan dan navigasi nyaman di layar kecil.",
        "reply2": "Intinya: kecepatan bukan bonus, tapi kebutuhan dasar. Setiap detik berarti untuk bisnis Anda! ⚡",
    },
    {
        "theme": "SEO dasar",
        "post": "{greet} 👋\n\nSEO tidak sulit. Mulai dari riset kata kunci, optimasi judul dan meta description, gunakan heading dengan benar. Lakukan konsisten dan pantau hasilnya. 😊",
        "reply1": "Tambahan: internal linking penting. Hubungkan artikel yang saling relevan. Bantu Google memahami struktur situs Anda.",
        "reply2": "SEO ibarat investasi jangka panjang. Hasil tidak instan, tapi akan bertahan lama. Sabar dan konsisten! 📈",
    },
    {
        "theme": "copywriting",
        "post": "{greet} 👋\n\nCopywriting ≠ nulis biasa. Nulis biasa: 'Kami jual sepatu.' Copywriting: 'Dapatkan sepatu yang bikin Anda percaya diri.' Bedakan! 😊",
        "reply1": "Setuju! Pakai formula AIDA: Attention, Interest, Desire, Action. Bikin headline yang bikin orang penasaran dan ingin baca lebih lanjut. 🎯",
        "reply2": "Copywriting yang baik fokus pada manfaat, bukan fitur. Pelanggan tidak peduli fitur, mereka peduli apa yang bisa didapatkan! ✍️",
    },
    {
        "theme": "mobile friendly",
        "post": "{greet} 👋\n\n60%+ traffic dari HP. Kalau website tidak responsif, Anda kehilangan banyak pelanggan potensial. Cek dengan Google Mobile-Friendly Test gratis! 😊",
        "reply1": "Pastikan tombol cukup besar untuk di-tap, teks tidak perlu di-zoom, dan menu navigasi berfungsi di layar kecil. Pengalaman mobile yang baik = konversi! 📱",
        "reply2": "Mobile-first bukan tren, tapi standar baru. Google juga mengutamakan versi mobile dalam peringkat pencarian. Wajib dioptimasi! 📲",
    },
    {
        "theme": "branding online",
        "post": "{greet} 👋\n\nBranding online bukan cuma logo keren. Konsistensi warna, font, dan gaya bicara di semua platform bikin brand Anda mudah dikenali dan dipercaya. 😊",
        "reply1": "Buat brand guideline sederhana dan patuhi. Pastikan tim dan desainer Anda mengacu pada panduan yang sama. Konsistensi adalah kunci! 🎨",
        "reply2": "Brand yang kuat bikin orang ingat dan merekomendasikan Anda. Bangun dengan sabar dan jaga kualitas! 🏆",
    },
    {
        "theme": "content marketing",
        "post": "{greet} 👋\n\nBikin konten yang bermanfaat, bukan cuma promosi. Edukasi audiens Anda dan mereka akan kembali untuk informasi lebih. Jadi sumber terpercaya di niche Anda! 😊",
        "reply1": "Buat jadwal konten dan konsisten. 1-2 artikel per minggu sudah cukup untuk memulai. Kualitas lebih penting dari kuantitas!",
        "reply2": "Content marketing adalah marathon, bukan sprint. Nikmati prosesnya dan hasil akan mengikuti! 📝",
    },
    {
        "theme": "website security",
        "post": "{greet} 👋\n\nHTTPS bukan opsional — wajib! Google memberi peringkat lebih baik untuk website HTTPS. Plus, pengunjung merasa lebih aman bertransaksi di website Anda. 😊",
        "reply1": "Tambahan: update CMS, theme, dan plugin secara rutin. Banyak serangan memanfaatkan celah keamanan yang sudah diperbaiki di versi terbaru. 🔒",
        "reply2": "Backup website secara berkala! Kalau terjadi masalah, Anda bisa pulihkan dengan cepat. Lebih baik sedia payung sebelum hujan! ☂️",
    },
    {
        "theme": "analytics penting",
        "post": "{greet} 👋\n\nTanpa analytics, Anda buta. Pasang Google Analytics sekarang juga untuk tahu: dari mana pengunjung datang? Halaman apa favorit mereka? Berapa lama mereka bertahan? 😊",
        "reply1": "Perhatikan bounce rate dan konversi. Jika bounce rate tinggi, evaluasi konten dan UX. Cari tahu kenapa pengunjung cepat pergi. 📊",
        "reply2": "Data adalah emas. Tapi hanya berguna jika Anda bertindak berdasarkan insight yang didapat. Analisis, ambil tindakan, ukur hasil! 🔍",
    },
    {
        "theme": "CTA efektif",
        "post": "{greet} 👋\n\nCTA lemah = konversi rendah. Pakai kata kerja yang jelas dan mendorong aksi. 'Daftar Gratis' > 'Klik Di Sini'. Letakkan di tempat strategis. 😊",
        "reply1": "Coba A/B testing untuk CTA Anda. Warna, teks, atau posisi berbeda bisa memberikan hasil yang sangat berbeda. Uji terus! 🔬",
        "reply2": "CTA yang efektif menciptakan urgensi. 'Penawaran Terbatas', 'Hanya Hari Ini', atau 'Kuota Terbatas' bisa meningkatkan klik secara signifikan! ⏰",
    },
    {
        "theme": "UX tips",
        "post": "{greet} 👋\n\nUX yang baik terasa alami. Pengunjung bisa mencapai tujuan tanpa berpikir. Navigasi intuitif, konten mudah dipindai, CTA jelas. Jangan bikin mereka bingung! 😊",
        "reply1": "Gunakan whitespace yang cukup. Jangan penuhi halaman dengan elemen. Ruang kosong membantu pengunjung fokus pada yang penting.",
        "reply2": "UX bukan biaya, tapi investasi. Setiap perbaikan UX = peningkatan konversi dan kepuasan pelanggan. Mulai dari yang paling berdampak! 🚀",
    },
    {
        "theme": "personal branding",
        "post": "{greet} 👋\n\nPersonal branding itu penting di era digital. Tentukan expertise Anda, konsisten bikin konten di niche itu, dan bangun otoritas. Orang akan datang pada ahlinya! 😊",
        "reply1": "Pilih satu platform utama dan kuasai. Lebih baik eksis di satu platform dengan konten berkualitas daripada setengah hati di banyak platform. 🎯",
        "reply2": "Personal branding itu proses. Tidak instan, tapi setiap posting, setiap interaksi, membangun reputasi Anda. Mulai hari ini! 🌟",
    },
    {
        "theme": "email marketing",
        "post": "{greet} 👋\n\nEmail marketing masih menjadi channel dengan ROI tertinggi. Kumpulkan email sejak dini, kirim newsletter bermanfaat, jangan cuma promo. Bangun relasi lewat inbox! 😊",
        "reply1": "Gunakan subject line yang menarik. Orang memutuskan membuka email dalam 2 detik pertama. Judul yang membosankan = masuk folder spam. 📧",
        "reply2": "Segmentasi daftar email berdasarkan minat. Kirim konten yang relevan untuk masing-masing segmen. Personalisasi meningkatkan engagement! 🎯",
    },
]

THEMES["dmark_threads"] = [
    {
        "theme": "branding otomasi",
        "post": "{greet} 👋\n\nBranding tanpa otomasi? Keren tapi lambat. Otomasi tanpa branding? Cepat tapi lupa. Keduanya wajib dijalani bersamaan. Contoh gak jauh: sistem follow-up otomatis bikin layanan consistent, bikin brand experience terasa.",
        "reply1": "3 area krusial: Customer Journey, Konsistensi Komunikasi, & Data Strategis. Optimasi semua bisa bikin pertumbuhan 2x lipat!",
        "reply2": "Audit sistem dulu, otomatiskan proses repetitif, baru strategi branding. Tak lama pertama tumbuh terasa!",
    },
    {
        "theme": "brand experience",
        "post": "{greet} 👋\n\nBrand experience bukan cuma visual. Ini perasaan customer dari awal kenal sampai setelah beli. Setiap touchpoint harus konsisten — website, media sosial, layanan, bahkan invoice!",
        "reply1": "Touchpoint paling sering diabaikan: follow-up pasca-pembelian. Ini justru membuat brand dikenang atau dilupakan.",
        "reply2": "Tips: buat SOP untuk semua interaksi, terus evaluasi tiap bulan. Konsistensi itu hasil dari sistem!",
    },
    {
        "theme": "brand positioning",
        "post": "{greet} 👋\n\nBrand positioning bukan cuma soal beda. Ini soal beda dengan alasan yang jelas & dikenang. Contoh: bukan 'klinik kecantikan' tapi 'klinik spesialis kulit dengan dokter khusus'.",
        "reply1": "Posisi yang kuat bikin customer milih Anda tanpa harus lihat harga. Mereka percaya Anda punya jawaban spesifik untuk mereka.",
        "reply2": "Buat positioning Anda: 1 kata unik + 1 manfaat utama. Misal: 'Praktis', 'Mengedukasi', 'Eksklusif'.",
    },
    {
        "theme": "brand voice",
        "post": "{greet} 👋\n\nBrand voice adalah cara brand bicara. Ini membuat Anda mudil diingat. Voice yang konsisten bikin customer 'ngerasain' brand Anda sebelum sampe lokasi!",
        "reply1": "Voice yang natural pakai bahasa sehari-hari, tapi tetap profesional. Hindari istilah berat atau bahasa terlalu teknis.",
        "reply2": "Catat gaya bicara brand Anda: formal/santai, humor/serius, penuh emoji/flat. Konsistensi voice = brand recognition!",
    },
    {
        "theme": "brand trust",
        "post": "{greet} 👋\n\nBrand trust dibangun dengan konsistensi, transparansi, dan kepastian. Customer mau gak capek cari alternatif kalo sudah percayakan pada brand.",
        "reply1": "Trust itu aset tak terlihat. Sulit dibangun, gampang hilang. Satu kesalahan kecil bisa rusak 10 tahun build!",
        "reply2": "Update rutin, respon cepat, transparan pada proses. Ini 3 cara mudah bikin trust bertumbuhan!",
    },
    {
        "theme": "brand differentiation",
        "post": "{greet} 👋\n\nDifferentiation bukan cuma 'kami beda'. Ini bukti bahwa Anda punya solusi khusus masalah mereka. Harga? Service? Proses? Atau teknologi?",
        "reply1": "Sebuah brand bisa punya banyak diferensi, tapi fokus pada 1 yang paling 'ngegas' di hati customer target.",
        "reply2": "Differentiation terkuat = alasan customer pilih Anda tanpa negotiable. Itu yang dibangun dengan konsistensi!",
    },
    {
        "theme": "brand consistency",
        "post": "{greet} 👋\n\nKonsistensi brand membuat otak customer 'recognition'. Logo, warna, bahasa, layanan — semua harus nyambung. Inilah yang bikin brand 'auto-complete' di pikiran.",
        "reply1": "Jangan cuma konsisten di media sosial. Website, brosur, invoice, sampai email signature harus nyambung!",
        "reply2": "Buat brand guideline sederhana: 3 warna utama, 2 font, 3 kata kunci voice. Sekitar itu cukup!",
    },
    {
        "theme": "brand story",
        "post": "{greet} 👋\n\nBrand story bukan cerita dramatis. Ini mengapa brand ada, bagaimana menyelesaikan masalah, dan siapa yang dipercaya untuk menyelesaikannya.",
        "reply1": "Cerita yang baik membuat customer ikut bagian dari cerita Anda. Mereka bukan cuma pembeli, tapi bagian dari perjalanan.",
        "reply2": "Mulailah dari 3 pertanyaan: Kenapa brand ini ada? Apa misinya? Siapa yang dipercaya? Story terkuat = empati pertama!",
    },
    {
        "theme": "brand identity",
        "post": "{greet} 👋\n\nBrand identity adalah 'wajah' yang dikenali publik. Bukan sekadar logo, tapi keseluruhan pengalaman dari warna, tipografi, sampai suara.",
        "reply1": "Identity yang kuat bikin customer bisa 'mengira' konten Anda tanpa liat nama brand. Itu daya beli branding!",
        "reply2": "Audit identity Anda: ubah logo, cek apakah orang masih mengenali. Kalau tidak, pertimbangkan refresh!",
    },
    {
        "theme": "brand audit",
        "post": "{greet} 👋\n\nBrand audit rutin itu penting. Cek apakah messaging masih relevan, visual masih fresh, voice masih natural, layanan masih konsisten.",
        "reply1": "Audit tidak harus mahal. Tanya 3 hal: Apakah brand Anda masih relevan? Kenapa? Apa yang berubah dari kompetitor?",
        "reply2": "Lakukan audit tiap kuartal. Update identity, refresh gaya bicara, dan bandingkan performa brand Anda!",
    },
    {
        "theme": "brand refresh",
        "post": "{greet} 👋\n\nBrand refresh bukan ganti total. Ini pembaruan yang tetap pegang esensi brand Anda. Fokus pada elemen yang sudah usang — biasanya warna atau tipografi.",
        "reply1": "Jangan ganti logo kalo belum ada masalah. Yang lebih penting: apakah messaging masih tepat untuk generasi sekarang?",
        "reply2": "Refresh yang aman: ubah warna sekunder, update voice, tambah elemen modern. Esensi utama tetap!",
    },
]

THEMES["uky_threads"] = [
    {
        "theme": "SEO penting",
        "post": "{greet} 👋\n\nSEO bukan magic — matematika. Riset kata kunci, optimasi on-page, bangun backlink. Lakukan rutin, hasilnya bertahap. Banyak yang pikir cukup pasang meta tag doang, padahal ada 200+ faktor ranking.",
        "reply1": "SEO itu investasi jangka panjang. 3-6 bulan baru terasa. Tapi efeknya kumulatif — makin lama makin kuat. Sabar dan konsisten, hasilnya nyata.",
        "reply2": "Yang paling sering dilupakan: user intent. Google makin pintar baca niat pencari. Konten Anda harus jawab yang mereka cari, bukan cuma berisi kata kunci.",
    },
    {
        "theme": "AI bukan ancaman",
        "post": "{greet} 👋\n\nAI bukan untuk menggantikan kita — tapi untuk bikin kita lebih efisien. Gunakan AI untuk riset, draft konten, analisis data. Manusianya tetap yang kasih sentuhan strategi dan kreativitas.",
        "reply1": "Tools AI favorit saya buat daily: ChatGPT buat draft konten, Claude buat analisis dokumen, Perplexity buat riset cepat. Masing-masing punya keunggulan. Kenali dan manfaatkan.",
        "reply2": "Peringatan: jangan percaya buta pada AI. Verifikasi fakta, koreksi gaya, improvisasi. AI itu asisten, bukan bos. Anda tetap pemegang kendali strategi.",
    },
    {
        "theme": "GEO era baru",
        "post": "{greet} 👋\n\nGEO — Generative Engine Optimization. Optimasi untuk AI search kayak Gemini, Perplexity, ChatGPT Search. Bedanya dengan SEO tradisional: fokus pada structured content, authoritative source, dan conversational intent.",
        "reply1": "Cara optimasi GEO: sitasi jelas, data terstruktur, penjelasan yang langsung menjawab. AI engine suka informasi yang bisa langsung dicomot sebagai jawaban.",
        "reply2": "GEO belum gantikan SEO. Tapi ini pelengkap yang makin penting. Mulai sekarang: buat FAQ page, gunakan schema markup, dan pastikan konten Anda terjawab langsung.",
    },
    {
        "theme": "sosmed strategis",
        "post": "{greet} 👋\n\nMedia sosial bukan hanya untuk 'hura-hura'. Ini kanal distribusi konten. Tentukan platform yang sesuai target audiens, konsisten posting, dan engage dengan pengikut. Jangan cuma broadcast.",
        "reply1": "Lebih baik kuasai satu platform daripada setengah hati di banyak tempat. Kenali algoritma masing-masing platform dan sesuaikan format konten. Setiap platform punya culture sendirian.",
        "reply2": "Konsistensi > viral. Posting rutin > posting heboh setahun sekali. Bangun kehadiran harian, respon komentar, dan jadi bagian dari komunitas. Itu sosial media yang sejati.",
    },
    {
        "theme": "digital marketing 101",
        "post": "{greet} 👋\n\nDigital marketing bukan cuma Facebook Ads. Ekosistemnya luas: SEO, content marketing, email marketing, influencer, paid ads, dan referral. Semua saling melengkapi. Jangan bertumpu pada satu kaki.",
        "reply1": "Mulai dari yang gratis dulu: SEO dan konten. Setelah ada traffic organik, baru extend ke paid ads. Efisien dan hasil lebih terukur. Jangan langsung gelontorin budget ke iklan tanpa strategi.",
        "reply2": "Tracking itu wajib. Google Analytics, Meta Pixel, UTM parameters — ukur semuanya. Tanpa data, Anda cuma melempar panah di gelap. Data-driven decision making itu kunci.",
    },
    {
        "theme": "quotes life 1",
        "post": "{greet} 👋\n\n'Kesuksesan bukan akhir, kegagalan bukan fatal. Yang terpenting adalah keberanian untuk melanjutkan.' — Winston Churchill\n\nGue selalu ingat ini saat bisnis terasa berat. Setiap founder pasti punya masa-masa down. Yang bedain cuma siapa yang bangkit.",
        "reply1": "Banyak orang menyerah tepat sebelum terobosan. Kalau hari ini berat, mungkin besok adalah titik balik. Tetaplah bergerak, walau hanya selangkah.",
        "reply2": "Coba refleksi: seberapa jauh Anda sudah melangkah? Kadang kita terlalu fokus pada tujuan akhir sampai lupa menghargai progress. Nikmati setiap langkahnya.",
    },
    {
        "theme": "quotes life 2",
        "post": "{greet} 👋\n\n'Orang yang paling sukses adalah mereka yang belajar dari kegagalan tanpa kehilangan semangat.' — Tidak ada yang sempurna di awal. Semua butuh proses.\n\nPernah punya proyek gagal? Saya juga. Pelajarannya jadi bekal untuk sukses berikutnya.",
        "reply1": "Jangan bandingkan Chapter 1 Anda dengan Chapter 20 orang lain. Semua punya timeline sendiri. Fokus pada growth diri sendiri, bukan bersaing dengan pencapaian orang lain.",
        "reply2": "Satu kegagalan bukan akhir dari segalanya. Ini hanya batu loncatan. Selama Anda masih belajar dan bergerak, Anda belum kalah. Keep going!",
    },
    {
        "theme": "quotes life 3",
        "post": "{greet} 👋\n\n'Mulai dari mana pun, yang penting mulai.' Kebanyakan orang terlalu lama menunggu waktu yang sempurna. Padahal waktu yang sempurna tidak akan pernah datang.\n\nIde bagus tanpa eksekusi = cuma khayalan.",
        "reply1": "Imperfect action > perfect inaction. Produk pertama tidak harus sempurna. Jangan takut rilis beta, dengar feedback, iterasi. Cara terbaik belajar adalah melakukan.",
        "reply2": "Kalau Anda punya ide yang sudah dipendam >3 bulan, coba mulai hari ini. Buat versi paling sederhana dulu. Progress itu lebih baik dari stagnasi.",
    },
    {
        "theme": "SEO teknis",
        "post": "{greet} 👋\n\nSEO teknis itu fondasi. Site speed, mobile-friendly, sitemap XML, robots.txt, canonical URL. Kalau dasar goyang, konten sebagus apapun susah terindex. Perbaiki dulu teknisnya.",
        "reply1": "Cek Google Search Console rutin. Lihat coverage report, fix error pages, kirim sitemap. Pantau Core Web Vitals. Google kasih data lengkap, tinggal kita eksekusi.",
        "reply2": "Core Web Vitals: LCP <2.5s, FID <100ms, CLS <0.1. Kalau belum mencapai, itu prioritas utama. Kecepatan dan kenyamanan pengguna jadi ranking signal sejak 2021.",
    },
    {
        "theme": "AI content strategy",
        "post": "{greet} 👋\n\nPakai AI untuk content strategy: analisis kompetitor, riset topik, bikin outline, draft artikel. Tapi jangan copy-paste mentah-mentah. Beri konteks, tambah insight pribadi, dan edit dengan suara Anda sendiri. AI + sentuhan manusia = konten juara.",
        "reply1": "Cara saya: prompt AI untuk riset dan draft, lalu tulis ulang dengan gaya sendiri. Hasilnya lebih orisinal dan punya 'soul'. Google juga bisa bedakan konten AI mentahan.",
        "reply2": "Gunakan AI untuk bikin variasi konten: satu artikel blog → jadi 5 postingan Threads → infografis → video pendek. Satu ide, banyak format. Efisiensi maksimal.",
    },
    {
        "theme": "quotes life 4",
        "post": "{greet} 👋\n\n'Jangan menghabiskan waktu untuk mencari jati diri. Ciptakan jati diri dengan melakukan hal-hal yang berarti.' — Kita adalah hasil dari apa yang kita lakukan berulang kali, bukan apa yang kita pikirkan.",
        "reply1": "Action speaks louder than words. Ingin jadi ahli SEO? Mulai optimasi website sendiri. Ingin jadi kreator? Posting konten hari ini. Ingin jadi entrepreneur? Jualan sesuatu sekarang.",
        "reply2": "Identitas dibentuk oleh kebiasaan. Kalau Anda ingin jadi versi terbaik diri sendiri, mulailah dengan mengubah kebiasaan harian. Perubahan besar dimulai dari langkah kecil.",
    },
    {
        "theme": "digital presence",
        "post": "{greet} 👋\n\nDigital presence bukan cuma soal posting. Ini tentang kredibilitas. Website profesional + konten bermanfaat + testimoni nyata + konsistensi = kepercayaan. Orang mencari Anda bukan karena Anda hebat, tapi karena mereka percaya Anda bisa bantu mereka.",
        "reply1": "Bangun topikal authority di niche Anda. Jadi rujukan untuk topik spesifik. Bukan generalis yang tahu sedikit tentang banyak hal. Spesialisasi menciptakan otoritas.",
        "reply2": "Konsistensi adalah kunci membangun kepercayaan. Posting seminggu sekali setahun lebih berharga daripada posting setiap hari selama sebulan lalu hilang. Kehadiran yang konsisten membangun pengikut setia.",
    },
]


THEMES["tslaw_threads"] = [
    {
        "theme": "legal bisnis",
        "post": "{greet} 👋\n\nLegalitas bukan cuma urusan kantor. Ini fondasi bisnis yang kuat. Tanpa legal yang jelas, pertumbuhan terbatas & risiko tinggi. Mulai dari struktur perusahaan yang tepat!",
        "reply1": "Legalitas yang tepat bikin investor & mitra percaya. Ini juga batasan yang jelas buat skala bisnis Anda!",
        "reply2": "Audit legal rutin itu penting. Bukan karena takut kena tilang, tapi untuk proteksi jangka panjang!",
    },
    {
        "theme": "contract penting",
        "post": "{greet} 👋\n\nKontrak bukan formalitas belaka. Ini perlindungan bagi bisnis & klien. Isinya: scope, timeline, payment, & konsekuensi bila tidak tepati.",
        "reply1": "Kontrak yang rapi bikin kerja bareng terasa profesional & nyaman. Klien pun lebih yakin untuk kolaborasi!",
        "reply2": "Buat template kontrak sederhana: 3 bagian penting. Scope kerja, sistem pembayaran, & revisi. Ini cukup 70% kasus!",
    },
    {
        "theme": "migrasi bisnis",
        "post": "{greet} 👋\n\nMigrasi ke legalitas baru harus dipikir matang. Bukan cuma soal pajak, tapi juga konsekuensi hukum & perpajakan. Konsultasi dulu sebelum eksekusi!",
        "reply1": "Migrasi CPM ke PMA contoh klasik. Perlu 10 dokumen, 3 lembaga, & proses 2-3 bulan. Rencangannya harus detail!",
        "reply2": "Bukan takut, tapi waspada. Rencana migrasi yang matang bikin transisi lancar & tak ada kendala mendadak!",
    },
    {
        "theme": "intellectual property",
        "post": "{greet} 👋\n\nHKI bukan cuma untuk brand besar. Ini juga perlindungan kecil-bangsa: merek dagang, paten, desain, & hak cipta. Lindungi aset Anda!",
        "reply1": "HKI yang kuat bikin kompetitor susah meniru. Bukan cuma pelaporan, tapi juga monitoring terus-menerus!",
        "reply2": "HKI itu investasi. 1% dari value brand seharusnya dialokasikan untuk perlindungan. Hitung sekarang!",
    },
    {
        "theme": "compliance rutin",
        "post": "{greet} 👋\n\nCompliance rutin itu seperti ganti oli. Tidak terlihat hasilnya, tapi krus untuk jangsa maksimal. Lapor pajak, audit kepatuhan, & pembaruan dokumen!",
        "reply1": "Karyawan & freelancer punya compliance berbeda. Jangan campur! Setiap punya aturan masing-masing!",
        "reply2": "Buat reminder rutin tiap kuartal. Bulan berikutnya pasti ada yang harus dikumpulkan. Jangan sampai ketingalan!",
    },
    {
        "theme": "perdata bisnis",
        "post": "{greet} 👋\n\nPerdata bukan cuma soal sengketa. Ini juga perlindungan ketika ada yang tidak tepati kontrak. Dari klien yang gagal bayar sampai mitra yang tidak menjalani SLA.",
        "reply1": "Penyelesaian perdata tidak harus ke pengacara. Mediasi dulu untuk bahas solusi damai!",
        "reply2": "Dokumen lengkap itu kunci. Invoice, bukti komunikasi, & kontrak jadi bukti utama di persidangan!",
    },
    {
        "theme": "pidana bisnis",
        "post": "{greet} 👋\n\nPidana bisnis bukan hal yang mustahil. Ini bisa terjadi ketika terjadi pelanggaran peraturan perundang-undangan — termasuk larangan usaha!",
        "reply1": "Hindari bisnis tanpa izin. Ini risiko tidak hanya pada diri, tapi juga aset & rekan bisnis!",
        "reply2": "Konsultasi dulu sebelum ekspansi. Ada izin khusus untuk setiap bidang. Tidak semua umum!",
    },
    {
        "theme": "merger akuisisi",
        "post": "{greet} 👋\n\nM&A bukan cuma soal nilai. Ini juga soal legalitas, struktur kepemilikan, dan kelanjutan layanan. Siapkan semua dokumen penting!",
        "reply1": "Merger butuh 5 dokumen krus: akta notaris, perubahan anggaran das, izin usaha, dan laporan keuangan 2 tahun ke belakang!",
        "reply2": "Jangan terburu-buru dalam M&A. Due diligence itu penting buat hindari masalah di masa depan!",
    },
    {
        "theme": "legal digital",
        "post": "{greet} 👋\n\nLegal untuk bisnis digital beda dengan fisik. EULA, privacy policy, terms of service — ini wajib untuk platform & aplikasi!",
        "reply1": "Peraturan perlindungan data pribadi (UU ITE) sangat ketat. Ketahui hak-hak user untuk hindari sengketa!",
        "reply2": "Update legal digital rutin. Regulasi tech cepat berubah, jangan sampai ketingalan!",
    },
    {
        "theme": "tax evasion",
        "post": "{greet} 👋\n\nTax evasion itu kriminal — beda dengan tax optimization. Optimasi sah pakai struktur terbaik & fasilitas pajak yang legal!",
        "reply1": "Optimasi pajak butuh rencana awal — dari struktur perusahaan sampai pemilihan bidang usaha!",
        "reply2": "Konsultasi pajak rutin itu penting. Bukan untuk menghindari, tapi untuk optimalisasi yang sah!",
    },
    {
        "theme": "legal startup",
        "post": "{greet} 👋\n\nStartup butuh legalitas yang cepat & fleksibel. Co-founder agreement, shareholder, vesting schedule — ini penting buat hindari konflik di kemudian!",
        "reply1": "Legalitas startup idealnya dikerjakan sebelum seed round. Ini bikin investor lebih percaya!",
        "reply2": "Equity sharing yang jelas itu kunci. Bukan soal persentase, tapi tentang ekspektasi & kontribusi tiap co-founder!",
    },
    {
        "theme": "legal compliance",
        "post": "{greet} 👋\n\nLegal compliance itu jaminan bisnis terlindar. Dari laporan keuangan sampai kepatuhan lingkungan — semua butuh dokumen khusus!",
        "reply1": "Compliance bukan beban. Ini investasi untuk pertumbuhan jangka panjang tanpa hambatan!",
        "reply2": "Audit compliance rutin mencegah masalah. Lakukan tiap akhir tahun!",
    },
    {
        "theme": "kerja cerdas",
        "post": "{greet} 👋\n\nSukses bukan kerja keras tanpa henti. Sukses itu kerja cerdas + istirahat cukup + tim yang tepat. Delegasi, buat SOP, dan percayakan tugas pada orang yang tepat. 😊",
        "reply1": "Setuju! Gunakan tools management project, buat sistem, dan lepaskan kontrol sedikit. Mikromanajemen hanya bikin capek sendiri dan tim. 🤝",
        "reply2": "Ingat: Anda tidak harus mengerjakan semuanya. Fokus pada apa yang hanya Anda bisa lakukan, delegasikan sisanya. Scaling dimulai dari sini! 🚀",
    },
    {
        "theme": "klien tepat",
        "post": "{greet} 👋\n\nFilter klien itu penting. Lebih baik punya sedikit klien yang tepat daripada banyak klien yang bikin stres. Kualitas > kuantitas. Berani bilang tidak! 😊",
        "reply1": "Klien ideal: bayar tepat waktu, respect proses, dan feedback membangun. Kalau ada red flags sejak awal, sebaiknya hindari. 🎯",
        "reply2": "Pernah mengalami klien yang tidak cocok? Itu pelajaran berharga. Sekarang saya lebih selektif dan bisnis jadi lebih sehat. 💪",
    },
    {
        "theme": "belajar terus",
        "post": "{greet} 👋\n\nDunia berubah cepat. Yang work tahun lalu belum tentu work sekarang. Kuncinya: terus belajar. Sisihkan waktu tiap minggu untuk baca atau ikut kursus. Investasi terbaik! 😊",
        "reply1": "Pilih satu skill baru tiap kuartal dan pelajari dalam-dalam. Jangan setengah-setengah. Lebih baik ahli di satu bidang daripada tahu banyak tapi dangkal. 📚",
        "reply2": "Belajar tidak harus formal. YouTube, podcast, blog, atau ngobrol dengan mentor — semua sumber belajar. Manfaatkan! 🌱",
    },
    {
        "theme": "konsistensi",
        "post": "{greet} 👋\n\nKonsistensi mengalahkan intensitas. Lebih baik melakukan hal kecil setiap hari daripada melakukan hal besar sekali lalu berhenti. Progress harian = hasil besar. 😊",
        "reply1": "Bangun kebiasaan, bukan hanya target. Target memberi arah, kebiasaan yang membuat Anda sampai. Fokus pada sistem, bukan tujuan. 🎯",
        "reply2": "Jangan remehkan efek gabungan dari perbaikan 1% setiap hari. Dalam setahun, Anda akan menjadi 37x lebih baik. Konsisten! 📈",
    },
    {
        "theme": "gagal itu guru",
        "post": "{greet} 👋\n\nSaya gagal berkali-kali sebelum sukses. Setiap kegagalan ngajarin sesuatu yang tidak bisa diajarkan kesuksesan. Jangan takut gagal — takutlah untuk tidak belajar dari kegagalan. 😊",
        "reply1": "Catat dan analisis setiap kegagalan. Apa penyebabnya? Apa yang bisa diperbaiki? Ini akan jadi kompas untuk langkah selanjutnya. 🔍",
        "reply2": "Kegagalan cuma jalan memutar, bukan jalan buntu. Yang penting bangkit dan terus maju. Setiap founder sukses punya cerita gagal yang panjang! 💪",
    },
    {
        "theme": "jaringan",
        "post": "{greet} 👋\n\nJaringan yang tulus itu berharga. Bukan sekadar saling kenal, tapi saling membantu. Beri nilai dulu sebelum minta tolong. Hubungan baik = bisnis baik. 😊",
        "reply1": "Kualitas lebih penting dari kuantitas. Lebih baik 5 koneksi kuat daripada 500 koneksi dangkal. Rawat hubungan yang benar-benar berarti. 🤝",
        "reply2": "Networking itu bukan transaksional. Bangun pertemanan, bukan hanya kontak. Orang akan merekomendasikan Anda karena mereka percaya, bukan karena mereka punya kartu nama Anda. 🌟",
    },
    {
        "theme": "fokus niche",
        "post": "{greet} 👋\n\nSpesialisasi adalah kunci. Jadi ahli di satu bidang lebih baik daripada generalis di banyak bidang. Orang mencari yang terbaik, bukan yang bisa semuanya. 😊",
        "reply1": "Tentukan niche yang Anda kuasai dan ada pasarnya. Fokus dalam-dalam. Dengan spesialisasi, Anda bisa pasang harga premium. 🎯",
        "reply2": "Niche itu seperti lahan. Gali sumur sedalam mungkin di satu titik, bukan membuat banyak lubang dangkal. Hasilnya akan lebih memuaskan! 💎",
    },
    {
        "theme": "value pricing",
        "post": "{greet} 👋\n\nJangan takut pasang harga tinggi jika value Anda sebanding. Bisnis bukan lomba murah-murahan. Tunjukkan ROI yang didapat klien, bukan sekadar biaya produksi. 😊",
        "reply1": "Klien yang menghargai kualitas tidak akan keberatan dengan harga premium. Justru harga murah sering menarik klien yang rewel dan demanding. ⚠️",
        "reply2": "Bersainglah pada value, bukan harga. Differentiation adalah kunci. Buat diri Anda berbeda dan tak tergantikan! 💪",
    },
    {
        "theme": "tim kuat",
        "post": "{greet} 👋\n\nBisnis tidak bisa jalan sendiri. Tim yang solid adalah fondasi. Bangun kultur saling percaya, komunikasi terbuka, dan apresiasi yang tulus. Tim bahagia = produktivitas tinggi. 😊",
        "reply1": "Rekrut orang yang lebih pintar dari Anda di bidangnya. Tugas Anda adalah mengarahkan, bukan mengerjakan semuanya. Empowering tim adalah skill! 🤝",
        "reply2": "Investasi pada pengembangan tim. Dikirim training, belikan buku, atau kursus online. Tim yang bertumbuh = bisnis yang bertumbuh! 🌱",
    },
    {
        "theme": "keseimbangan",
        "post": "{greet} 👋\n\nWork-life balance bukan mitos. Dengan sistem yang baik, delegasi yang tepat, dan boundaries yang jelas, Anda bisa sukses tanpa mengorbankan keluarga dan kesehatan. 😊",
        "reply1": "Tetapkan jam kerja, matikan notifikasi di luar jam, dan libatkan keluarga dalam perjalanan bisnis Anda. Dukungan keluarga adalah kekuatan. 🏠",
        "reply2": "Bisnis yang sukses adalah yang membuat Anda bahagia menjalaninya, bukan yang menguras energi. Refleksi rutin, evaluasi, dan sesuaikan! 🌟",
    },
    {
        "theme": "keberanian",
        "post": "{greet} 👋\n\nKeberanian mengambil risiko adalah ciri entrepreneur. Tapi bedakan antara risiko kalkulatif dan kesembronoan. Pelajari, hitung, lalu lompat! 😊",
        "reply1": "Risiko terbesar adalah tidak mengambil risiko apa pun. Dunia berubah dan Anda harus bergerak. Yang stagnan akan tertinggal! 🚀",
        "reply2": "Keberanian bukan berarti tidak takut. Keberanian adalah bertindak meskipun takut. Itulah yang membedakan mereka yang sukses dan yang hanya bermimpi! 💪",
    },
    {
        "theme": "growth mindset",
        "post": "{greet} 👋\n\nGrowth mindset adalah percaya bahwa kemampuan bisa dikembangkan. Bukan bakat bawaan. Dengan mindset ini, tantangan adalah kesempatan, bukan ancaman. Kuncinya! 😊",
        "reply1": "Ganti 'saya tidak bisa' dengan 'saya belum bisa'. Satu kata mengubah perspektif dan membuka kemungkinan. Bahasa membentuk realitas! 🧠",
        "reply2": "Teruslah ingin tahu. Orang dengan growth mindset tidak pernah berhenti belajar. Mereka melihat potensi di mana orang lain melihat hambatan. 🌱",
    },
]

# ==================== PELACAK DEDUP ====================

def load_theme_hashes():
    """Load set of theme hashes that have already been posted."""
    if not os.path.exists(THEME_TRACK_FILE):
        return set()
    try:
        with open(THEME_TRACK_FILE, "r") as f:
            data = json.load(f)
        return set(data.get("used", []))
    except:
        return set()

def save_theme_hashes(used_set):
    """Save used theme hashes to disk."""
    with open(THEME_TRACK_FILE, "w") as f:
        json.dump({"used": list(used_set)}, f)

def make_content_hash(text):
    """Create a stable hash from text content for tracking."""
    # Normalize: lowercase, strip whitespace, remove common emoji
    clean = text.lower().strip()
    return hashlib.md5(clean.encode("utf-8")).hexdigest()

def pick_fresh_content(pool_key, used_hashes):
    """Pick a random unused theme for this account.
    
    Returns tuple (theme_dict, content_hash) where hash is built from
    the post text. Kalau semua tema sudah terpakai → return (None, None)
    supaya akun di-SKIP. TIDAK PERNAH posting ulang tema lama.
    """
    themes = THEMES.get(pool_key, [])
    if not themes:
        return None, None
    
    # Find unused
    available = []
    for t in themes:
        h = make_content_hash(t["post"])
        if h not in used_hashes:
            available.append((t, h))
    
    if not available:
        # ⚠️ Semua tema sudah pernah diposting — JANGAN reset / posting ulang!
        print(f"  ⚠️ {pool_key}: semua tema sudah terpakai — SKIP (tidak posting ulang, butuh tema baru)")
        return None, None
    
    return random.choice(available)

def render(text, greeting, brand=None):
    """Replace {greet} and other placeholders in text."""
    result = text.replace("{greet}", greeting)
    if brand:
        result = result.replace("{brand}", brand)
    return result


def get_posted_samples():
    posted = set()
    if os.path.exists(LOG_FILE):
        with open(LOG_FILE, 'r') as f:
            for line in f:
                line = line.strip()
                if line and not line.startswith('=') and not line.startswith('---'):
                    posted.add(line[:60])
    return posted


def load_slot_tracker():
    """Load slot tracker — dict {date: [slot_indexes]} untuk mencegah double post."""
    if not os.path.exists(SLOT_TRACK_FILE):
        return {}
    try:
        with open(SLOT_TRACK_FILE, 'r') as f:
            return json.load(f)
    except:
        return {}

def save_slot_tracker(tracker):
    with open(SLOT_TRACK_FILE, 'w') as f:
        json.dump(tracker, f)

def is_slot_occupied(slot_idx, today_str, tracker):
    """Cek slot dari tracker lokal + Repliz API"""
    today_slots = tracker.get(today_str, [])
    if slot_idx in today_slots:
        return True
    try:
        req = urllib.request.Request(f'{BASE}/public/schedule?page=1&limit=200', headers=HEADERS)
        with urllib.request.urlopen(req) as r:
            data = json.loads(r.read())
        target_hour = SLOT_HOURS[slot_idx]
        for doc in data.get('docs', []):
            sched = doc.get('scheduleAt', '')
            if sched and today_str in sched[:10]:
                hour = int(sched[11:13])
                if hour == target_hour:
                    return True
    except:
        pass
    return False

def get_pending_slot(tracker):
    """Cari slot kosong berikutnya hari ini"""
    today_str = datetime.now(WIB).strftime("%Y-%m-%d")
    now_hour = datetime.now(WIB).hour
    now_min = datetime.now(WIB).minute
    for i, hour in enumerate(SLOT_HOURS):
        if hour < now_hour or (hour == now_hour and now_min > 30):
            continue
        if is_slot_occupied(i, today_str, tracker):
            continue
        return i
    return None


def make_iso_wib(slot_hour):
    today = datetime.now(WIB).strftime("%Y-%m-%d")
    return f"{today}T{slot_hour:02d}:00:00+07:00"


def make_iso_wib_with_minute(slot_hour, minute_offset):
    """Buat ISO timestamp dengan offset menit (0, 1, 2, ...)"""
    today = datetime.now(WIB).strftime("%Y-%m-%d")
    return f"{today}T{slot_hour:02d}:{minute_offset:02d}:00+07:00"


ACCOUNTS = [
    ("StudioSoft FB",      "6a334952c5ff4ce3a3225941", "studiosoft_fb",       "facebook"),
    ("StudioSoft LinkedIn", "6a334c49c5ff4ce3a32259c9", "studiosoft_linkedin", "linkedin"),
    ("Uky LinkedIn",       "6a33ca10c5ff4ce3a322705d", "uky_linkedin",        "linkedin"),
    ("DMark LinkedIn",     "6a350ecbc5ff4ce3a32299ce", "dmark_linkedin",      "linkedin"),
    ("Apotek Arlek IG",    "6a37287bc5ff4ce3a322dab5", "apotek_arlekg",       "instagram"),
    ("StudioSoft Threads", "6a335b9ec5ff4ce3a3225c2a", "studiosoft_threads",  "threads"),
    ("Uky Threads",        "6a334e89c5ff4ce3a3225a48", "uky_threads",         "threads"),
    ("TS Law Threads",     "6a35f8b7c5ff4ce3a322b2ed", "tslaw_threads",       "threads"),
    ("DAS Threads",        "6a39e461c5ff4ce3a3233e09", "das_threads",         "threads"),
    ("TSC Threads",        "6a4bbc5920e4f4f195e52960", "tsc_threads",         "threads"),
    ("DMark Threads",      "6a3574c6c5ff4ce3a3228d70", "dmark_threads",      "threads"),
]

GREETINGS["tslaw_threads"] = ["Halo, Sahabat TS Law!", "Hai, Sahabat Hukum!", "Selamat beraktivitas!"]
GREETINGS["das_threads"] = ["Halo, Sobat Otomotif!", "Hai, pecinta mesin!", "Selamat berkarya!"]
GREETINGS["tsc_threads"] = ["Halo, Sahabat Kulit Sehat!", "Hai, pencinta skincare!", "Selamat beraktivitas!"]
GREETINGS["dmark_threads"] = ["Halo, para kreator!", "Hai, pebisnis kreatif!", "Selamat berkreasi!"]


def post_nested(account_id, texts, slot_hour, plat):
    """Post nested: Post 1 → Reply 2 → Reply 3 (jeda 1 menit)"""
    parent_id = None
    ids = []
    
    for i, text in enumerate(texts):
        # Jadwal: Post jam X:00, Reply1 X:01, Reply2 X:02
        minute_offset = i  # 0, 1, 2
        iso = make_iso_wib_with_minute(slot_hour, minute_offset)
        
        # VALIDASI KETAT Threads (FIXED 5 Agustus 2026): max 500 karakter + link nyala. JANGAN potong.
        if plat == "threads":
            try:
                text = cek_teks_threads(text, label=f"{'Post' if i == 0 else 'Reply'}")
            except ThreadsTextError as e:
                print(f"    SKIP: {e}")
                if i == 0:
                    break  # post utama gagal → reply juga gak usah
                continue
        
        payload = {
            "title": "",
            "description": text,
            "topic": "",
            "type": "text",
            "medias": [],
            "meta": {"title": "", "description": "", "url": ""},
            "additionalInfo": {
                "isAiGenerated": False, "isDraft": False,
                "collaborators": [], "mentions": [],
                "music": {"id": "", "artist": "", "name": "", "thumbnail": ""},
                "products": [], "tags": []
            },
            "replies": [parent_id] if parent_id else [],
            "accountId": account_id,
            "scheduleAt": iso,
        }
        
        body = json.dumps(payload).encode()
        req = urllib.request.Request(f"{BASE}/public/schedule", data=body, headers=HEADERS, method="POST")
        with urllib.request.urlopen(req) as r:
            result = json.loads(r.read())
            sid = result.get("scheduleId", result.get("_id", "?"))
        
        ids.append(sid)
        parent_id = sid  # Reply ke post sebelumnya
        label = f"Post {i+1}" if i == 0 else f"Reply ke-{i}"
        print(f"    ✅ {label:10s} → {sid} ({len(text)} chars) @ {iso}")
    
    return ids


def main():
    now_wib = datetime.now(WIB)
    now_str = now_wib.strftime("%Y-%m-%d %H:%M WIB")
    now_utc = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M UTC")
    
    print("=" * 60)
    print(f"📢 MULTI-PLATFORM — 7 SLOT NESTED POSTING")
    print(f"   {now_str}")
    print("=" * 60)
    
    # Load tracker
    tracker = load_slot_tracker()
    today_str = datetime.now(WIB).strftime("%Y-%m-%d")
    
    # Cari slot kosong
    print("\n📍 CEK SLOT:")
    slot_idx = get_pending_slot(tracker)
    
    if slot_idx is None:
        print("   ⚠️  Semua slot hari ini sudah terisi. Selesai.")
        return
    
    slot_wib = SLOT_WIB[slot_idx]
    print(f"   🎯 Slot kosong berikutnya: {slot_wib} WIB")
    
    # Load theme hashes (anti-redundancy)
    used_hashes = load_theme_hashes()
    print(f"   📊 Tema unik yang sudah terpakai: {len(used_hashes)}")
    
    results = []
    new_hashes = set()
    
    print(f"\n📦 NESTED POSTING KE SLOT {slot_wib} WIB:")
    print(f"   (Masing-masing: Post 1 → Reply 2 → Reply 3, tema UNIK tiap slot)")
    
    for name, aid, pool_key, plat in ACCOUNTS:
        # Pilih tema fresh
        theme, hash_val = pick_fresh_content(pool_key, used_hashes)
        if not theme:
            print(f"  ⚠️  Tidak ada tema untuk {name}")
            continue
        
        # Pilih greeting random
        greetings = GREETINGS.get(pool_key, ["Halo"])
        greeting = random.choice(greetings)
        
        # Render teks dengan variabel
        post_text = render(theme["post"], greeting)
        reply1_text = render(theme["reply1"], random.choice(greetings))
        reply2_text = render(theme["reply2"], random.choice(greetings))
        # Pancingan diskusi di post utama (variasi tone: netral/opini/sanjungan)
        industri = AKUN_INDUSTRI.get(pool_key, "umum")
        post_text = tambahkan_diskusi(post_text, plat, industri)
        chosen = [post_text, reply1_text, reply2_text]
        
        # Log tema
        print(f"\n  📌 {name} ({plat}) — tema: {theme['theme']}")
        print(f"     hash: {hash_val[:12]}...")
        
        try:
            ids = post_nested(aid, chosen, SLOT_HOURS[slot_idx], plat)
            results.append((name, "✅", ids, plat, theme['theme']))
            new_hashes.add(hash_val)
            
            # Log ke file
            with open(LOG_FILE, 'a') as f:
                f.write(f"\n--- {now_utc} --- {name} ({plat}) @ {slot_wib} WIB [NESTED: {theme['theme']}]")
                for i, (txt, sid) in enumerate(zip(chosen, ids)):
                    label = "Post1" if i == 0 else f"Reply{i}"
                    f.write(f"\n  {label}: {sid} | {txt[:80]}...")
                f.write("\n")
        except Exception as e:
            results.append((name, "❌", [str(e)[:60]], plat, "error"))
            print(f"  ❌ {name} gagal: {str(e)[:80]}")
    
    # Simpan hashes baru untuk dedup di masa depan
    if new_hashes:
        combined = used_hashes | new_hashes
        save_theme_hashes(combined)
        print(f"\n   💾 {len(new_hashes)} tema baru ditambahkan ke tracker")
    
    # Tandai slot sudah terisi di tracker lokal
    if slot_idx is not None:
        today_slots = tracker.get(today_str, [])
        if slot_idx not in today_slots:
            today_slots.append(slot_idx)
            tracker[today_str] = sorted(today_slots)
            save_slot_tracker(tracker)
            print(f"   📍 Slot {slot_wib} WIB ditandai sudah terisi")
    
    # Ringkasan
    print("\n" + "=" * 60)
    print("📋 RINGKASAN POSTING:")
    print(f"   Slot: {slot_wib} WIB — Nested 3 post per akun")
    for name, status, ids, plat, ttheme in results:
        icon = "✅" if status == "✅" else "❌"
        ids_str = " → ".join(id[:8] for id in ids)
        print(f"  {icon} {name:20s} ({plat:10s}) [{ttheme}]")
        print(f"     {ids_str}")
    print("=" * 60)


if __name__ == "__main__":
    main()

