1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-12-18 07:34:20 +00:00
royalnet/steam.py

106 lines
3.5 KiB
Python
Raw Normal View History

# -*- 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
def getplayersummaries(steamid):
"""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()
if len(r['response']['players']) == 1:
2016-01-20 22:38:03 +00:00
return r['response']['players'][0]
elif len(r['response']['players']) > 1:
return r['response']['players']
2016-01-20 22:38:03 +00:00
else:
raise NameError
2015-11-15 15:58:07 +00:00
2015-10-03 16:34:38 +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
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
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
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