summaryrefslogtreecommitdiff
path: root/FortniteEvents.py
diff options
context:
space:
mode:
Diffstat (limited to 'FortniteEvents.py')
-rw-r--r--FortniteEvents.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/FortniteEvents.py b/FortniteEvents.py
new file mode 100644
index 0000000..d8fac0d
--- /dev/null
+++ b/FortniteEvents.py
@@ -0,0 +1,34 @@
+import fortnitepy
+import typing
+
+class PartyInvite:
+
+ async def on_event(invitation: fortnitepy.ReceivedPartyInvitation):
+ print('Accepting party invitation from {}'.format(invitation.sender.display_name))
+ clientParty = await invitation.accept()
+ for partyMember in clientParty.members:
+ if not self.get_friend(partyMember.id) and self.user.id != partyMember.id:
+ print('Adding {} as friend'.format(partyMember.display_name))
+ await partyMember.add()
+
+class IncomingFriendRequest:
+
+ async def on_event(request: typing.Union[fortnitepy.friend.IncomingPendingFriend, fortnitepy.friend.OutgoingPendingFriend]):
+ if isinstance(request, fortnitepy.friend.IncomingPendingFriend):
+ incoming_request = typing.cast(fortnitepy.friend.IncomingPendingFriend, request)
+ print('Accepting friend request from {}'.format(incoming_request.display_name))
+ await incoming_request.accept()
+
+class PresenceObserver:
+ def update(self, display_name: str, playing: bool) -> None:
+ pass
+
+class FriendPresence:
+
+ async def on_event(before, after: fortnitepy.Presence, observers):
+ if before is not None and after is not None:
+ if before.playing != after.playing:
+ print('FriendPresence changed for user {}, before {}, after {}'.format(after.friend.display_name, before.playing, after.playing))
+ for observer in observers:
+ if isinstance(observer, PresenceObserver):
+ observer.update(after.friend.display_name, after.playing)