import asyncio import websockets import json from datetime import datetime, timedelta, timezone from main import TelemetrySnapshot async def main() -> None: wait = 10 online_time = 24 * 3600 # start at 1 day ew = 0.0 ns = 0.0 uri = "ws://localhost:8000/ws/position?secret=your_shared_secret" async with websockets.connect(uri) as websocket: print(f"Connected to {uri}") while True: snapshot = TelemetrySnapshot( character_name="Test name", char_tag="test_tag", session_id="test_session_id", timestamp=datetime.now(tz=timezone.utc), ew=ew, ns=ns, z=0, kills=0, kills_per_hour="kph_str", onlinetime=str(timedelta(seconds=online_time)), deaths=0, rares_found=0, prismatic_taper_count=0, vt_state="test state", ) # wrap in envelope with message type payload = snapshot.model_dump() payload["type"] = "telemetry" await websocket.send(json.dumps(payload, default=str)) print(f"Sent snapshot: EW={ew:.2f}, NS={ns:.2f}") await asyncio.sleep(wait) ew += 0.1 ns += 0.1 online_time += wait if __name__ == "__main__": asyncio.run(main())