#!/usr/bin/env python3
"""Post artikel 1: 7 Contoh Guerilla Marketing ke FB, LinkedIn, Threads"""
import base64, json, os, sys
import urllib.request
from datetime import datetime, timezone, timedelta

from repliz_client import HEADERS, BASE

WIB = timezone(timedelta(hours=7))

ARTICLE_URL = "https://studiosoft.id/contoh-guerilla-marketing-kreatif-indonesia-dunia/"

def schedule_post(account_id, text, medias=None, post_type="text", topic=""):
    now = datetime.now(WIB) + timedelta(minutes=3)
    iso = now.strftime("%Y-%m-%dT%H:%M:00+07:00")
    
    payload = {
        "title": "",
        "description": text[:500] if post_type != "text" else text,
        "topic": topic,
        "type": post_type,
        "medias": medias or [],
        "meta": {"title": "", "description": "", "url": ""},
        "additionalInfo": {
            "isAiGenerated": False, "isDraft": False,
            "collaborators": [], "mentions": [],
            "music": {"id": "", "artist": "", "name": "", "thumbnail": ""},
            "products": [], "tags": []
        },
        "replies": [],
        "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())
        return result.get("scheduleId", "?"), iso

results = []

# ============ 1. FB StudioSoft ============
print("📝 Posting ke FB StudioSoft...")
fb_caption = (
    "Gak perlu budget gede buat bikin kampanye yang diingat orang. "
    "Guerilla marketing udah berkali-kali membuktikan: kreativitas lebih powerful daripada anggaran.\n\n"
    "Dari Coca-Cola yang bikin mesin minuman 'bayar pakai pelukan', IKEA dengan petunjuk arah "
    "satuan sofa, sampai Gojek yang modal stiker motor doang — semuanya viral tanpa iklan berbayar. "
    "Bahkan di Indonesia, plang-plang lucu warung Madura jadi bukti bahwa ide sederhana bisa "
    "menjadi konten organik yang dibagikan ribuan kali.\n\n"
    "Artikel lengkapnya di sini, lengkap dengan 7 contoh nyata yang bisa kamu tiru:\n"
    f"{ARTICLE_URL}\n\n"
    "#GuerillaMarketing #DigitalMarketing #BrandingKreatif #StudioSoft #MarketingIndonesia"
)

try:
    sid, iso = schedule_post("6a334952c5ff4ce3a3225941", fb_caption, post_type="text", topic="Guerilla Marketing")
    results.append(f"✅ FB StudioSoft → {sid} @ {iso}")
    print(f"  ✅ {sid}")
except Exception as e:
    results.append(f"❌ FB StudioSoft: {str(e)[:80]}")
    print(f"  ❌ {e}")

# ============ 2. LinkedIn StudioSoft ============
print("📝 Posting ke LinkedIn StudioSoft...")
li_caption = (
    "7 kampanye yang membuktikan kreativitas > budget.\n\n"
    "Guerilla marketing bukan soal berapa banyak uang yang dikeluarkan, tapi seberapa kreatif "
    "ide yang dijalankan. Coca-Cola, IKEA, KitKat, National Geographic — bahkan Gojek dan "
    "warung Madura — semuanya berhasil mencuri perhatian tanpa harus pasang iklan mahal.\n\n"
    "Yang menarik: hampir semua contoh ini mengandalkan elemen kejutan dan pengalaman langsung "
    "(experiential marketing) yang bikin orang secara sukarela membagikannya ke media sosial. "
    "Itulah kekuatan word-of-mouth organik yang tidak bisa dibeli dengan uang.\n\n"
    "Baca selengkapnya:\n"
    f"{ARTICLE_URL}"
)

try:
    sid, iso = schedule_post("6a334c49c5ff4ce3a32259c9", li_caption, post_type="text", topic="Guerilla Marketing")
    results.append(f"✅ LinkedIn StudioSoft → {sid} @ {iso}")
    print(f"  ✅ {sid}")
except Exception as e:
    results.append(f"❌ LinkedIn StudioSoft: {str(e)[:80]}")
    print(f"  ❌ {e}")

# ============ 3. Threads @ukyhandoko ============
print("📝 Posting ke Threads @ukyhandoko...")
threads_caption = (
    "7 contoh guerilla marketing yang bikin saya mikir ulang soal strategi promosi.\n\n"
    "Coca-Cola bikin mesin minuman 'bayar pakai pelukan'. IKEA pasang petunjuk arah "
    "pake satuan sofa. Gojek modal stiker motor doang.\n\n"
    "Semuanya viral tanpa iklan berbayar. Kreativitas > budget. Always.\n\n"
    "Baca artikel lengkapnya di sini:\n"
    f"{ARTICLE_URL}"
)

try:
    sid, iso = schedule_post("6a334e89c5ff4ce3a3225a48", threads_caption, post_type="text", topic="Guerilla Marketing")
    results.append(f"✅ Threads @ukyhandoko → {sid} @ {iso}")
    print(f"  ✅ {sid}")
except Exception as e:
    results.append(f"❌ Threads @ukyhandoko: {str(e)[:80]}")
    print(f"  ❌ {e}")

print("\n" + "=" * 50)
print("HASIL:")
for r in results:
    print(f"  {r}")

