summaryrefslogtreecommitdiff
path: root/FortniteClient.py
diff options
context:
space:
mode:
Diffstat (limited to 'FortniteClient.py')
-rwxr-xr-xFortniteClient.py26
1 files changed, 16 insertions, 10 deletions
diff --git a/FortniteClient.py b/FortniteClient.py
index c9b9997..a8e6774 100755
--- a/FortniteClient.py
+++ b/FortniteClient.py
@@ -6,23 +6,30 @@ import os
import typing
from DeviceAuth import DeviceAuth
from FortniteEvents import *
+from Types import *
__fortnite_account_key__ = 'fornite-account-key'
class FortniteClient(fortnitepy.Client):
device_auth = DeviceAuth()
- observer = None
+ presenceObserver = None
+ clientInit = None
- def __init__(self, friendPresenceObserver: PresenceObserver):
- self.observer = friendPresenceObserver
+ def __init__(self, friendPresenceObserver: PresenceObserver, clientInit: ClientInit):
+ self.presenceObserver = friendPresenceObserver
+ self.clientInit = clientInit
if self.device_auth.device_auth_file_exists():
self.__auth_device_auth()
else:
self.__auth_authorization_code()
- def get_friends(self):
- return self.friends
+ async def get_friends(self) -> typing.List[User]:
+ return [User.from_fortnite_friend(friend) for friend in self.friends]
+
+ async def find_user(self, display_name: str):
+ user: fortnitepy.User = await self.fetch_user_by_display_name(display_name)
+ return User.from_fortnite_friend(user)
def __auth_authorization_code(self):
code = input("Enter authorization code (https://www.epicgames.com/id/api/redirect?clientId=3446cd72694c4a4485d81b77adbb2141&responseType=code):")
@@ -67,13 +74,12 @@ class FortniteClient(fortnitepy.Client):
print('----------------')
await self.generate_auth_details()
-
- # Accept pending friends
- for friend_request in self.incoming_pending_friends:
- await self.event_friend_request(friend_request)
+
+ # Call observers
+ await self.clientInit.on_event()
async def event_friend_request(self, request: typing.Union[fortnitepy.friend.IncomingPendingFriend, fortnitepy.friend.OutgoingPendingFriend]):
await IncomingFriendRequest.on_event(request)
async def event_friend_presence(self, before, after: fortnitepy.Presence):
- await FriendPresence.on_event(before, after, self.observer) \ No newline at end of file
+ await FriendPresence.on_event(before, after, self.presenceObserver) \ No newline at end of file