From 435c13fe93d5da72b1d4d3ff927b07c76eff01f6 Mon Sep 17 00:00:00 2001 From: Dmitrii Morozov Date: Tue, 7 May 2024 18:35:51 +0200 Subject: Reject new friend if public stats are not enabled --- fortnite_client/fortnite_events.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'fortnite_client/fortnite_events.py') 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 -- cgit v1.2.3