import asyncio
import websockets
import json
import urllib3

# Próbujemy namierzyć kanał nadawczy
URLS = [
    "wss://mtr.ciapongi.szablix.pl/mtr/api/map/updates",
    "wss://mtr.ciapongi.szablix.pl/mtr/api/data/vehicles",
    "ws://mtr.ciapongi.szablix.pl:8888/mtr/api/map/updates"
]

async def listen(url):
    print(f"[*] Próba nasłuchu na: {url}")
    try:
        async with websockets.connect(url, timeout=5) as websocket:
            print(f"[+] POŁĄCZONO! Czekam na dane o pociągach...")
            # Wysyłamy pusty obiekt, żeby serwer zaczął nadawać
            await websocket.send(json.dumps({}))
            while True:
                message = await websocket.recv()
                print(f"✅ ODEBRANO DANE: {str(message)[:200]}...")
                return True
    except Exception as e:
        print(f"[-] Błąd na {url}: {e}")
        return False

async def main():
    print("=== POSZUKIWANIE STRUMIENIA DANYCH LIVE (WebSockets) ===")
    for url in URLS:
        if await listen(url):
            break

if __name__ == "__main__":
    try:
        import websockets
    except ImportError:
        print("[!] Zainstaluj: pip3 install websockets")
        exit()
    asyncio.run(main())
