#!/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}"}
TID = "2115603928268349939"
url = "https://api.getxapi.com/twitter/tweet/detail"

for attempt in range(6):
    r = requests.get(url, params={"id": TID}, headers=H, timeout=40)
    print("attempt", attempt, r.status_code)
    if r.status_code == 200:
        d = r.json()
        json.dump(d, open("/home/kiro/trend-engine/trends/x/banger-x-results/2026-11-05_tweet_2115603928268349939.json", "w"), indent=1)
        t = d.get("tweet") or d
        print("KEYS:", list(t)[:25])
        au = t.get("author") or {}
        print("author:", au.get("userName"), "|", au.get("name"), "| followers:", au.get("followers"))
        print("bio:", (au.get("description") or "").replace("\n", " ")[:300])
        print("created:", t.get("createdAt"))
        print("likes:", t.get("likeCount"), "rt:", t.get("retweetCount"), "views:", t.get("viewCount"), "replies:", t.get("replyCount"))
        print("\nTEXT:\n", t.get("text"))
        arts = (t.get("article") or t.get("noteTweet") or {})
        if arts:
            print("\nARTICLE/NOTE:", json.dumps(arts)[:3000])
        for k in ("quoted", "retweeted_tweet", "entities", "media"):
            if t.get(k):
                print(f"\n{k}:", json.dumps(t[k])[:1200])
        break
    time.sleep(3)
else:
    print("FAILED")
