summaryrefslogtreecommitdiff
path: root/FortniteEvents.py
blob: b5ae91cd391bb19c8add7f16847ab6ee16e974cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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 = 0
                if after.has_properties:
                    party: fortnitepy.PresenceParty = after.party
                    party_size = int(party.playercount)
                await observer.update(
                    after.friend.display_name, 
                    after.playing, 
                    party_size)