@echo off chcp 65001 >nul cd /d "%~dp0" title Бот ИКП (VK) REM === Подготовка окружения при первом запуске === REM 1) Проверяем, что Python доступен where python >nul 2>&1 if errorlevel 1 ( echo [ОШИБКА] Python не найден в PATH. Установите Python 3 и запустите снова. pause exit /b ) REM 2) Нет .env — создаём из шаблона и открываем на заполнение if not exist ".env" ( if exist ".env.example" ( copy /Y ".env.example" ".env" >nul echo. echo Создан файл .env из шаблона. Впишите VK_TOKEN, VK_GROUP_ID, ADMIN_IDS и др., echo сохраните файл и запустите бота снова. notepad ".env" pause exit /b ) else ( echo [ОШИБКА] Нет ни .env, ни .env.example. Настройте конфигурацию вручную. pause exit /b ) ) REM 3) Устанавливаем зависимости (если уже стоят — отработает быстро) echo Проверка зависимостей... python -m pip install -r requirements.txt >nul 2>&1 REM 4) Защита от нескольких экземпляров: глушим старые процессы бота перед стартом REM (иначе два longpoll-инстанса отвечают на одни нажатия). В боте ещё есть bot.lock. powershell -NoProfile -Command "Get-CimInstance Win32_Process | Where-Object { $_.Name -eq 'python.exe' -and $_.CommandLine -like '*bot.py*' } | ForEach-Object { Stop-Process -Id $_.ProcessId -Force }" >nul 2>&1 :loop echo. echo [%date% %time%] Запуск бота ИКП... python bot.py echo. echo [%date% %time%] Бот остановился (код %errorlevel%). Перезапуск через 5 секунд... echo Нажмите Ctrl+C, чтобы выйти полностью. timeout /t 5 /nobreak >nul goto loop