dump_today_open.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. """Dump full response items from the working getTodayOpen endpoint."""
  2. import asyncio
  3. import json
  4. import sys
  5. from pathlib import Path
  6. _HERE = Path(__file__).resolve().parent
  7. sys.path.insert(0, str(_HERE.parent / "src"))
  8. from cq2_sdk.env_loader import load_env
  9. load_env(_HERE.parent / ".env")
  10. from cq2_sdk.login import Box996Login, ManualGeetestSolver
  11. from cq2_sdk.store import UserStore, connection
  12. async def main() -> int:
  13. with connection() as conn:
  14. u = UserStore(conn).get_by_username("longwu988")
  15. token = u.token
  16. box = Box996Login(geetest=ManualGeetestSolver(), device_id="00:15:5d:0a:04:00")
  17. box.token = token
  18. r = await box._request("GET", "https://api.996hezi.com", "/box/v1/getTodayOpen",
  19. params={"gameId": "206923"})
  20. lst = r.get("data") or []
  21. print(f"total zones: {len(lst)}\n")
  22. print("--- full first item ---")
  23. print(json.dumps(lst[0], ensure_ascii=False, indent=2))
  24. print("\n--- all items: name / section / open_time / serverid? ---")
  25. for it in lst:
  26. print(f" game_name={it.get('game_name')!r:<20} section={it.get('section')!r:<10} "
  27. f"open_time={it.get('open_time')} serverid={it.get('serverid')!r} "
  28. f"state={it.get('state')!r} main_serverid={it.get('main_serverid')!r}")
  29. return 0
  30. if __name__ == "__main__":
  31. sys.exit(asyncio.run(main()))