Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- import enum
- import json
- from urllib import request
- PLACEHOLDER_IDS = set((162980314, 388328049, 2683405943, 3742197772))
- API_KEY = '10E792629C2A47E19356B8A79EEFA640'
- HEADERS = {'X-Api-Key': API_KEY}
- BASE_URL = 'https://www.bungie.net/platform/Destiny'
- SEARCH_PATH = '/SearchDestinyPlayer/{membershipType}/{displayName}/'
- ITEMS_PATH = '/{membershipType}/Account/{destinyMembershipId}/Items/?definitions=true'
- class MembershipType(enum.Enum):
- XBL = 1
- PSN = 2
- def get_api_response(path, **kwargs):
- with request.urlopen(request.Request((BASE_URL + path).format(**kwargs), headers=HEADERS)) as res:
- return json.loads(res.read().decode('utf-8'))['Response']
- if __name__ == '__main__':
- membership_type = MembershipType.__members__[input('XBL / PSN: ').upper()].value
- membership_id = get_api_response(SEARCH_PATH, membershipType=membership_type, displayName=input('Username: '))[0]['membershipId']
- res = get_api_response(ITEMS_PATH, membershipType=membership_type, destinyMembershipId=membership_id)
- data, definitions = res['data'], res['definitions']
- for item in data['items']:
- if item['itemHash'] in PLACEHOLDER_IDS:
- character = data['characters'][item['characterIndex']]
- character_base = character['characterBase']
- print('{}: Level {} {} {} {}'.format(
- item['itemHash'], character['characterLevel'],
- definitions['classes'][str(character_base['classHash'])]['className'],
- definitions['races'][str(character_base['raceHash'])]['raceName'],
- definitions['genders'][str(character_base['genderHash'])]['genderName']))
Advertisement
Add Comment
Please, Sign In to add comment