Improve visual
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
"""
|
||||
Тест получения числа зрителей через Twitch GQL.
|
||||
Запуск: python test_viewers.py <канал>
|
||||
"""
|
||||
|
||||
import asyncio
|
||||
import sys
|
||||
import aiohttp
|
||||
|
||||
GQL_URL = "https://gql.twitch.tv/gql"
|
||||
HEADERS = {
|
||||
"Client-ID": "kimne78kx3ncx6brgo4mv6wki5h1ko",
|
||||
"Content-Type": "application/json",
|
||||
}
|
||||
QUERY = """
|
||||
query ($login: String!) {
|
||||
user(login: $login) {
|
||||
stream {
|
||||
viewersCount
|
||||
title
|
||||
game { name }
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
async def main():
|
||||
channel = sys.argv[1] if len(sys.argv) > 1 else "shroud"
|
||||
payload = {"query": QUERY, "variables": {"login": channel.lower()}}
|
||||
|
||||
async with aiohttp.ClientSession() as session:
|
||||
async with session.post(
|
||||
GQL_URL, json=payload, headers=HEADERS,
|
||||
timeout=aiohttp.ClientTimeout(total=8)
|
||||
) as resp:
|
||||
data = await resp.json()
|
||||
|
||||
stream = data.get("data", {}).get("user", {}).get("stream")
|
||||
if stream:
|
||||
print(f"Зрителей: {stream['viewersCount']}")
|
||||
print(f"Игра: {stream.get('game', {}).get('name', '—')}")
|
||||
print(f"Тайтл: {stream.get('title', '—')}")
|
||||
else:
|
||||
print(f"Канал {channel} оффлайн или не найден")
|
||||
|
||||
|
||||
asyncio.run(main())
|
||||
Reference in New Issue
Block a user