summaryrefslogtreecommitdiff
path: root/fortnite_client/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'fortnite_client/__init__.py')
-rw-r--r--fortnite_client/__init__.py38
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