示例#1
0
    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
示例#2
0
    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