diff options
author | ue86388 <dmitrii.morozov@sbb.ch> | 2024-04-10 15:09:51 +0200 |
---|---|---|
committer | ue86388 <dmitrii.morozov@sbb.ch> | 2024-04-10 15:09:51 +0200 |
commit | a53ea1d94a25f010dbba8a471bc832874bbb4ae7 (patch) | |
tree | 330470ee421ffbae34434b4637ff16b1dfb4b5f5 /FortniteStatusNotifier.py | |
parent | 70c2e0df67e76f755db292a5a817c31770267a70 (diff) |
Make it work again
Diffstat (limited to 'FortniteStatusNotifier.py')
-rw-r--r-- | FortniteStatusNotifier.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/FortniteStatusNotifier.py b/FortniteStatusNotifier.py new file mode 100644 index 0000000..1c40ec0 --- /dev/null +++ b/FortniteStatusNotifier.py @@ -0,0 +1,37 @@ +from telebot import formatting +import time +import asyncio +from pythonFortniteStatus.FortniteStatus import * + +__polling_interval__ = 5 + +fortniteStatus = FortniteStatus() + +class Observer: + async def update(self, fortniteStatus) -> None: + pass + +class FortniteStatusNotifier: + + observer = None + fortniteStatus = None + + def __init__(self, observer: Observer): + self.observer = observer + + async def run(self): + # Initialize status + self.fortniteStatus = fortniteStatus.getStatus() + while True: + await self.__readStatus() + await asyncio.sleep(__polling_interval__) + + async def __readStatus(self): + serviceStatusTmp = fortniteStatus.getStatus() + if serviceStatusTmp != self.fortniteStatus: + await self.__notify(serviceStatusTmp) + self.fortniteStatus = serviceStatusTmp + + async def __notify(self, fortniteStatus): + print("Fortnite status changed, notifying observers") + await self.observer.update(fortniteStatus)
\ No newline at end of file |