#!/usr/bin/env python3
import json, os, time
import requests

key = None
for line in open(os.path.expanduser("~/.hermes/.env")):
    if line.startswith("GETXAPI_KEY="):
        key = line.split("=", 1)[1].strip()
        break
H = {"Authorization": f"Bearer {key}"}
D = "https://api.getxapi.com/twitter/tweet/detail"
QID = "2115383896305262911"

for attempt in range(5):
    r = requests.get(D, params={"id": QID}, headers=H, timeout=40)
    if r.status_code == 200:
        d = r.json().get("data") or {}
        print("=== QUOTED TWEET @%s (%s)" % ((d.get("author") or {}).get("userName"), d.get("createdAt")))
        print("likes", d.get("likeCount"), "views", d.get("viewCount"), "replies", d.get("replyCount"))
        print("\n" + (d.get("text") or ""))
        json.dump(d, open("/home/kiro/trend-engine/trends/x/banger-x-results/2026-11-05_quoted_2115383896305262911.json", "w"), indent=1)
        break
    print("detail", r.status_code); time.sleep(3)

# replies in the conversation
time.sleep(1)
r = requests.get("https://api.getxapi.com/twitter/tweet/advanced_search",
                 params={"q": "conversation_id:2115603928268349939", "product": "Latest"},
                 headers=H, timeout=45)
print("\n=== conversation search:", r.status_code)
if r.status_code == 200:
    tw = r.json().get("tweets", [])
    print("replies found:", len(tw))
    for t in sorted(tw, key=lambda x: x.get("likeCount", 0) or 0, reverse=True)[:14]:
        a = (t.get("author") or {}).get("userName")
        txt = " ".join((t.get("text") or "").split())
        print(f"\n@{a} [{t.get('likeCount')}] {txt[:400]}")
