import asyncio
import websockets
import json

# OKX WebSocket 公共數據地址
WS_URL = "wss://ws.okx.com:8443/ws/v5/public"

async def connect_ws():
    async with websockets.connect(WS_URL) as ws:
        print("WebSocket 已連接")

        # 訂閱 BTC-USDT 最新成交價
        subscribe_msg = {
            "op": "subscribe",
            "args": [
                {
                    "channel": "tickers",
                    "instId": "BTC-USDT"
                }
            ]
        }

        await ws.send(json.dumps(subscribe_msg))
        print("已訂閱 BTC-USDT 最新成交價")

        # 持續接收 WebSocket 訊息
        while True:
            response = await ws.recv()
            data = json.loads(response)
            print("收到數據:", data)

# 啟動 WebSocket 連線
asyncio.run(connect_ws())
