def single_stat_request(player, code, stat):
"""Actually retrieves the stat and returns the stat info in an embed"""
session = Session()
message = ""
if code == 1:
(table, col, message) = stat_dict[stat]
columns = [col]
res = session.query(*(getattr(table, column) for column in columns), Account.display_name).join(Account).filter(Account.display_name == player).first()
#Returns a tuple containing the stat, but only the first element is defined for some reason.
num = truncate_decimals(res[0])
name = res[1]
elif code == 2 or code == 3:
(table, col, message) = medal_dict[stat]
columns = [col]
res = session.query(func.sum(*(getattr(table, column) for column in columns))).join(Account).filter(Account.display_name == player).group_by(AccountMedals.id).first()
num = float(res[0])
name = player
if message != "Activities Entered" and message != "Total Number of Medals" and message != "Total Medal Score":
message = f"Total {message} Medals"
if code == 3:
denominator = session.query(PvPAggregate.activitiesEntered).join(Account).filter(Account.display_name == player).first()
act = denominator[0]
num = num/act
if message != "Activities Entered" and message != "Total Number of Medals" and message != "Total Medal Score":
message = f"{message} Medals per Game"
elif code == 4:
(table, col, message) = character_dict[stat]
columns = [col]
res = session.query(func.max(*(getattr(table, column) for column in columns)), Account.display_name).join(Account).filter(Account.display_name == player).first()
#Returns a tuple containing the stat, but only the first element is defined for some reason.
num = truncate_decimals(res[0])
name = res[1]
#em = discord.Embed(title = f"{author}{message}{result}", colour=0xADD8E6)
em = f"```{message} for {name}: {num}```"
return em
评论列表
文章目录