From 7aef5a4c10c55db744dcb1d95488b5e461af0bc2 Mon Sep 17 00:00:00 2001 From: ue86388 Date: Wed, 17 Apr 2024 09:47:40 +0200 Subject: Record stats manually and format todaystats --- Formatter.py | 18 ++++++++++++------ tgbot.py | 6 +++++- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Formatter.py b/Formatter.py index 7241aca..fc8b8ad 100644 --- a/Formatter.py +++ b/Formatter.py @@ -56,14 +56,20 @@ def formatUserStatsDifference(oldUserStats: typing.List[UserStats], newUserStats def __formatStatsDifference(oldUserStats: UserStats, newUserStats: UserStats): return formatting.format_text( - formatting.mbold("User: ") + oldUserStats.user_display_name, - formatting.mbold("ID: ") + oldUserStats.user_id, - formatting.mbold("Level: ") + "{} \(\+ {}\)".format(str(oldUserStats.level), str(newUserStats.level - oldUserStats.level)), - formatting.mbold("Matches played: ") + "{} \(\+ {}\)".format(str(oldUserStats.matches_played), str(newUserStats.matches_played - oldUserStats.matches_played)), - formatting.mbold("Total kills: ") + "{} \(\+ {}\)".format(str(oldUserStats.kills), str(newUserStats.kills - oldUserStats.kills)), - formatting.mbold("Wins: ") + "{} \(\+ {}\)".format(str(oldUserStats.wins), str(newUserStats.wins - oldUserStats.wins)), + formatting.mbold("User: ") + newUserStats.user_display_name, + formatting.mbold("ID: ") + newUserStats.user_id, + formatting.mbold("Level: ") + "{}{}".format(str(newUserStats.level), __formatStatDifference(oldUserStats.level, newUserStats.level)), + formatting.mbold("Matches played: ") + "{}{}".format(str(newUserStats.matches_played), __formatStatDifference(oldUserStats.matches_played, newUserStats.matches_played)), + formatting.mbold("Total kills: ") + "{}{}".format(str(newUserStats.kills), __formatStatDifference(oldUserStats.kills, newUserStats.kills)), + formatting.mbold("Wins: ") + "{}{}".format(str(newUserStats.wins), __formatStatDifference(oldUserStats.wins, newUserStats.wins)), separator='\n') +def __formatStatDifference(oldStatValue: int, newStatValue: int): + if oldStatValue != newStatValue: + return " \(\+ {}\)".format(str(newStatValue - oldStatValue)) + else: + return "" + def __formatStats(userStats: UserStats): return formatting.format_text( formatting.mbold("User: ") + userStats.user_display_name, diff --git a/tgbot.py b/tgbot.py index ba87df7..87d93e1 100755 --- a/tgbot.py +++ b/tgbot.py @@ -89,6 +89,10 @@ async def getTodayStats(message): current_stats = [await friend.fetch_stats() for friend in friends] await reply(message, formatUserStatsDifference(persisted_stats, current_stats)) +@bot.message_handler(commands = ['recordstats']) +async def recordStats(message): + await record_user_stats() + @bot.message_handler(commands = ['find']) async def findUser(message): arg = message.text.split() @@ -150,7 +154,7 @@ async def run_record_stats(): t = time.localtime() if t.tm_hour == 5: # only at 05:00 await record_user_stats() - await asyncio.sleep(60 * 60 * 60) # 1 hour + await asyncio.sleep(60 * 60) # 1 hour async def run_all(): await asyncio.gather(run_tgbot(), run_fortniteStatusWrapper(), run_fortniteClient(), run_record_stats()) -- cgit v1.2.3