No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

49 líneas
1.5KB

  1. #!/usr/bin/python3
  2. import requests
  3. import sys
  4. import textwrap
  5. api = 'http://api.steampowered.com/'
  6. key = '63578AF8E85EDF1E49411D5D4E18E166'
  7. uid = '76561198008294872' #whiteline
  8. #uid = '76561198111568728' #N33R
  9. # Fetch JSON from url and run it through transform, pretty printing errors
  10. # and the data worked on as exhaustively as possible.
  11. def json_query(url, transform, params={}):
  12. try:
  13. result = requests.get(url, params)
  14. except ConnectionError:
  15. print("Network connection error.")
  16. sys.exit(1)
  17. try:
  18. data = result.json()
  19. except requests.JSONDecodeError as err:
  20. print('Error when decoding JSON:\nFrom endpoint ' + url + ':\n' + err + '\n' + result + '\n')
  21. sys.exit(1)
  22. try:
  23. return transform(data)
  24. except (IndexError, KeyError) as err:
  25. print('Error when traversing JSON:\nFrom endpoint ' + url + ':\n' + err)
  26. pprint.PrettyPrinter(indent=2).pprint(data)
  27. sys.exit(1)
  28. def steam_query(endpoint, transform, params={}):
  29. new_params = params.copy()
  30. new_params['key'] = key
  31. return json_query(api + endpoint + '/', transform, new_params)
  32. def get_friend_list():
  33. params = {
  34. 'steamid' : uid,
  35. 'relationship' : 'friend'
  36. }
  37. return steam_query('ISteamUser/GetFriendList/v0001', lambda data: [friend['steamid'] for friend in data['friendslist']['friends']], params)
  38. def main():
  39. for friend in get_friend_list():
  40. print(friend)
  41. if __name__ == '__main__':
  42. main()