From e25e3e85cb132d81f3fe422b7f7768321f3056d1 Mon Sep 17 00:00:00 2001 From: Caleb Fultz Date: Mon, 3 Jun 2024 09:41:09 -0400 Subject: [PATCH] added a few more calls for recent achievements, progresses, specific and range dates, and awards --- retroachievements/client.py | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/retroachievements/client.py b/retroachievements/client.py index 6b70c22..cf1cde1 100644 --- a/retroachievements/client.py +++ b/retroachievements/client.py @@ -68,9 +68,9 @@ class RAClient: return result - def get_recent_achievements(self, user: str) -> list: + def get_recent_achievements(self, user: str) -> dict: """ - Get a user's most recent achievement + Get a user's most recent achievement within the last hour Params: u: Username to query @@ -101,7 +101,38 @@ class RAClient: result = self._call_api("API_GetAchievementsEarnedOnDay.php?", {"u": user, "d": date}).json() return result - + def get_achievements_range(self, user: str, f: int, t: int) -> dict: + """ + Get a user's cheevos from a specific date + + Params: + u: Username to query + f: From date to query (must be in epoch timestamp format) + t: To date to query (must be in epoch timestamp format) + """ + result = self._call_api("API_GetAchievementsEarnedOnDay.php?", {"u": user, "f": f, "t": t }).json() + return result + + def get_all_completion_progress(self, user: str) -> dict: + """ + Get a user's info and progress on all games + + Params: + u: Username to query + """ + result = self._call_api("API_GetUserCompletionProgress.php?", {"u": user}).json() + return result + + def get_awards_badges(self, user: str) -> list: + """ + Get a user's awards and badges on RA + + Params: + u: Username to query + """ + result = self._call_api("API_GetUserAwards.php?", {"u": user}).json() + return result + # Game endpoints