|
|
@@ -33,16 +33,36 @@ def steam_query(endpoint, transform, params={}): |
|
|
|
new_params['key'] = key |
|
|
|
return json_query(api + endpoint + '/', transform, new_params) |
|
|
|
|
|
|
|
def get_friend_list(): |
|
|
|
def get_friend_list(steamid): |
|
|
|
params = { |
|
|
|
'steamid' : uid, |
|
|
|
'steamid' : steamid, |
|
|
|
'relationship' : 'friend' |
|
|
|
} |
|
|
|
return steam_query('ISteamUser/GetFriendList/v0001', lambda data: [friend['steamid'] for friend in data['friendslist']['friends']], params) |
|
|
|
return steam_query('ISteamUser/GetFriendList/v0001', lambda data: data['friendslist']['friends'], params) |
|
|
|
|
|
|
|
def get_player_summaries(steamids): |
|
|
|
params = { |
|
|
|
'steamids' : ','.join(steamids) |
|
|
|
} |
|
|
|
return steam_query('ISteamUser/GetPlayerSummaries/v0002', lambda data: data['response']['players'], params) |
|
|
|
|
|
|
|
def personastate(n): |
|
|
|
states = { |
|
|
|
0 : 'Offline', |
|
|
|
1 : 'Online', |
|
|
|
2 : 'Busy', |
|
|
|
3 : 'Away', |
|
|
|
4 : 'Snooze', |
|
|
|
5 : 'Looking to trade', |
|
|
|
6 : 'Looking to play' |
|
|
|
} |
|
|
|
return states[n] |
|
|
|
|
|
|
|
def main(): |
|
|
|
for friend in get_friend_list(): |
|
|
|
print(friend) |
|
|
|
#print('\n'.join([friend['steamid'] for friend in get_friend_list(uid)])) |
|
|
|
for player in get_player_summaries([friend['steamid'] for friend in get_friend_list(uid)]): |
|
|
|
print(player['personaname'] + ': ' + personastate(player['personastate']) + (', ' + player['gameextrainfo'] if 'gameextrainfo' in player else '')) |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
|
main() |