Last active
January 5, 2021 22:10
-
-
Save intrd/7b8cd89c33b82834a257029c2a703ceb to your computer and use it in GitHub Desktop.
Valorant matchmaking - Ranked points and last matches details retriever
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"Version": 0, | |
"Subject": "XXXXX...", | |
"Matches": [ | |
{ | |
"MatchID": "XXXX...", | |
"MapID": "/Game/Maps/Bonsai/Bonsai", | |
"MatchStartTime": 160000000, | |
"TierAfterUpdate": 6, | |
"TierBeforeUpdate": 6, | |
"TierProgressAfterUpdate": 97, | |
"TierProgressBeforeUpdate": 77, | |
"RankedRatingEarned": 0, | |
"CompetitiveMovement": "INCREASE" | |
}, | |
{ | |
"MatchID": "XXXX...", | |
"MapID": "/Game/Maps/Triad/Triad", | |
"MatchStartTime": 160000000, | |
"TierAfterUpdate": 6, | |
"TierBeforeUpdate": 7, | |
"TierProgressAfterUpdate": 77, | |
"TierProgressBeforeUpdate": 0, | |
"RankedRatingEarned": 0, | |
"CompetitiveMovement": "DEMOTED" | |
}, | |
{ | |
"MatchID": "XXXX...", | |
"MapID": "/Game/Maps/Duality/Duality", | |
"MatchStartTime": 160000000, | |
"TierAfterUpdate": 7, | |
"TierBeforeUpdate": 7, | |
"TierProgressAfterUpdate": 0, | |
"TierProgressBeforeUpdate": 6, | |
"RankedRatingEarned": 0, | |
"CompetitiveMovement": "DECREASE" | |
}, | |
{ | |
"MatchID": "XXXX...", | |
"MapID": "/Game/Maps/Duality/Duality", | |
"MatchStartTime": 160000000, | |
"TierAfterUpdate": 7, | |
"TierBeforeUpdate": 6, | |
"TierProgressAfterUpdate": 6, | |
"TierProgressBeforeUpdate": 90, | |
"RankedRatingEarned": 0, | |
"CompetitiveMovement": "PROMOTED" | |
}, | |
{ | |
"MatchID": "XXXX...", | |
"MapID": "/Game/Maps/Duality/Duality", | |
"MatchStartTime": 160000000, | |
"TierAfterUpdate": 6, | |
"TierBeforeUpdate": 6, | |
"TierProgressAfterUpdate": 90, | |
"TierProgressBeforeUpdate": 64, | |
"RankedRatingEarned": 0, | |
"CompetitiveMovement": "MAJOR_INCREASE" | |
}, | |
{ | |
"MatchID": "XXXX...", | |
"MapID": "/Game/Maps/Bonsai/Bonsai", | |
"MatchStartTime": 160000000, | |
"TierAfterUpdate": 6, | |
"TierBeforeUpdate": 6, | |
"TierProgressAfterUpdate": 64, | |
"TierProgressBeforeUpdate": 79, | |
"RankedRatingEarned": 0, | |
"CompetitiveMovement": "DECREASE" | |
}, | |
{ | |
"MatchID": "XXXX...", | |
"MapID": "/Game/Maps/Bonsai/Bonsai", | |
"MatchStartTime": 160000000, | |
"TierAfterUpdate": 6, | |
"TierBeforeUpdate": 7, | |
"TierProgressAfterUpdate": 79, | |
"TierProgressBeforeUpdate": 12, | |
"RankedRatingEarned": 0, | |
"CompetitiveMovement": "DEMOTED" | |
}, | |
{ | |
"MatchID": "XXXX...", | |
"MapID": "/Game/Maps/Ascent/Ascent", | |
"MatchStartTime": 160000000, | |
"TierAfterUpdate": 7, | |
"TierBeforeUpdate": 6, | |
"TierProgressAfterUpdate": 12, | |
"TierProgressBeforeUpdate": 83, | |
"RankedRatingEarned": 0, | |
"CompetitiveMovement": "PROMOTED" | |
}, | |
{ | |
"MatchID": "XXXX...", | |
"MapID": "/Game/Maps/Port/Port", | |
"MatchStartTime": 160000000, | |
"TierAfterUpdate": 6, | |
"TierBeforeUpdate": 6, | |
"TierProgressAfterUpdate": 83, | |
"TierProgressBeforeUpdate": 66, | |
"RankedRatingEarned": 0, | |
"CompetitiveMovement": "INCREASE" | |
}, | |
{ | |
"MatchID": "XXXX...", | |
"MapID": "/Game/Maps/Triad/Triad", | |
"MatchStartTime": 160000000, | |
"TierAfterUpdate": 6, | |
"TierBeforeUpdate": 7, | |
"TierProgressAfterUpdate": 66, | |
"TierProgressBeforeUpdate": 5, | |
"RankedRatingEarned": 0, | |
"CompetitiveMovement": "DEMOTED" | |
} | |
] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Valorant matchmaking - Ranked points and last matches details retriever | |
# @author intrd - http://dann.com.br/ | |
# based on RumbleMike/ValorantAPI - https://github.com/RumbleMike/ValorantAPI/ | |
# based on Luc1412/auth_flow.py - https://gist.github.com/Luc1412/1f93257a2a808679ff014f258db6c35b | |
# based on RumbleMike/ValorantRankedPoints - https://github.com/RumbleMike/ValorantRankedPoints | |
# Usage: Just fill YOURUSERNAMEHERE and YOURPASSWORDHERE. | |
import re | |
import aiohttp | |
import asyncio | |
import json | |
async def run(username, password): | |
session = aiohttp.ClientSession() | |
data = { | |
'client_id': 'play-valorant-web-prod', | |
'nonce': '1', | |
'redirect_uri': 'https://beta.playvalorant.com/opt_in', | |
'response_type': 'token id_token', | |
} | |
await session.post('https://auth.riotgames.com/api/v1/authorization', json=data) | |
data = { | |
'type': 'auth', | |
'username': username, | |
'password': password | |
} | |
async with session.put('https://auth.riotgames.com/api/v1/authorization', json=data) as r: | |
data = await r.json() | |
pattern = re.compile('access_token=((?:[a-zA-Z]|\d|\.|-|_)*).*id_token=((?:[a-zA-Z]|\d|\.|-|_)*).*expires_in=(\d*)') | |
data = pattern.findall(data['response']['parameters']['uri'])[0] | |
access_token = data[0] | |
id_token = data[1] | |
expires_in = data[2] | |
headers = { | |
'Authorization': f'Bearer {access_token}', | |
} | |
async with session.post('https://entitlements.auth.riotgames.com/api/token/v1', headers=headers, json={}) as r: | |
data = await r.json() | |
entitlements_token = data['entitlements_token'] | |
async with session.post('https://auth.riotgames.com/userinfo', headers=headers, json={}) as r: | |
data = await r.json() | |
user_id = data['sub'] | |
headers['Content-Type'] = "application/json" | |
headers['X-Riot-Entitlements-JWT'] = entitlements_token | |
async with session.get(f'https://pd.na.a.pvp.net/mmr/v1/players/'+user_id+'/competitiveupdates?startIndex=0&endIndex=20', headers=headers) as r: | |
#print(await r.text()) | |
data = json.loads(await r.text()) | |
jq = json.dumps(data, sort_keys=True, indent=4) | |
print(jq) | |
await session.close() | |
if __name__ == '__main__': | |
asyncio.get_event_loop().run_until_complete(run('YOURUSERNAMEHERE', 'YOURPASSWORDHERE')) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment