tg_monitor_bot/config.py

45 lines
1.6 KiB
Python
Raw Permalink Normal View History

2026-08-02 21:46:32 +00:00
import os
import logging
from dotenv import load_dotenv
load_dotenv()
logger = logging.getLogger(__name__)
BOT_TOKEN = os.getenv("BOT_TOKEN")
ADMIN_ID = int(os.getenv("ADMIN_ID", 0))
if not BOT_TOKEN:
logger.error("❌ BOT_TOKEN не найден в .env!")
if ADMIN_ID == 0:
logger.warning("⚠️ ADMIN_ID не установлен или равен 0!")
# Парсим хосты
HOSTS_RAW = os.getenv("HOSTS", "")
HOSTS_LIST = []
if HOSTS_RAW:
for item in HOSTS_RAW.split(";"):
if item.strip():
try:
parts = item.strip().split(",")
if len(parts) != 5:
logger.warning(f"⚠️ Неверный формат хоста: {item}. Ожидается: имя,ip,порт,логин,путь_к_ключу")
continue
name, ip, port, user, key_path = parts
# Проверяем существование ключа
if not os.path.exists(key_path):
logger.warning(f"⚠️ Файл ключа {key_path} не существует для хоста {name}!")
HOSTS_LIST.append({
"name": name,
"ip": ip,
"port": int(port),
"user": user,
"key_path": key_path
})
logger.info(f"✅ Добавлен хост: {name} ({ip})")
except ValueError as e:
logger.error(f"❌ Ошибка парсинга хоста {item}: {e}")
else:
logger.error("❌ HOSTS не задан в .env!")