start_bot.bat: запуск бота на Python 3.11 (py -3.11)

Переустановлен Python 3.11 (в прежней установке пропал python.exe), зависимости
поставлены в него. .bat теперь использует py -3.11 для запуска и pip, чтобы бот
стабильно работал на 3.11 независимо от того, куда указывает системный python.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kenik
2026-07-18 18:07:48 +03:00
parent f6a635cc2e
commit 06847fa87e
+8 -9
View File
@@ -1,14 +1,14 @@
@echo off
chcp 65001 >nul
cd /d "%~dp0"
title Бот ИКП (VK)
title Бот БАЗА (VK)
REM === Подготовка окружения при первом запуске ===
REM 1) Проверяем, что Python доступен
where python >nul 2>&1
REM 1) Бот работает на Python 3.11 (через launcher py -3.11)
py -3.11 --version >nul 2>&1
if errorlevel 1 (
echo [ОШИБКА] Python не найден в PATH. Установите Python 3 и запустите снова.
echo [ОШИБКА] Python 3.11 не найден. Установите Python 3.11 и запустите снова.
pause
exit /b
)
@@ -30,18 +30,17 @@ if not exist ".env" (
)
)
REM 3) Устанавливаем зависимости (если уже стоят — отработает быстро)
REM 3) Устанавливаем зависимости в Python 3.11 (если уже стоят — быстро)
echo Проверка зависимостей...
python -m pip install -r requirements.txt >nul 2>&1
py -3.11 -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 [%date% %time%] Запуск бота БАЗА...
py -3.11 bot.py
echo.
echo [%date% %time%] Бот остановился (код %errorlevel%). Перезапуск через 5 секунд...
echo Нажмите Ctrl+C, чтобы выйти полностью.