tg-сессия в комбайне + панель: ключи/сессия в шапке + фикс пустого radar_sources
- omni/config.py: tg_cfg() читает data/tg.json (вне git), env приоритетнее
- omni/tgsess.py: enabled()/fetch() подтягивают креды из config
- tools/tg_pick.py: перебор пула сессий, проверка is_user_authorized, личные аккаунты исключены
- omni claw pump: 2 канала -> 27 постов через сессию (проверено)
- omni/serve.py: /api/stats += keys{totals}, tg{enabled}
- web/index.html: строка статуса в шапке (ключей / сервисов / TG сессия)
- omni/cli.py radar --apply: пишет полный набор, а не только новые (повторный прогон обнулял файл)
- omni/cli.py radar --import-posts: --since-days + скип известных url до simhash
This commit is contained in:
@@ -68,7 +68,6 @@ def load():
|
||||
cfg.update(json.loads(cf.read_text(encoding="utf-8")))
|
||||
except Exception:
|
||||
pass
|
||||
CONFIG = cfg
|
||||
# cookies, снятые браузером (tools/cf_cookies.py) — файл вне git
|
||||
ck_file = DATA / "cookies.json"
|
||||
if ck_file.exists():
|
||||
@@ -93,9 +92,38 @@ def load():
|
||||
if v:
|
||||
KEYS[name] = v
|
||||
DATA.mkdir(parents=True, exist_ok=True)
|
||||
CONFIG = cfg
|
||||
return cfg
|
||||
|
||||
|
||||
def tg_cfg():
|
||||
"""Креды Telegram-сессии: data/tg.json (вне git) или env. Возвращает dict.
|
||||
|
||||
Ключи: session (путь к .session без расширения), api_id, api_hash, limit.
|
||||
env всегда приоритетнее файла.
|
||||
"""
|
||||
import os
|
||||
out = {"session": "", "api_id": "", "api_hash": "", "limit": "100"}
|
||||
f = DATA / "tg.json"
|
||||
if f.exists():
|
||||
try:
|
||||
d = json.loads(f.read_text(encoding="utf-8"))
|
||||
for k in out:
|
||||
if d.get(k):
|
||||
out[k] = str(d[k])
|
||||
except Exception:
|
||||
pass
|
||||
for env, key in (("OMNI_TG_SESSION", "session"), ("OMNI_TG_API_ID", "api_id"),
|
||||
("OMNI_TG_API_HASH", "api_hash"), ("OMNI_TG_LIMIT", "limit")):
|
||||
if os.environ.get(env):
|
||||
out[key] = os.environ[env]
|
||||
for env, key in (("OMNI_TG_SESSION", "session"), ("OMNI_TG_API_ID", "api_id"),
|
||||
("OMNI_TG_API_HASH", "api_hash"), ("OMNI_TG_LIMIT", "limit")):
|
||||
if out[key]:
|
||||
os.environ.setdefault(env, out[key])
|
||||
return out
|
||||
|
||||
|
||||
def proxies():
|
||||
mode = CONFIG.get("proxy_mode", "off")
|
||||
if mode == "env":
|
||||
|
||||
Reference in New Issue
Block a user