cad29b5dcd267104815318f1aabd765e630f964c
[fflogs.git] / main.py
1 #!./fflogs/bin/python
2 from gql import Client, gql
3 from gql.transport.aiohttp import AIOHTTPTransport
4 import requests
5 from secrets import *
6
7 res = requests.post(
8 "https://www.fflogs.com/oauth/token",
9 data={"grant_type": "client_credentials"},
10 auth=(client_id, client_secret)
11 )
12 token = res.json()['access_token']
13 headers = {'Authorization': f"Bearer {token}"}
14
15 transport = AIOHTTPTransport(url="https://www.fflogs.com/api/v2/client", headers=headers)
16
17 client = Client(transport=transport, fetch_schema_from_transport=True)
18
19 query = gql(
20 '''
21 query ($name: String!, $serverSlug: String!, $serverRegion: String!) {
22 characterData {
23 character (
24 name: $name
25 serverSlug: $serverSlug
26 serverRegion: $serverRegion
27 )
28 {
29 canonicalID
30 name
31 cloudRanks: encounterRankings (encounterID: 73)
32 dogRanks: encounterRankings (encounterID: 74)
33 thanRanks: encounterRankings (encounterID: 75)
34 boobaRanks: encounterRankings (encounterID: 76)
35 gaiaRanks: encounterRankings (encounterID: 77)
36 }
37 }
38 }
39 '''
40 )
41 params = {
42 "name": f"{name}",
43 "serverSlug": "{serverSlug}",
44 "serverRegion": "na",
45 }
46 result = client.execute(query, variable_values=params)
47 print(result['characterData']['character']['cloudRanks']['ranks'][0]['report'])
48 print(result['characterData']['character']['dogRanks']['ranks'][0]['report'])
49 print(result['characterData']['character']['thanRanks']['ranks'][0]['report'])
50 print(result['characterData']['character']['boobaRanks']['ranks'][0]['report'])
51 print(result['characterData']['character']['gaiaRanks']['ranks'][0]['report'])