def getPlayerStats(self, name, stat_type): r_username = requests.get(f'https://fortniteapi.io/lookup?username={name}', headers={"Authorization": self.api_key}) account_json_data = r_username.json() if "account_id" in account_json_data: account_id = account_json_data["account_id"] else: stats = [] stats.append((f'{name} does not exist in Fortnite', '')) return stats r_account_id = requests.get(f'https://fortniteapi.io/stats?account={account_id}', headers={"Authorization": self.api_key}) stats_json_data = r_account_id.json() global_stats_json = stats_json_data["global_stats"] if stat_type not in global_stats_json: stats = [] stats.append((f'No {str(stat_type).capitalize()} stats available for {name}', "")) return stats retrieved_stats_json = global_stats_json[stat_type] # Parse out specific stats from json obj stats = [] stats.append(("Name", stats_json_data["name"])) stats.append(("Level", stats_json_data["account"]["level"])) stats.append(("","")) stats.append(("Type", str(stat_type).capitalize())) stats.append(("K/D", retrieved_stats_json.get("kd", "0"))) stats.append(("Number of kills", retrieved_stats_json.get("kills", "0"))) stats.append(("Times placed Top 1", retrieved_stats_json.get("placetop1", "0"))) stats.append(("Number of matched played", retrieved_stats_json.get("matchesplayed", "0"))) time_played_in_mins = retrieved_stats_json.get("minutesplayed", "0") stats.append(("Total time played", Utils.display_time(int(time_played_in_mins) * 60))) return stats
def getPlayerAllStats(self, name): r_username = requests.get(f'https://fortniteapi.io/lookup?username={name}', headers={"Authorization": self.api_key}) account_json_data = r_username.json() if "account_id" in account_json_data: account_id = account_json_data["account_id"] else: stats = [] stats.append((f'{name} does not exist in Fortnite', '')) return stats r_account_id = requests.get(f'https://fortniteapi.io/stats?account={account_id}', headers={"Authorization": self.api_key}) stats_json_data = r_account_id.json() global_stats_json = stats_json_data["global_stats"] stats = [] stats.append(("Name", stats_json_data["name"])) stats.append(("Level", stats_json_data["account"]["level"])) stats.append(("","")) lookup_values = [QuickReplies.SOLO.value, QuickReplies.DUO.value, QuickReplies.SQUAD.value] for val in lookup_values: if val not in global_stats_json: stats.append((f'No {str(val).capitalize()} stats available', "")) if val != lookup_values[-1]: stats.append(("","")) continue retrieved_stats_json = global_stats_json[val] stats.append(("Type", str(val).capitalize())) stats.append(("K/D", retrieved_stats_json.get("kd", "0"))) stats.append(("Number of kills", retrieved_stats_json.get("kills", "0"))) stats.append(("Times placed Top 1", retrieved_stats_json.get("placetop1", "0"))) stats.append(("Number of matched played", retrieved_stats_json.get("matchesplayed", "0"))) time_played_in_mins = retrieved_stats_json.get("minutesplayed", "0") stats.append(("Total time played", Utils.display_time(int(time_played_in_mins) * 60))) if val != lookup_values[-1]: stats.append(("","")) return stats