diff --git a/README.md b/README.md index 683d435..3b4a44e 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,31 @@ Telegram bot на `aiogram 3` для магазина с категориями, позициями, товарами, покупками, пополнениями и админкой. +## Запуск через .bat (Windows) + +Запусти `start.bat` двойным кликом. Скрипт автоматически: + +1. Создаст виртуальное окружение `.venv` +2. Установит зависимости из `requirements.txt` +3. Создаст `.env` из примера и откроет его для заполнения (если ещё нет) +4. Запустит бота + +## Запуск через .sh (Linux) + +```bash +chmod +x start.sh +./start.sh +``` + +Скрипт автоматически: + +1. Создаст виртуальное окружение `.venv` +2. Установит зависимости из `requirements.txt` +3. Создаст `.env` из примера и откроет его в `$EDITOR` (или `nano`) для заполнения (если ещё нет) +4. Запустит бота + +--- + ## Быстрый запуск 1. Установи Python `3.11+`. diff --git a/start.bat b/start.bat new file mode 100644 index 0000000..46adddd --- /dev/null +++ b/start.bat @@ -0,0 +1,52 @@ +@echo off +chcp 65001 >nul +title AutoShop Bot + +:: Проверка Python +python --version >nul 2>&1 +if errorlevel 1 ( + echo [ERROR] Python не найден. Установи Python 3.11+ с https://python.org + pause + exit /b 1 +) + +:: Создание виртуального окружения если нет +if not exist ".venv" ( + echo [INFO] Создание виртуального окружения... + python -m venv .venv +) + +:: Активация виртуального окружения +call .venv\Scripts\activate.bat + +:: Установка зависимостей +echo [INFO] Установка зависимостей... +pip install -r requirements.txt --quiet + +:: Создание .env если нет +if not exist ".env" ( + echo [INFO] Создание .env из примера... + copy .env.example .env >nul + echo. + echo [!] Заполни BOT_TOKEN и BOT_ADMIN_IDS в файле .env + echo [!] Открываю .env для редактирования... + notepad .env + echo. + echo Нажми любую клавишу после сохранения .env... + pause >nul +) + +:: Проверка BOT_TOKEN +findstr /r "BOT_TOKEN=." .env >nul 2>&1 +if errorlevel 1 ( + echo [ERROR] BOT_TOKEN не заполнен в .env + notepad .env + pause + exit /b 1 +) + +:: Запуск бота +echo [INFO] Запуск бота... +python main.py + +pause \ No newline at end of file diff --git a/start.sh b/start.sh new file mode 100644 index 0000000..080fa38 --- /dev/null +++ b/start.sh @@ -0,0 +1,44 @@ +#!/bin/bash +set -e + +# Проверка Python +if ! command -v python3 &>/dev/null; then + echo "[ERROR] Python не найден. Установи Python 3.11+" + exit 1 +fi + +# Создание виртуального окружения если нет +if [ ! -d ".venv" ]; then + echo "[INFO] Создание виртуального окружения..." + python3 -m venv .venv +fi + +# Активация виртуального окружения +source .venv/bin/activate + +# Установка зависимостей +echo "[INFO] Установка зависимостей..." +pip install -r requirements.txt --quiet + +# Создание .env если нет +if [ ! -f ".env" ]; then + echo "[INFO] Создание .env из примера..." + cp .env.example .env + echo "" + echo "[!] Заполни BOT_TOKEN и BOT_ADMIN_IDS в файле .env" + echo "[!] Открываю .env для редактирования..." + ${EDITOR:-nano} .env +fi + +# Проверка BOT_TOKEN +if ! grep -qP "BOT_TOKEN=.+" .env 2>/dev/null; then + if ! grep -q "BOT_TOKEN=." .env; then + echo "[ERROR] BOT_TOKEN не заполнен в .env" + ${EDITOR:-nano} .env + exit 1 + fi +fi + +# Запуск бота +echo "[INFO] Запуск бота..." +python3 main.py \ No newline at end of file