FixTweet/bot/Classes.py
2023-07-03 08:44:24 +02:00

47 lines
1.2 KiB
Python

from dataclasses import dataclass, asdict
from datetime import datetime, timedelta
from os import getenv
@dataclass
class _CONFIG:
"""
Skell for other Services Configurations
"""
def __hash__(self) -> dict:
return asdict(self)
def load_envs(self) -> object:
"""
Loads variables from environment.
:return:
"""
raise NotImplementedError
def __post_init__(self):
self = self.load_envs()
@dataclass
class DiscordConf(_CONFIG):
"""
Stores the configuration for the Discord Bot
token: str
mc_url: str : Url to post on the discord embeds / messages
prefix: str : Prefix for the commands
description: str : Bot description to have
"""
token: str = None
# mc_url: str = None
prefix: str = "!"
description: str = "Don't u dare make me fix ur twitter links."
def load_envs(self):
self.token = getenv("DISCORD_TOKEN") or self.token
# self.mc_url = getenv("DISCORD_MC_URL") or self.mc_url
self.prefix = getenv("DISCORD_PREFIX") or self.prefix
self.description = getenv("DISCORD_DESCRIPTION") or self.description
return self