-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathmain.py
38 lines (33 loc) · 1.14 KB
/
main.py
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
38
import asyncio
import config
from discord_band import DiscordBand
from windows import Windows
from winsdk.windows.ui.notifications import UserNotification
def handler(discord_band: DiscordBand):
def closure(notification: UserNotification) -> None:
if discord_band.is_discord_notification(notification):
if discord_band.is_call_notification(notification):
discord_band.enable_call_notification()
else:
discord_band.enable_band_notification()
return closure
async def init(discord_band: DiscordBand, windows: Windows):
if not await windows.can_read_notifications():
exit()
windows.add_notification_listener(handler(discord_band))
await windows.run()
discord_band = None
try:
print("Starting VRC Discord Notifications...")
port = config.get_port_number()
discord_band = DiscordBand(port)
windows = Windows()
asyncio.run(init(discord_band, windows))
except KeyboardInterrupt:
print("Shutting Down...\n")
except OSError as e:
print(e)
input("Caught issue with Windows\n")
finally:
if discord_band != None:
discord_band.dispose()