import asyncio, json, websockets, msgpack
WS_URL = "wss://v5.oddspapi.io/ws"
API_KEY = "your-api-key"
LOGIN = {
"type": "login",
"apiKey": API_KEY,
"channels": ["fixtures", "scores", "odds"],
"receiveType": "binary",
"lang": "zh",
"sportIds": [10, 11],
"bookmakers": ["stake"],
}
async def main():
async with websockets.connect(WS_URL) as ws:
await ws.send(json.dumps(LOGIN))
async for raw in ws:
if isinstance(raw, str):
print("CONTROL:", json.loads(raw))
else:
msg = msgpack.unpackb(raw, raw=False)
print("DATA:", msg.get("channel"), msg.get("entryId"))
asyncio.run(main())