#!/usr/bin/env python3
"""
Posting event coverage — Kopdar SUMU Sidoarjo "Big Deal, Big Opportunity" (1 Agustus 2026)
Narasumber: Uky Yanuhandoko (Pakar SEO, Digital Marketing Specialist, Website Developer — StudioSoft)
Platform: LinkedIn Uky, Threads Uky, LinkedIn StudioSoft, Threads StudioSoft, FB StudioSoft
Semua link sudah dicek nyala (200 OK). Teks Threads dihitung wajib ≤ 500 karakter.
"""
import sys, json
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import ReplizClient, ACC
from threads_text_check import cek_teks_threads, ThreadsTextError

# LinkedIn @ukyhandoko (belum ada di ACC module — dari multiplatform_cron.py)
UKY_LINKEDIN = "6a33ca10c5ff4ce3a322705d"

L = "https://sumu.or.id/sumu-sidoarjo-tingkatkan-daya-saing-umkm-lewat-kopdar-bertema-big-deal-big-opportunity/"
M = "https://mocimu.id/sumu-sidoarjo-tingkatkan-daya-saing-umkm-lewat-kopdar-bertema-big-deal-big-opportunity/"
K = "https://kabarmuh.id/sumu-sidoarjo-perkuat-daya-saing-umkm-lewat-kopdar-bertema-big-deal-big-opportunity/"
P = "https://pwmu.co/sumu-sidoarjo-dorong-umkm-naik-kelas-melalui-kopdar-big-deal-big-opportunity/"
J = "https://majelistabligh.id/kuatkan-semangat-kolaborasi-sumu-sidoarjo-gelar-kopdar-bertemakan-big-deal-big-opportunity/"
Y = "https://yasmanatura.co.id/kopdar-sumu-sidoarjo-umkm-naik-kelas-big-deal-big-opportunity/"

