diff options
author | Dmitrii Morozov <snoopdesigns@gmail.com> | 2024-05-07 16:50:38 +0200 |
---|---|---|
committer | Dmitrii Morozov <snoopdesigns@gmail.com> | 2024-05-07 16:50:38 +0200 |
commit | cfa79cbbaf42a8f74a2cd4bca4d1d495b4d597f1 (patch) | |
tree | 6112ceda171cda2ed8c40c53cc0a8e0766c6e008 /fortnite_status_notifier.py | |
parent | f5c57d8e73f33ca1d7374a2662fbc7a4592eb7cd (diff) |
Python code style
Diffstat (limited to 'fortnite_status_notifier.py')
-rw-r--r-- | fortnite_status_notifier.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/fortnite_status_notifier.py b/fortnite_status_notifier.py new file mode 100644 index 0000000..edf3009 --- /dev/null +++ b/fortnite_status_notifier.py @@ -0,0 +1,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: + + __fortnite_status_observer: FortniteStatusObserver + __fortnite_status: FortniteStatus + __last_fortnite_status: any + + def __init__(self, fortnite_status_observer: FortniteStatusObserver): + self.__fortnite_status_observer = fortnite_status_observer + self.__fortnite_status = FortniteStatus() + + async def run(self): + # Initialize status + self.__last_fortnite_status = self.__fortniteStatus.getStatus() + while True: + await self.__read_status() + await asyncio.sleep(__polling_interval__) + + async def __read_status(self): + service_status_tmp = self.__fortniteStatus.getStatus() + if service_status_tmp != self.__last_fortnite_status: + await self.__notify(service_status_tmp) + self.__last_fortnite_status = service_status_tmp + + async def __notify(self, fortnite_status): + await self.__fortnite_status_observer.update(fortnite_status)
\ No newline at end of file |