import fortnitepy import typing 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: async def update(self, display_name: str, playing: bool, party_size: int) -> None: pass class FriendPresence: async def on_event(before, after: fortnitepy.Presence, observer: PresenceObserver): 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)) party_size: int = 1 if after.has_properties: party: fortnitepy.PresenceParty = after.party if party.playercount is not None: party_size = int(party.playercount) await observer.update( after.friend.display_name, after.playing, party_size)