understanding commited on
Commit
1583b8b
·
verified ·
1 Parent(s): e287ba0

Create app/config.py

Browse files
Files changed (1) hide show
  1. app/config.py +38 -0
app/config.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from dataclasses import dataclass
3
+
4
+ @dataclass(frozen=True)
5
+ class Config:
6
+ # Telegram
7
+ BOT_TOKEN: str
8
+ API_ID: int
9
+ API_HASH: str
10
+ OWNER_ID: int
11
+
12
+ # Workers
13
+ WORKER1_URL: str
14
+ WORKER2_URL: str
15
+ BOT_BACKEND_KEY: str
16
+ HF_API_KEY: str
17
+
18
+ # Optional
19
+ BOT_USERNAME: str = ""
20
+
21
+ def _must(name: str) -> str:
22
+ v = os.getenv(name, "").strip()
23
+ if not v:
24
+ raise RuntimeError(f"Missing env: {name}")
25
+ return v
26
+
27
+ def load_config() -> Config:
28
+ return Config(
29
+ BOT_TOKEN=_must("BOT_TOKEN"),
30
+ API_ID=int(_must("API_ID")),
31
+ API_HASH=_must("API_HASH"),
32
+ OWNER_ID=int(_must("OWNER_ID")),
33
+ WORKER1_URL=_must("WORKER1_URL").rstrip("/"),
34
+ WORKER2_URL=_must("WORKER2_URL").rstrip("/"),
35
+ BOT_BACKEND_KEY=_must("BOT_BACKEND_KEY"),
36
+ HF_API_KEY=_must("HF_API_KEY"),
37
+ BOT_USERNAME=os.getenv("BOT_USERNAME", "").strip(),
38
+ )