#!/usr/bin/env python3
"""Cari nama pengguna asli dari data balasan (untuk daftar orang yang layak dibalas balik)."""
import json, re, sys
from collections import Counter

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
sys.path.insert(0, WS)
from repliz_client import get_client, ACC          # noqa: E402

client = get_client()
d = client.get("/public/comment?page=1&limit=100")
docs = d.get("docs", []) if isinstance(d, dict) else []
print(f"contoh balasan: {len(docs)}\n")
print("=== struktur satu balasan (semua kunci) ===")
print(json.dumps(docs[0], indent=1, ensure_ascii=False)[:1200] if docs else "(kosong)")

print("\n=== semua kunci yang muncul ===")
kunci = set()
for c in docs:
    kunci |= set(c.keys())
print("   ", sorted(kunci))

print("\n=== apakah ada username/penulis di dalam field comment/content? ===")
for c in docs[:10]:
    isi = c.get("comment")
    potong = str(isi)[:300]
    nama = re.findall(r"(?:username|user|author|name|permalink|owner)[\"']?\s*[:=]\s*[\"']([\w\.\-@]{3,40})", potong, re.I)
    if nama:
        print(f"   ✓ {nama[:3]}")
    else:
        print(f"   – {potong[:110]}")

print("\n=== cek endpoint lain untuk balasan/percakapan ===")
for jalur in ("/public/comment?page=1&limit=2&type=reply", "/public/reply?page=1&limit=2",
              "/public/threads?page=1&limit=2", "/public/interaction?page=1&limit=2"):
    try:
        r = client.get(jalur)
        print(f"   ✅ {jalur:<46} → {json.dumps(r)[:120]}")
    except Exception as e:
        print(f"   ❌ {jalur:<46} → {str(e)[:70]}")
