#!/usr/bin/env python3
"""Periksa pengguna WordPress TSLaw (indikasi akun asing) dan plugin yang tidak dikenal."""
import base64, json, time, urllib.error, urllib.request

DOM = "www.tslaw.id"
AUTH = base64.b64encode(b"bambangbot:EFKm EYGx VQCP Y9go ncPr uM2Y").decode()
h = {"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"}


def ambil(path):
    r = urllib.request.Request(f"https://{DOM}{path}", headers=h)
    try:
        with urllib.request.urlopen(r, timeout=90) as x:
            return json.loads(x.read())
    except urllib.error.HTTPError as e:
        return {"err": e.code}
    except Exception as e:
        return {"err": str(e)[:60]}


u = ambil("/wp-json/wp/v2/users?per_page=50&_fields=id,name,slug,roles,registered_date")
print("=== pengguna WordPress ===")
if isinstance(u, list):
    for x in u:
        print(f"   #{x['id']:<4} {str(x['name'])[:28]:<30} {x.get('roles')} · daftar {str(x.get('registered_date'))[:10]}")
else:
    print("   gagal:", str(u)[:80])

print("\n=== 20 artikel terbaru (cek tanggal & judul aneh) ===")
d = ambil("/wp-json/wp/v2/posts?per_page=20&status=publish&orderby=date&order=desc&_fields=id,date,slug,title")
if isinstance(d, list):
    for x in d:
        print(f"   {x['date'][:10]} | #{x['id']:<5} | {str(x['title']['rendered'])[:60]}")
else:
    print("   gagal:", str(d)[:80])
