From 063da66f02a31df6555e152ced13e966e5f4fe8b Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Mon, 16 Nov 2015 16:30:34 +0100 Subject: [PATCH] Nuova libreria: quella per l'Osu Web Api! --- osu.py | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 osu.py diff --git a/osu.py b/osu.py new file mode 100644 index 00000000..33e90514 --- /dev/null +++ b/osu.py @@ -0,0 +1,75 @@ +import requests +import filemanager + +# Importa la API key dal file. +apikey = filemanager.readfile("osuapi.txt") + + +def getbeatmap(num): + """Ottieni informazioni su una beatmap. + :param num: ID della beatmap + """ + parametri = { + 'k': apikey, + 'b': num, + } + r = requests.get("https://osu.ppy.sh/api/get_beatmaps", params=parametri).json() + return r[0] + + +def getuser(user, mode): + """Ottieni informazioni su un utente. + :param user: Username o ID dell'utente + :param mode: Modalità (0 = osu!, 1 = Taiko, 2 = CtB, 3 = osu!mania) + """ + parametri = { + 'k': apikey, + 'u': user, + 'm': mode + } + r = requests.get("https://osu.ppy.sh/api/get_user", params=parametri).json() + return r[0] + + +def getscores(beatmap, mode, limit=100, user=None): + """Ottieni i migliori 100 punteggi di una beatmap O il punteggio dell'utente specificato + :param beatmap: ID della beatmap + :param mode: Modalità (0 = osu!, 1 = Taiko, 2 = CtB, 3 = osu!mania) + :param limit: Numero di punteggi da ottenere (max 100) + :param user: Utente di cui ottenere i punteggi + """ + parametri = { + 'k': apikey, + 'b': beatmap, + 'u': user, + 'm': mode, + 'limit': limit, + } + r = requests.get("https://osu.ppy.sh/api/get_scores", params=parametri).json() + return r + + +def getuserbest(user, mode): + """Ottieni i record di un utente. Immagino siano i punteggi con più pp? + :param user: Username o ID dell'utente + :param mode: Modalità (0 = osu!, 1 = Taiko, 2 = CtB, 3 = osu!mania) + """ + parametri = { + 'u': user, + 'm': mode, + } + r = requests.get("https://osu.ppy.sh/api/get_user_best", params=parametri).json() + return r + + +def getuserrecent(user, mode): + """Ottieni il punteggio dell'ultima canzone giocata da un utente. + :param user: Username o ID dell'utente + :param mode: Modalità (0 = osu!, 1 = Taiko, 2 = CtB, 3 = osu!mania) + """ + parametri = { + 'u': user, + 'm': mode, + } + r = requests.get("https://osu.ppy.sh/api/get_user_recent", params=parametri).json() + return r[0]