summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--formatter/__init__.py2
-rw-r--r--persistence/__init__.py16
-rw-r--r--telegram_bot/commands.py6
3 files changed, 11 insertions, 13 deletions
diff --git a/formatter/__init__.py b/formatter/__init__.py
index 71ea150..6fce639 100644
--- a/formatter/__init__.py
+++ b/formatter/__init__.py
@@ -59,7 +59,6 @@ def format_user_stats_difference(old_user_stats: typing.List[UserStats], new_use
def __format_stats_difference(old_user_stats: UserStats, new_user_stats: UserStats):
return formatting.format_text(
formatting.mbold("User: ") + new_user_stats.user_display_name,
- formatting.mbold("ID: ") + new_user_stats.user_id,
formatting.mbold("Level: ") + "{}{}".format(str(new_user_stats.level), __format_stat_difference(old_user_stats.level, new_user_stats.level)),
formatting.mbold("Matches played: ") + "{}{}".format(str(new_user_stats.matches_played), __format_stat_difference(old_user_stats.matches_played, new_user_stats.matches_played)),
formatting.mbold("Total kills: ") + "{}{}".format(str(new_user_stats.kills), __format_stat_difference(old_user_stats.kills, new_user_stats.kills)),
@@ -76,7 +75,6 @@ def __format_stat_difference(old_stat_value: int, new_stat_value: int):
def __format_stats(user_stats: UserStats):
return formatting.format_text(
formatting.mbold("User: ") + user_stats.user_display_name,
- formatting.mbold("ID: ") + user_stats.user_id,
formatting.mbold("Level: ") + str(user_stats.level),
formatting.mbold("Matches played: ") + str(user_stats.matches_played),
formatting.mbold("Total kills: ") + str(user_stats.kills),
diff --git a/persistence/__init__.py b/persistence/__init__.py
index 663522e..1c6057c 100644
--- a/persistence/__init__.py
+++ b/persistence/__init__.py
@@ -1,6 +1,6 @@
import sqlite3, typing
from app_types import *
-from datetime import date
+import datetime
class UserRepository:
@@ -58,17 +58,17 @@ class StatsRepository:
def __initialize(self):
cur = self.__get_connection().cursor()
- cur.execute("CREATE TABLE IF NOT EXISTS stats(user_id TEXT, stats_date DATE, display_name TEXT, level INT, matches_played INT, kills INT, wins INT)")
- cur.execute("CREATE UNIQUE INDEX IF NOT EXISTS user_id_date_idx ON stats(user_id, stats_date)")
+ cur.execute("CREATE TABLE IF NOT EXISTS stats(user_id TEXT, stats_datetime DATETIME, display_name TEXT, level INT, matches_played INT, kills INT, wins INT)")
+ cur.execute("CREATE UNIQUE INDEX IF NOT EXISTS user_id_date_idx ON stats(user_id, stats_datetime)")
- async def put_stats(self, user: User, stats_date: date = date.today()):
+ async def put_stats(self, user: User, stats_datetime: datetime.datetime = datetime.datetime.now()):
stats: UserStats = await user.fetch_stats()
connection = self.__get_connection()
cur = connection.cursor()
- query = "INSERT OR REPLACE INTO stats(user_id, stats_date, display_name, level, matches_played, kills, wins) VALUES('{user_id}', '{stats_date}', '{display_name}', {level}, {matches_played}, {kills}, {wins})".format(
+ query = "INSERT OR REPLACE INTO stats(user_id, stats_datetime, display_name, level, matches_played, kills, wins) VALUES('{user_id}', '{stats_datetime}', '{display_name}', {level}, {matches_played}, {kills}, {wins})".format(
user_id = user.id,
- stats_date = stats_date,
+ stats_datetime = stats_datetime,
display_name = user.display_name,
level = stats.level,
matches_played = stats.matches_played,
@@ -77,10 +77,10 @@ class StatsRepository:
cur.execute(query)
connection.commit()
- def get_stats(self, stats_date: date = date.today()) -> typing.List[UserStats]:
+ def get_stats(self, stats_datetime: datetime.datetime = datetime.datetime.now()) -> typing.List[UserStats]:
connection = self.__get_connection()
cur = connection.cursor()
- query = "SELECT * FROM stats WHERE stats_date IN (SELECT MIN(stats_date) FROM stats WHERE stats_date >= '{stats_date}')".format(stats_date = stats_date)
+ query = "SELECT * FROM stats WHERE stats_datetime IN (SELECT MIN(stats_datetime) FROM stats WHERE stats_datetime >= '{stats_datetime}')".format(stats_datetime = stats_datetime)
cur.execute(query)
result = cur.fetchall()
return [self.__map_from_db(stats) for stats in result]
diff --git a/telegram_bot/commands.py b/telegram_bot/commands.py
index a1a2888..108f550 100644
--- a/telegram_bot/commands.py
+++ b/telegram_bot/commands.py
@@ -1,5 +1,5 @@
import telebot
-from datetime import date, datetime
+import datetime
from telegram_bot import *
from formatter import *
from persistence import *
@@ -82,8 +82,8 @@ class GetStatsCallbackQueryHandler(CallbackQueryHandler):
await self.__telegram_bot.reply(message, format_user_stats_list(stats))
async def reply_with_stats_days_difference(self, message, days: int, timeframe_alias: str):
- stats_date = date.today() - datetime.timedelta(days)
- persisted_stats = self.__stats_repository.get_stats(stats_date)
+ stats_datetime = datetime.datetime.now() - datetime.timedelta(days = days)
+ persisted_stats = self.__stats_repository.get_stats(stats_datetime)
if len(persisted_stats) > 0:
friends = await self.__fortnite_client.get_friends()
current_stats = [await friend.fetch_stats() for friend in friends]