POSTS = [
    # (akun, label, jam WIB, teks)
    (ACC.UKY_THREADS, "Threads Uky", 14, (
        "Kemarin saya jadi narasumber di Kopdar SUMU Sidoarjo \u201cBig Deal, Big Opportunity\u201d. "
        "Inti materi saya: website itu kantor utama bisnis di internet. Dibangun profesional + didukung SEO, "
        "peluang ditemukan pelanggan naik drastis. Digitalisasi bukan pilihan lagi, tapi kebutuhan UMKM "
        "yang mau naik kelas. Senang ketemu pelaku usaha antusias! \U0001F4AA\n\n"
        + M + "\n\n#SUMUSidoarjo #UMKMNaikKelas #SEO #DigitalMarketing"
    )),
    (ACC.STUDIOSOFT_THREADS, "Threads StudioSoft", 17, (
        "Kopdar SUMU Sidoarjo kemarin membuktikan ekosistem yang saling terhubung itu kuat: "
        "pelaku usaha, praktisi digital, sampai buyer pasar Jepang duduk satu forum \u2014 "
        "berbagi strategi nyata biar UMKM naik kelas. \U0001F680\n\n"
        "StudioSoft senang jadi bagian dari gerakan ini. Website + SEO yang tepat fondasi biar "
        "bisnis ditemukan & dipercaya. Siap dampingi UMKM mau mulai?\n\n"
        + P + "\n\n#SUMUSidoarjo #UMKM #StudioSoft #DigitalMarketing"
    )),
    (UKY_LINKEDIN, "LinkedIn Uky", 12, (
        "Kemarin (1/8) saya mendapat kesempatan menjadi narasumber di Kopdar SUMU Sidoarjo bertema "
        "\u201cBig Deal, Big Opportunity\u201d \u2014 forum yang mempertemukan pelaku usaha, UMKM, dan komunitas bisnis "
        "Muhammadiyah Sidoarjo.\n\n"
        "Di sesi pertama, saya membahas satu hal yang selalu saya tekankan ke klien: di era digital, website bukan "
        "sekadar pelengkap \u2014 ia adalah kantor utama bisnis di internet. Website yang profesional + strategi SEO "
        "yang tepat = bisnis lebih mudah ditemukan calon pelanggan. Digitalisasi bukan lagi pilihan, tapi kebutuhan "
        "UMKM yang ingin naik kelas.\n\n"
        "Sesi lain juga seru: Ahmad (praktisi buyer pasar Jepang) membuka wawasan soal karakter pasar Jepang yang "
        "mengutamakan kualitas dan konsistensi, dan Amin (Founder Ekspor.id) membahas tahapan strategi ekspor UMKM. "
        "Kolaborasi lintas sektor seperti ini yang membuat ekosistem UMKM makin kuat.\n\n"
        "Terima kasih kepada SUMU Sidoarjo, LP UMKM Sidoarjo, dan semua peserta yang antusias. Semoga makin banyak "
        "UMKM yang berani bertransformasi digital.\n\n"
        "Liputan lengkap:\n" + L + "\n" + Y + "\n\n"
        "#SUMUSidoarjo #UMKMNaikKelas #SEO #DigitalMarketing #StudioSoft"
    )),
    (ACC.STUDIOSOFT_LINKEDIN, "LinkedIn StudioSoft", 15, (
        "Kemarin kami ikut merayakan semangat UMKM Sidoarjo di Kopdar SUMU Sidoarjo bertema "
        "\u201cBig Deal, Big Opportunity\u201d.\n\n"
        "Sebagai partner pertumbuhan bisnis berbasis data, StudioSoft melihat langsung antusiasme pelaku usaha yang "
        "ingin naik kelas \u2014 dari digital marketing, SEO, hingga peluang ekspor ke pasar Jepang. Website profesional "
        "dan strategi digital yang tepat memang menjadi fondasi utama UMKM bersaing di pasar yang makin luas.\n\n"
        "Terima kasih kepada SUMU Sidoarjo dan LP UMKM Sidoarjo yang menghadirkan forum kolaborasi yang konkret. "
        "Kami siap mendampingi UMKM yang ingin bertransformasi digital.\n\n"
        "Liputan: " + K + "\n\n"
        "#StudioSoft #UMKMNaikKelas #DigitalMarketing #UMKM #Sidoarjo"
    )),
    (ACC.STUDIOSOFT_FB, "FB StudioSoft", 19, (
        "Kopdar SUMU Sidoarjo bertema \u201cBig Deal, Big Opportunity\u201d (1/8) sukses digelar untuk mendorong UMKM naik "
        "kelas. Acara ini mempertemukan pelaku usaha, UMKM, dan komunitas bisnis Muhammadiyah Sidoarjo untuk berbagi "
        "pengalaman, memperluas jejaring, dan membuka peluang kolaborasi strategis.\n\n"
        "Di sesi pertama, Uky Yanuhandoko \u2014 Pakar SEO, Digital Marketing Specialist, Website Developer dari "
        "StudioSoft \u2014 memaparkan pentingnya transformasi digital: website bukan sekadar pelengkap, melainkan "
        "identitas resmi yang meningkatkan kredibilitas bisnis. Materi dilanjutkan Ahmad (buyer pasar Jepang) soal "
        "peluang ekspor dan Amin (Founder Ekspor.id) soal strategi ekspor UMKM.\n\n"
        "Semangat \u201cBig Deal, Big Opportunity\u201d ini sejalan dengan komitmen kami: mendampingi UMKM bertransformasi "
        "digital. Yuk naik kelas bareng!\n\n"
        "Baca liputannya: " + J + "\n\n"
        "#SUMUSidoarjo #UMKMNaikKelas #StudioSoft #DigitalMarketing #SEO"
    )),
]

def main():
    client = ReplizClient()
    ok_count = 0
    for account_id, label, jam_wib, teks in POSTS:
        # validasi: Threads wajib ≤500; semua wajib cek link nyala
        maxlen = 500 if "Threads" in label else 4000
        try:
            teks = cek_teks_threads(teks, label=label, maxlen=maxlen)
        except ThreadsTextError as e:
            print(f"  \u274c {label}: {e}")
            continue
        iso = f"2026-08-05T{jam_wib - 7:02d}:00:00.000Z"  # WIB → UTC
        try:
            res = client.schedule_text(account_id, teks, iso, title="", topic="")
            sid = res.get("scheduleId") or res.get("_id") or "?"
            print(f"  \u2705 {label}: {len(teks)} char @ {jam_wib}:00 WIB (UTC {iso}) -> {sid}")
            ok_count += 1
        except Exception as e:
            print(f"  \u274c {label} GAGAL schedule: {str(e)[:150]}")
    print(f"\nSelesai: {ok_count}/{len(POSTS)} terjadwal.")

if __name__ == "__main__":
    main()
