32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
import os
|
|
|
|
|
|
class Config:
|
|
# bot setup
|
|
BOT_TOKEN: str = os.getenv("BOT_TOKEN")
|
|
OWNER_ID: int = int(os.getenv("OWNER_ID", 1))
|
|
LOG_LEVEL: str = os.getenv("LOG_LEVEL", "INFO")
|
|
|
|
# bot behaviour
|
|
DROP_PENDING: bool = bool(int(os.getenv("DROP_PENDING", True)))
|
|
TIMEOUT: int = int(os.getenv("TIMEOUT", 20))
|
|
POLLING_TIMEOUT: int = int(os.getenv("POLLING_TIMEOUT", 20))
|
|
NUM_THREADS: int = int(os.getenv("NUM_THREADS", 2))
|
|
PARSE_MODE: str = os.getenv("PARSE_MODE", "html")
|
|
|
|
# i18n
|
|
I18N_PATH: str = os.getenv("I18N_PATH", "i18n.yaml")
|
|
I18N_LANG: str = os.getenv("I18N_LANG", "en")
|
|
I18N_FALLBACK_LANG: str = os.getenv("I18N_FALLBACK_LANG", "en")
|
|
|
|
# state storage
|
|
SS_TYPE: str = os.getenv("SS_TYPE", "memory").lower()
|
|
SS_REDIS_HOST: str = os.getenv("SS_REDIS_HOST")
|
|
SS_REDIS_PORT: int = int(os.getenv("SS_REDIS_PORT", 6379))
|
|
SS_REDIS_DB: int = int(os.getenv("SS_REDIS_DB", 0))
|
|
SS_REDIS_PASS: str = os.getenv("SS_REDIS_PASS")
|
|
|
|
def __init__(self):
|
|
if not self.BOT_TOKEN:
|
|
raise RuntimeError("Missing BOT_TOKEN")
|