def topScores(channel, stat='exp', reverse=False):
columns = ['name', 'exp', 'killed_ducks', 'shoots_fired']
if stat not in columns:
columns.append(stat)
table = getChannelPlayers(channel, columns=columns)
players_list = []
for player in table:
if checks.is_player_check(player):
players_list.append(player)
# print(str(player["name"]) + " | " + str(player["exp"]) + "|" + str(player["killed_ducks"]))
try:
# Retourne l'ensemble des joueurs dans une liste par stat
# FIXME : le truc de l'infini est un moyen dégueulasse de ne pas avoir "None" devant 0 pour best_time
# éventuellement on pourrait ne pas mettre les gens avec None dans le top (à faire dans exp.py)
return sorted(players_list, key=lambda k: (k.get(stat, None) or (math.inf if stat == 'best_time' else 0)), reverse=not reverse)
except:
return []
评论列表
文章目录