diff options
author | Dmitrii Morozov <snoopdesigns@gmail.com> | 2024-04-08 23:40:24 +0200 |
---|---|---|
committer | Dmitrii Morozov <snoopdesigns@gmail.com> | 2024-04-08 23:40:24 +0200 |
commit | 7b992afe70925f244ca6e9746071ae71e497b54e (patch) | |
tree | 8c3b0184f5060c8e3adc632f27ff694a1b22c0e2 /FortniteEvents.py | |
parent | 733e7e23a14588358607a65c2bb1f2677c1e53c6 (diff) |
Observe status of friends
Diffstat (limited to 'FortniteEvents.py')
-rw-r--r-- | FortniteEvents.py | 34 |
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) |