Updating apex function to use tracker network
This commit is contained in:
parent
9bdf7c60ec
commit
3daabbb69f
@ -1,117 +1,80 @@
|
|||||||
import datetime
|
|
||||||
import discord
|
import discord
|
||||||
import os
|
import os
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
|
|
||||||
def get_player(player):
|
def get_player(player):
|
||||||
# player = player.lower()
|
url = "https://public-api.tracker.gg/v2/apex/standard/profile/origin/" + player
|
||||||
# url = "https://public-api.tracker.gg/v2/apex/standard/profile/origin/" + player
|
headers = {
|
||||||
# headers = {
|
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64)",
|
||||||
# "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64)",
|
"accept": "application/json",
|
||||||
# "accept": "application/json",
|
"TRN-Api-Key": os.getenv("tracker_network_token"),
|
||||||
# "TRN-Api-Key": os.getenv("tracker_network_token"),
|
}
|
||||||
# }
|
|
||||||
|
|
||||||
url = (
|
response = requests.get(url).json()["data"]
|
||||||
"https://api.mozambiquehe.re/bridge?auth=%s&player=%s&platform=PC&merge=True"
|
|
||||||
% (
|
|
||||||
os.getenv("apex_api_key"),
|
|
||||||
player,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
# print(url)
|
|
||||||
response = requests.get(url).json()
|
|
||||||
|
|
||||||
# Build the embed
|
# Build the embed
|
||||||
embed = discord.Embed(description="-------", color=discord.Color.red(), type="rich")
|
embed = discord.Embed(description="-------", color=discord.Color.red(), type="rich")
|
||||||
embed.set_thumbnail(url=response["global"]["rank"]["rankImg"])
|
embed.set_thumbnail(url=response["platformInfo"]["avatarUrl"])
|
||||||
embed.set_author(name="Apex stats for %s" % response["global"]["name"])
|
embed.set_author(
|
||||||
embed.add_field(
|
name="Apex stats for %s" % response["platformInfo"]["platformUserId"],
|
||||||
name="**Rank**",
|
icon_url=response["segments"][0]["stats"]["peakRankScore"]["metadata"][
|
||||||
value="%s, %s"
|
"iconUrl"
|
||||||
% (
|
],
|
||||||
response["global"]["rank"]["rankName"],
|
|
||||||
response["global"]["rank"]["rankScore"],
|
|
||||||
),
|
|
||||||
inline=False,
|
|
||||||
)
|
|
||||||
embed.add_field(
|
|
||||||
name="**Current level**",
|
|
||||||
value="%s, %s%% of the way to next level"
|
|
||||||
% (
|
|
||||||
response["global"]["level"],
|
|
||||||
response["global"]["toNextLevelPercent"],
|
|
||||||
),
|
|
||||||
inline=False,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
gameplay_stats = {
|
embed.add_field(
|
||||||
"kills": "Total kills",
|
name="**Current Rank**",
|
||||||
"kd": "K/D",
|
value=response["segments"][0]["stats"]["peakRankScore"]["displayName"],
|
||||||
"executions": "Executions",
|
inline=True,
|
||||||
"revives": "Revies",
|
)
|
||||||
"games_played": "Games Played",
|
|
||||||
"headshots": "Headshots",
|
|
||||||
}
|
|
||||||
|
|
||||||
embed.add_field(name="Totals", value="-------", inline=False)
|
embed.add_field(name="Account Wide stats", value="-----", inline=False)
|
||||||
for stat, readable in gameplay_stats.items():
|
stats_we_care_about = ["wins", "level", "kills", "damage", "headshots", "revives"]
|
||||||
|
for stat in stats_we_care_about:
|
||||||
embed.add_field(
|
embed.add_field(
|
||||||
name="**%s**" % readable,
|
name="**%s**" % response["segments"][0]["stats"][stat]["displayName"],
|
||||||
value=response["total"][stat]["value"],
|
value=response["segments"][0]["stats"][stat]["displayValue"],
|
||||||
inline=True,
|
inline=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
all_legends = response["segments"][1:]
|
||||||
|
# Calculate their most effective legends
|
||||||
|
embed.add_field(name="Bests", value="-----", inline=False)
|
||||||
|
|
||||||
embed.add_field(
|
embed.add_field(
|
||||||
name="Stats per legend", value="---------------------", inline=False
|
name="**Legend with most kills**",
|
||||||
|
value="%s: %s"
|
||||||
|
% (
|
||||||
|
find_best(all_legends, key="kills")["metadata"]["name"],
|
||||||
|
find_best(all_legends, key="kills")["stats"]["kills"]["displayValue"],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
embed.add_field(
|
||||||
|
name="**Legend with most wins**",
|
||||||
|
value="%s: %s"
|
||||||
|
% (
|
||||||
|
find_best(all_legends, key="wins")["metadata"]["name"],
|
||||||
|
find_best(all_legends, key="wins")["stats"]["wins"]["displayValue"],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
embed.add_field(
|
||||||
|
name="**Legend with most damage**",
|
||||||
|
value="%s: %s"
|
||||||
|
% (
|
||||||
|
find_best(all_legends, key="damage")["metadata"]["name"],
|
||||||
|
find_best(all_legends, key="damage")["stats"]["damage"]["displayValue"],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
embed.add_field(
|
||||||
|
name="**Legend with most revives**",
|
||||||
|
value="%s: %s"
|
||||||
|
% (
|
||||||
|
find_best(all_legends, key="revives")["metadata"]["name"],
|
||||||
|
find_best(all_legends, key="revives")["stats"]["revives"]["displayValue"],
|
||||||
|
),
|
||||||
)
|
)
|
||||||
legends = response["legends"]["all"]
|
|
||||||
for legend in legends:
|
|
||||||
if "data" in response["legends"]["all"][legend] and legend != "Global":
|
|
||||||
data = response["legends"]["all"][legend]["data"]
|
|
||||||
smush = {x["key"]: x for x in data}
|
|
||||||
|
|
||||||
try:
|
|
||||||
legends_kills = smush["specialEvent_kills"]["value"] or 0
|
|
||||||
legends_damage = smush["specialEvent_damage"]["value"] or 0
|
|
||||||
legends_wins = smush["specialEvent_wins"]["value"] or 0
|
|
||||||
|
|
||||||
embed.add_field(
|
|
||||||
name=legend,
|
|
||||||
value="Total kills: %s\nTotal Damage: %s\nTotal Wins: %s"
|
|
||||||
% (legends_kills, legends_damage, legends_wins),
|
|
||||||
)
|
|
||||||
except Exception as e:
|
|
||||||
print("%s threw an exception on %s" % (legend, e))
|
|
||||||
pass
|
|
||||||
|
|
||||||
# best_weapon = find_best(response["weapons"], "kills")
|
|
||||||
|
|
||||||
# embed.add_field(
|
|
||||||
# name=":trophy:**Best Weapon**:trophy:",
|
|
||||||
# value="%s\nkills: %s\naccuracy: %s\nHeadshots: %s"
|
|
||||||
# % (
|
|
||||||
# best_weapon["weaponName"],
|
|
||||||
# best_weapon["kills"],
|
|
||||||
# best_weapon["accuracy"],
|
|
||||||
# best_weapon["headshotKills"],
|
|
||||||
# ),
|
|
||||||
# inline=True,
|
|
||||||
# )
|
|
||||||
|
|
||||||
# favorite_class = find_best(response["classes"], "secondsPlayed")
|
|
||||||
|
|
||||||
# embed.add_field(
|
|
||||||
# name=":trophy:**Favorite Class**:trophy:",
|
|
||||||
# value="%s\nKDR: %s\nTime Played: %s"
|
|
||||||
# % (
|
|
||||||
# favorite_class["characterName"],
|
|
||||||
# favorite_class["killDeath"],
|
|
||||||
# str(datetime.timedelta(seconds=favorite_class["secondsPlayed"])),
|
|
||||||
# ),
|
|
||||||
# inline=True,
|
|
||||||
# )
|
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
@ -123,4 +86,4 @@ def find_best(blob, key):
|
|||||||
and the key to use to make that distinction, for example, for weapons, you could use kills
|
and the key to use to make that distinction, for example, for weapons, you could use kills
|
||||||
"""
|
"""
|
||||||
|
|
||||||
return max(blob, key=lambda x: x[key])
|
return max(blob, key=lambda x: x["stats"][key]["value"] if key in x else 0)
|
||||||
|
0
app/cogs/stable_diffusion.py
Executable file → Normal file
0
app/cogs/stable_diffusion.py
Executable file → Normal file
Loading…
x
Reference in New Issue
Block a user