summaryrefslogtreecommitdiff
path: root/FortniteEvents.py
blob: d8fac0d30c61c99b0f8e5034ee18ceef37f64811 (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
28
29
30
31
32
33
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)