From 8488c3def47af6bb98eecd043a915696b9902b33 Mon Sep 17 00:00:00 2001 From: Whyverum Date: Mon, 23 Dec 2024 21:59:53 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A3=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D1=89=D0=B8=D0=BA=20=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=B0?= =?UTF-8?q?=20=D0=BD=D0=B0=20PyPy=20(=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B2=D1=8B=D0=B1=D0=BE=D1=80+=D0=B2=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- start.bat | 171 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 118 insertions(+), 53 deletions(-) diff --git a/start.bat b/start.bat index f59dd59..f0995a5 100644 --- a/start.bat +++ b/start.bat @@ -1,93 +1,158 @@ @echo off REM start.bat -REM Этот файл нужно запускать перед стартом проекта -REM Он создает локальное окружение, скачивает все зависимости -REM Чтобы запустить файл используйте: start start или ./start +REM Этот файл нужно запускать перед стартом проекта. +REM Он создает локальное окружение, скачивает все зависимости. +REM Чтобы запустить файл, используйте: start start или ./start. -REM Включение кодировки для Windows +REM Установить кодировку UTF-8 и заголовок для консоли. chcp 65001 > nul +title Запуск Бота-aiogram cls -REM Изменяем заголовок окна консоли -title Запуск Бота-aiogram - -REM Убедитесь, что PyPy установлен и доступен +REM Проверка установки PyPy. echo Проверка наличия PyPy... -pypy --version || ( +pypy --version > nul 2>&1 || ( color C - echo PyPy не установлен. Установите PyPy и повторите попытку. - echo Установите его по ссылке: https://www.pypy.org/download.html + echo [ОШИБКА]: PyPy не установлен. Установите PyPy и повторите попытку. + echo Ссылка для установки: https://www.pypy.org/download.html title Проект - PyPy не установлен! pause exit /b ) +echo [OK]: PyPy установлен. echo. -REM Проверка наличия Git +REM Проверка установки Git. echo Проверка наличия Git... git --version > nul 2>&1 || ( color C - echo Git не установлен. Установите Git и повторите попытку. - echo Установите его по ссылке: https://git-scm.com/downloads + echo [ОШИБКА]: Git не установлен. Установите Git и повторите попытку. + echo Ссылка для установки: https://git-scm.com/downloads title Проект - Git не установлен! pause exit /b ) +echo [OK]: Git установлен. echo. -REM Проверка наличия Git репозитория +REM Проверка и инициализация Git репозитория. if not exist .git ( echo Создание Git репозитория... - git init - echo Добавление удалённого репозитория... - git remote add origin https://github.com/Whyverum/PrimoPearlBot + git init > nul + git remote add origin https://github.com/Whyverum/PrimoPearlBot > nul + echo [OK]: Git репозиторий создан и настроен. ) else ( - echo Удалённый репозиторий уже настроен. + echo [OK]: Git репозиторий уже настроен. ) echo. -REM Создание .env для хранения токенов -echo Создаётся файл .env... -( - echo main_bot_token=Вставьте Токен бота с @BotFather - echo APIKey=Иной ключ-api - echo WebAPIKey=Иной ключ web-api - echo important_id=Иной важный айди - echo secret=Некий секрет -) > .env -echo. -echo Файл .env - успешно создан! -echo Пожалуйста, перейдите в файл и вставьте свои ключи. -pause > Вы готовы продолжить? Нажмите ENTER, чтобы продолжить! -echo. -pause > Вы уверены???Нажмите ENTER, чтобы продолжить! - -REM Создание виртуального окружения, если его еще нет +REM Создание виртуального окружения, если его еще нет. if not exist .venv ( echo Создание виртуального окружения... - pypy -m venv .venv - echo. + pypy -m venv .venv > nul + if %errorlevel% neq 0 ( + color C + echo [ОШИБКА]: Не удалось создать виртуальное окружение. + pause + exit /b + ) + echo [OK]: Виртуальное окружение создано. +) else ( + echo [OK]: Виртуальное окружение уже существует. ) +echo. -REM Активируем виртуальное окружение +REM Создание файла .env с вводом данных из консоли в папке .venv. +if not exist .venv\.env ( + echo Создаётся файл .env в папке .venv... + set /p main_bot_token=Введите токен бота (main_bot_token): + set /p APIKey=Введите ключ API (APIKey): + set /p WebAPIKey=Введите ключ Web API (WebAPIKey): + set /p important_id=Введите важный ID (important_id): + set /p secret=Введите секретный ключ (secret): + + REM Проверяем пустые значения. + if "%main_bot_token%"=="" ( + echo [ОШИБКА]: Токен бота не может быть пустым. + pause + exit /b + ) + if "%APIKey%"=="" ( + echo [ОШИБКА]: Ключ API не может быть пустым. + pause + exit /b + ) + if "%WebAPIKey%"=="" ( + echo [ОШИБКА]: Ключ Web API не может быть пустым. + pause + exit /b + ) + if "%important_id%"=="" ( + echo [ОШИБКА]: Важный ID не может быть пустым. + pause + exit /b + ) + if "%secret%"=="" ( + echo [ОШИБКА]: Секретный ключ не может быть пустым. + pause + exit /b + ) + + REM Создание файла .env. + ( + echo main_bot_token=%main_bot_token% + echo APIKey=%APIKey% + echo WebAPIKey=%WebAPIKey% + echo important_id=%important_id% + echo secret=%secret% + ) > .venv\.env + echo [OK]: Файл .env успешно создан в папке .venv! +) else ( + echo [OK]: Файл .env уже существует в папке .venv. +) +echo. + +REM Активация виртуального окружения. echo Активация виртуального окружения... -call .venv\Scripts\activate -echo. - -REM Установка Poetry, если не установлен -echo Проверка наличия Poetry... -poetry --version || ( - echo Установка Poetry... - pip install poetry +call .venv\Scripts\activate > nul +if %errorlevel% neq 0 ( + color C + echo [ОШИБКА]: Не удалось активировать виртуальное окружение. + pause + exit /b ) +echo [OK]: Виртуальное окружение активировано. echo. -REM Установка зависимостей из poetry.lock и pyproject.toml -echo Установка зависимостей... -poetry install -poetry update +REM Проверка и установка Poetry. +echo Проверка наличия Poetry... +poetry --version > nul 2>&1 || ( + echo Установка Poetry... + pip install poetry > nul + if %errorlevel% neq 0 ( + color C + echo [ОШИБКА]: Не удалось установить Poetry. + pause + exit /b + ) + echo [OK]: Poetry успешно установлен. +) +echo [OK]: Poetry установлен. echo. -REM Очистка консоли перед запуском main.py +REM Установка зависимостей. +echo Установка зависимостей проекта... +poetry install > nul +if %errorlevel% neq 0 ( + color C + echo [ОШИБКА]: Не удалось установить зависимости. + pause + exit /b +) +echo [OK]: Зависимости установлены. +echo. + +REM Очистка консоли перед запуском. cls -pause > Настройте конфигуратор или запустите main.py! +echo Все готово! Настройте конфигурацию или запустите main.py. +pause