summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fortnite_client/fortnite_events.py3
-rw-r--r--persistence/__init__.py4
-rw-r--r--telegram_bot/commands.py3
3 files changed, 6 insertions, 4 deletions
diff --git a/fortnite_client/fortnite_events.py b/fortnite_client/fortnite_events.py
index 01ca888..2447d82 100644
--- a/fortnite_client/fortnite_events.py
+++ b/fortnite_client/fortnite_events.py
@@ -1,6 +1,7 @@
import fortnitepy
import typing
import time
+import datetime
from fortnite_client import *
from telegram_bot import *
from persistence import *
@@ -44,7 +45,7 @@ class NewFriendObserverImpl(NewFriendObserver):
self.__stats_repository = stats_repository
async def on_event(self, friend: User) -> None:
- await self.__stats_repository.put_stats(friend)
+ await self.__stats_repository.put_stats(friend, datetime.datetime.now())
await self.__telegram_bot.send_message_to_all(format_new_friend(friend.display_name))
async def on_failure(self, display_name) -> None:
diff --git a/persistence/__init__.py b/persistence/__init__.py
index 1c6057c..be040eb 100644
--- a/persistence/__init__.py
+++ b/persistence/__init__.py
@@ -61,7 +61,7 @@ class StatsRepository:
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_datetime: datetime.datetime = datetime.datetime.now()):
+ async def put_stats(self, user: User, stats_datetime: datetime.datetime):
stats: UserStats = await user.fetch_stats()
connection = self.__get_connection()
@@ -77,7 +77,7 @@ class StatsRepository:
cur.execute(query)
connection.commit()
- def get_stats(self, stats_datetime: datetime.datetime = datetime.datetime.now()) -> typing.List[UserStats]:
+ def get_stats(self, stats_datetime: datetime.datetime) -> typing.List[UserStats]:
connection = self.__get_connection()
cur = connection.cursor()
query = "SELECT * FROM stats WHERE stats_datetime IN (SELECT MIN(stats_datetime) FROM stats WHERE stats_datetime >= '{stats_datetime}')".format(stats_datetime = stats_datetime)
diff --git a/telegram_bot/commands.py b/telegram_bot/commands.py
index 108f550..5d4a849 100644
--- a/telegram_bot/commands.py
+++ b/telegram_bot/commands.py
@@ -137,6 +137,7 @@ class RecordStatsCommand(CommandHandler):
async def handle(self, message: telebot.types.Message):
if self.__fortnite_client.is_initialized():
+ stats_datetime = datetime.datetime.now()
friends = await self.__fortnite_client.get_friends()
for friend in friends:
- await self.__stats_repository.put_stats(friend) \ No newline at end of file
+ await self.__stats_repository.put_stats(friend, stats_datetime) \ No newline at end of file