45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
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!")
|