2022-05-10 20:23:12 +00:00
|
|
|
from typing import TypedDict
|
|
|
|
|
|
|
|
class Logging(TypedDict):
|
|
|
|
debug: bool
|
2022-05-22 04:37:09 +00:00
|
|
|
writeToFile: bool
|
2022-05-10 20:23:12 +00:00
|
|
|
|
2022-05-12 07:14:23 +00:00
|
|
|
class Posters(TypedDict):
|
|
|
|
enabled: bool
|
|
|
|
imgurClientID: str
|
|
|
|
|
2022-08-25 20:37:50 +00:00
|
|
|
class Button(TypedDict):
|
|
|
|
label: str
|
|
|
|
url: str
|
|
|
|
|
2022-05-10 20:23:12 +00:00
|
|
|
class Display(TypedDict):
|
|
|
|
useRemainingTime: bool
|
2022-05-12 07:14:23 +00:00
|
|
|
posters: Posters
|
2022-08-25 20:37:50 +00:00
|
|
|
buttons: list[Button]
|
2022-05-10 20:23:12 +00:00
|
|
|
|
2022-05-11 00:03:51 +00:00
|
|
|
class Server(TypedDict, total = False):
|
2022-05-10 20:23:12 +00:00
|
|
|
name: str
|
2022-05-11 01:50:06 +00:00
|
|
|
listenForUser: str
|
2022-05-10 20:23:12 +00:00
|
|
|
blacklistedLibraries: list[str]
|
|
|
|
whitelistedLibraries: list[str]
|
|
|
|
|
|
|
|
class User(TypedDict):
|
|
|
|
token: str
|
|
|
|
servers: list[Server]
|
|
|
|
|
|
|
|
class Config(TypedDict):
|
|
|
|
logging: Logging
|
|
|
|
display: Display
|
|
|
|
users: list[User]
|