blob: 79323800cee66287b8e9e6ad9391e03b9318e114 (
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
35
36
37
|
from telebot import formatting
import time
import asyncio
from pythonFortniteStatus.FortniteStatus import *
# Polling interval in seconds
__polling_interval__ = 5 * 60 # 5 minutes
class FortniteStatusObserver:
async def update(self, fortnite_status) -> None:
pass
class FortniteStatusNotifier:
__fortniteStatusObserver: FortniteStatusObserver
__fortniteStatus: FortniteStatus
__lastFortniteStatus: any
def __init__(self, fortniteStatusObserver: FortniteStatusObserver):
self.__fortniteStatusObserver = fortniteStatusObserver
self.__fortniteStatus = FortniteStatus()
async def run(self):
# Initialize status
self.__lastFortniteStatus = self.__fortniteStatus.getStatus()
while True:
await self.__readStatus()
await asyncio.sleep(__polling_interval__)
async def __readStatus(self):
serviceStatusTmp = self.__fortniteStatus.getStatus()
if serviceStatusTmp != self.__lastFortniteStatus:
await self.__notify(serviceStatusTmp)
self.__lastFortniteStatus = serviceStatusTmp
async def __notify(self, fortniteStatus):
await self.__fortniteStatusObserver.update(fortniteStatus)
|