From b6916fe8b2b198a2c04e9033e5a67379f583d5e9 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Sat, 3 Oct 2015 18:34:38 +0200 Subject: [PATCH] =?UTF-8?q?Diviso=20in=20pi=C3=B9=20file=20tutto!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bot.py | 0 filemanager.py | 14 ++++++++++++ steam.py | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ telegram.py | 19 ++-------------- 4 files changed, 78 insertions(+), 17 deletions(-) create mode 100644 bot.py create mode 100644 filemanager.py create mode 100644 steam.py diff --git a/bot.py b/bot.py new file mode 100644 index 00000000..e69de29b diff --git a/filemanager.py b/filemanager.py new file mode 100644 index 00000000..98e1cb13 --- /dev/null +++ b/filemanager.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- + +def readFile(name): + """Leggi i contenuti di un file.""" + file = open(name, 'r') + content = file.read() + file.close() + return content + +def writeFile(name, content): + """Scrivi qualcosa su un file, sovrascrivendo qualsiasi cosa ci sia al suo interno.""" + file = open(name, 'w') + file.write(content) + file.close() \ No newline at end of file diff --git a/steam.py b/steam.py new file mode 100644 index 00000000..9882f927 --- /dev/null +++ b/steam.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +import requests +import filemanager + +##Per far funzionare questa libreria serve un file "steamapi.txt" contenente la Steam Api Key ottenibile a http://steamcommunity.com/dev/apikey +steamtoken = readFile('steamapi.txt') + +def getPlayerSummaries(steamid): + """Ottieni i dati del profilo steam del giocatore di cui è stato specificato lo SteamID 32.""" + #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() + return r['response']['players'][0] + +def getNumberOfCurrentPlayers(appid): + """Ottieni il numero di giocatori che stanno giocando a un certo gioco.""" + #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() + return r['response']['player_count'] + +def getPlayerAchievements(appid, steamid): + """Ottieni gli achievement del giocatore e del gioco specificato.""" + #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'] + +def getSteamLevel(steamid): + """Ottieni il livello del profilo di Steam.""" + 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'] + +def isPlayingSharedGame(appid, steamid): + """Guarda se il gioco a cui sta giocando qualcuno è condiviso.\nAh, Steam vuole sapere l'ID del gioco a cui sta giocando, quindi mettetecelo.""" + 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? \ No newline at end of file diff --git a/telegram.py b/telegram.py index 8f7ac5cd..7ced348b 100644 --- a/telegram.py +++ b/telegram.py @@ -1,28 +1,13 @@ # -*- coding: utf-8 -*- import requests +import filemanager ##Per far funzionare questa libreria serve un file "lastid.txt" contenente l'update ID dell'ultimo messaggio non letto e un file "telegramapi.txt" contenente il token di accesso del bot assegnato da @BotFather. +telegramtoken = readFile('telegramapi.txt') #definiamo la variabile globale chat se no si blocca tutto? forse? chat = 0 - -def readFile(name): - """Leggi i contenuti di un file.""" - file = open(name, 'r') - content = file.read() - file.close() - return content - -def writeFile(name, content): - """Scrivi qualcosa su un file, sovrascrivendo qualsiasi cosa ci sia al suo interno.""" - file = open(name, 'w') - file.write(content) - file.close() - -#Caricamento delle API Keys... -telegramtoken = readFile('telegramapi.txt') - def getUpdates(): """Ricevi gli ultimi aggiornamenti dal server di Telegram e restituisci l'ultimo messaggio non letto.""" parametri = {