summaryrefslogtreecommitdiff
path: root/fortnite_client/fortnite_events.py
diff options
context:
space:
mode:
authorDmitrii Morozov <snoopdesigns@gmail.com>2024-05-07 18:35:51 +0200
committerDmitrii Morozov <snoopdesigns@gmail.com>2024-05-07 18:35:51 +0200
commit435c13fe93d5da72b1d4d3ff927b07c76eff01f6 (patch)
tree729c3dbbdc716e82e388f575b2ddf7a9237faa10 /fortnite_client/fortnite_events.py
parent4a7ebc16bc3a7ac6343aafe7d6938dd136e262aa (diff)
Reject new friend if public stats are not enabled
Diffstat (limited to 'fortnite_client/fortnite_events.py')
-rw-r--r--fortnite_client/fortnite_events.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/fortnite_client/fortnite_events.py b/fortnite_client/fortnite_events.py
index 2d252ad..d4fb2d0 100644
--- a/fortnite_client/fortnite_events.py
+++ b/fortnite_client/fortnite_events.py
@@ -32,4 +32,21 @@ class FriendPresenceObserverImpl(FriendPresenceObserver):
self.__presence_repository.set_last_user_presence(display_name, time.time())
async def __notify_friend_playing(self, display_name: str, party_size: int):
- await self.__telegram_bot.send_message_to_all(format_friend_online(display_name, party_size)) \ No newline at end of file
+ await self.__telegram_bot.send_message_to_all(format_friend_online(display_name, party_size))
+
+class NewFriendObserverImpl(NewFriendObserver):
+
+ __telegram_bot: TelegramBot
+ __stats_repository: StatsRepository
+
+ def __init__(self, telegram_bot: TelegramBot, stats_repository: StatsRepository):
+ self.__telegram_bot = telegram_bot
+ self.__stats_repository = stats_repository
+
+ async def on_event(self, friend: User) -> None:
+ print('Record new friend stats')
+ await self.__stats_repository.put_stats(friend)
+ await self.__telegram_bot.send_message_to_all(format_new_friend(friend.display_name))
+
+ async def on_failure(self, display_name) -> None:
+ await self.__telegram_bot.send_message_to_all(format_failed_new_friend(display_name)) \ No newline at end of file