2015-10-03 16:41:34 +00:00
|
|
|
|
# -*- coding: utf-8 -*-
|
2015-10-03 16:34:38 +00:00
|
|
|
|
import requests
|
|
|
|
|
import filemanager
|
|
|
|
|
|
2015-11-15 15:58:07 +00:00
|
|
|
|
# Per far funzionare questa libreria serve un file "steamapi.txt" contenente la Steam Api Key ottenibile a
|
|
|
|
|
# http://steamcommunity.com/dev/apikey
|
|
|
|
|
steamtoken = filemanager.readfile('steamapi.txt')
|
|
|
|
|
|
2015-10-03 16:34:38 +00:00
|
|
|
|
|
2015-11-16 15:31:10 +00:00
|
|
|
|
def getplayersummaries(steamid):
|
2016-01-21 16:23:24 +00:00
|
|
|
|
"""Ottieni i dati dei profili steam dei giocatori di cui è stato specificato lo SteamID 32.
|
|
|
|
|
:param steamid: SteamID 32 dei giocatori, separato da virgola
|
2015-11-15 15:58:07 +00:00
|
|
|
|
"""
|
|
|
|
|
# Parametri della richiesta
|
|
|
|
|
parametri = {
|
|
|
|
|
'key': steamtoken,
|
|
|
|
|
'steamids': steamid,
|
|
|
|
|
}
|
|
|
|
|
# Manda la richiesta ai server di Steam.
|
|
|
|
|
r = requests.get("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/", params=parametri).json()
|
2016-01-21 16:23:24 +00:00
|
|
|
|
if len(r['response']['players']) == 1:
|
2016-01-20 22:38:03 +00:00
|
|
|
|
return r['response']['players'][0]
|
2016-01-21 16:23:24 +00:00
|
|
|
|
elif len(r['response']['players']) > 1:
|
|
|
|
|
return r['response']['players']
|
2016-01-20 22:38:03 +00:00
|
|
|
|
else:
|
2016-01-28 18:54:02 +00:00
|
|
|
|
raise NameError("Lo steamid specificato non esiste.")
|
2015-11-15 15:58:07 +00:00
|
|
|
|
|
2015-10-03 16:34:38 +00:00
|
|
|
|
|
2015-11-16 15:31:10 +00:00
|
|
|
|
def getnumberofcurrentplayers(appid):
|
2015-11-15 15:58:07 +00:00
|
|
|
|
"""Ottieni il numero di giocatori che stanno giocando a un certo gioco.
|
|
|
|
|
:param appid: ID Steam dell'applicazione
|
|
|
|
|
"""
|
|
|
|
|
# Parametri della richiesta
|
|
|
|
|
parametri = {
|
|
|
|
|
'key': steamtoken,
|
|
|
|
|
'appid': appid,
|
|
|
|
|
}
|
|
|
|
|
# Manda la richiesta ai server di Steam.
|
|
|
|
|
r = requests.get("http://api.steampowered.com/ISteamUserStats/GetNumberOfCurrentPlayers/v0001/",
|
|
|
|
|
params=parametri).json()
|
|
|
|
|
if 'player_count' in r['response']:
|
|
|
|
|
return r['response']['player_count']
|
|
|
|
|
else:
|
|
|
|
|
return None
|
|
|
|
|
|
|
|
|
|
|
2015-11-16 15:31:10 +00:00
|
|
|
|
def getplayerachievements(appid, steamid):
|
2015-11-15 15:58:07 +00:00
|
|
|
|
"""Ottieni gli achievement del giocatore e del gioco specificato.
|
|
|
|
|
:param appid: ID dell'applicazione
|
|
|
|
|
:param steamid: SteamID 32 del giocatore
|
|
|
|
|
"""
|
|
|
|
|
# Parametri della richiesta
|
|
|
|
|
parametri = {
|
|
|
|
|
'key': steamtoken,
|
|
|
|
|
'steamid': steamid,
|
|
|
|
|
'appid': appid,
|
|
|
|
|
'l': 'IT' # Mettendo questo vengono in inglese...? What.
|
|
|
|
|
}
|
|
|
|
|
# Manda la richiesta ai server di Steam.
|
|
|
|
|
r = requests.get("http://api.steampowered.com/ISteamUserStats/GetPlayerAchievements/v0001/",
|
|
|
|
|
params=parametri).json()
|
|
|
|
|
return r['playerstats']
|
|
|
|
|
|
2015-10-03 16:34:38 +00:00
|
|
|
|
|
2015-11-16 15:31:10 +00:00
|
|
|
|
def getsteamlevel(steamid):
|
2015-11-15 15:58:07 +00:00
|
|
|
|
"""Ottieni il livello del profilo di Steam.
|
|
|
|
|
:param steamid: SteamID 32 del giocatore
|
|
|
|
|
"""
|
|
|
|
|
parametri = {
|
|
|
|
|
'key': steamtoken,
|
|
|
|
|
'steamid': steamid,
|
|
|
|
|
}
|
|
|
|
|
# Manda la richiesta ai server di Steam.
|
|
|
|
|
r = requests.get("http://api.steampowered.com/IPlayerService/GetSteamLevel/v0001/", params=parametri).json()
|
|
|
|
|
return r['response']['player_level']
|
|
|
|
|
|
2015-10-03 16:34:38 +00:00
|
|
|
|
|
2015-11-16 15:31:10 +00:00
|
|
|
|
def isplayingsharedgame(appid, steamid):
|
2015-11-15 15:58:07 +00:00
|
|
|
|
"""Guarda se il gioco a cui sta giocando qualcuno è condiviso.
|
|
|
|
|
Ah, Steam vuole sapere l'ID del gioco a cui sta giocando, quindi mettetecelo.
|
|
|
|
|
:param appid: ID dell'applicazione
|
|
|
|
|
:param steamid: SteamID 32 del giocatore"""
|
|
|
|
|
parametri = {
|
|
|
|
|
'key': steamtoken,
|
|
|
|
|
'steamid': steamid,
|
|
|
|
|
'appid_playing': appid,
|
|
|
|
|
}
|
|
|
|
|
# Manda la richiesta ai server di Steam.
|
|
|
|
|
r = requests.get("http://api.steampowered.com/IPlayerService/IsPlayingSharedGame/v0001/", params=parametri).json()
|
|
|
|
|
return r # Non posso provare il comando; cambiare quando possibile?
|
2016-01-21 20:37:17 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def getschemaforgame(appid):
|
|
|
|
|
"""Trova il nome, gli achievement e le statistiche corrispondenti al numero di applicazione specificato.
|
|
|
|
|
:param appid: ID dell'applicazione
|
|
|
|
|
"""
|
|
|
|
|
parametri = {
|
|
|
|
|
'key': steamtoken,
|
|
|
|
|
'appid': appid,
|
|
|
|
|
}
|
|
|
|
|
# Manda la richiesta ai server di Steam.
|
|
|
|
|
r = requests.get("http://api.steampowered.com/ISteamUserStats/GetSchemaForGame/v2/", params=parametri).json()
|
|
|
|
|
return r
|
|
|
|
|
|
|
|
|
|
|