diff options
Diffstat (limited to 'fortnite_client/__init__.py')
-rw-r--r-- | fortnite_client/__init__.py | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/fortnite_client/__init__.py b/fortnite_client/__init__.py index d44fee4..113f3d6 100644 --- a/fortnite_client/__init__.py +++ b/fortnite_client/__init__.py @@ -22,9 +22,10 @@ class ClientInitObserver: pass class NewFriendObserver: - async def on_event(self, friend: User) -> None: + async def on_new_friend_request(self, request_id: str, display_name: str, fortnite_client: any) -> None: + pass + async def on_friend_added(self, friend: User) -> None: pass - async def on_unavailable_public_stats(self, display_name) -> None: pass @@ -121,28 +122,17 @@ class FriendPresenceEvent: class IncomingFriendRequestEvent: async def on_event(request: typing.Union[fortnitepy.friend.IncomingPendingFriend, fortnitepy.friend.OutgoingPendingFriend], new_friend_observer: NewFriendObserver): - print('Do nothing on incoming friend request..') - #if isinstance(request, fortnitepy.friend.IncomingPendingFriend): - #incoming_request = typing.cast(fortnitepy.friend.IncomingPendingFriend, request) - #await incoming_request.accept() - #accepted_friend = incoming_request.client.get_friend(request._id) - - #if isinstance(request, fortnitepy.friend.OutgoingPendingFriend): - #outgoing_request = typing.cast(fortnitepy.friend.OutgoingPendingFriend, request) - #accepted_friend = outgoing_request.client.get_friend(request._id) + if isinstance(request, fortnitepy.friend.IncomingPendingFriend): + incoming_request = typing.cast(fortnitepy.friend.IncomingPendingFriend, request) + await IncomingFriendRequestEvent.__handle_friend_request(incoming_request, new_friend_observer) - #await IncomingFriendRequestEvent.__handle_new_friend(accepted_friend, new_friend_observer) + if isinstance(request, fortnitepy.friend.OutgoingPendingFriend): + outgoing_request = typing.cast(fortnitepy.friend.OutgoingPendingFriend, request) + accepted_friend = outgoing_request.client.get_friend(request._id) + await IncomingFriendRequestEvent.__handle_new_friend(accepted_friend, new_friend_observer) - async def __handle_new_friend(accepted_friend: fortnitepy.friend.Friend, new_friend_observer: NewFriendObserver): - # Try fetch stats - try: - await IncomingFriendRequestEvent.__try_get_stats(accepted_friend) - except: - print(traceback.format_exc()) - await new_friend_observer.on_unavailable_public_stats(accepted_friend.display_name) - - # Register new fried, fetch stats - await new_friend_observer.on_event(User.from_fortnite_friend(accepted_friend)) + async def __handle_friend_request(request: fortnitepy.friend.IncomingPendingFriend, new_friend_observer: NewFriendObserver): + await new_friend_observer.on_new_friend_request(request._id, request.display_name, request.client) - async def __try_get_stats(friend: fortnitepy.Friend): - await friend.fetch_br_stats()
\ No newline at end of file + async def __handle_new_friend(accepted_friend: fortnitepy.friend.Friend, new_friend_observer: NewFriendObserver): + await new_friend_observer.on_friend_added(accepted_friend)
\ No newline at end of file |