summaryrefslogtreecommitdiff
path: root/fortnite_status_notifier.py
diff options
context:
space:
mode:
authorDmitrii Morozov <snoopdesigns@gmail.com>2024-05-07 16:50:38 +0200
committerDmitrii Morozov <snoopdesigns@gmail.com>2024-05-07 16:50:38 +0200
commitcfa79cbbaf42a8f74a2cd4bca4d1d495b4d597f1 (patch)
tree6112ceda171cda2ed8c40c53cc0a8e0766c6e008 /fortnite_status_notifier.py
parentf5c57d8e73f33ca1d7374a2662fbc7a4592eb7cd (diff)
Python code style
Diffstat (limited to 'fortnite_status_notifier.py')
-rw-r--r--fortnite_status_notifier.py37
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