forked from FOSS/AutoShop-Djimbo
refactor: replace shell scripts with powershell startup
This commit is contained in:
@@ -8,26 +8,12 @@ Telegram bot на `aiogram 3` для магазина с категориями,
|
|||||||
|
|
||||||
1. Создаст виртуальное окружение `.venv`
|
1. Создаст виртуальное окружение `.venv`
|
||||||
2. Установит зависимости из `requirements.txt`
|
2. Установит зависимости из `requirements.txt`
|
||||||
3. Создаст `.env` из примера и откроет его для заполнения (если ещё нет)
|
3. Создаст `.env` из примера (если ещё нет)
|
||||||
4. Запустит бота
|
|
||||||
|
|
||||||
## Запуск через .sh (Linux)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
chmod +x start.sh
|
|
||||||
./start.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
Скрипт автоматически:
|
|
||||||
|
|
||||||
1. Создаст виртуальное окружение `.venv`
|
|
||||||
2. Установит зависимости из `requirements.txt`
|
|
||||||
3. Создаст `.env` из примера и откроет его в `$EDITOR` (или `nano`) для заполнения (если ещё нет)
|
|
||||||
4. Запустит бота
|
4. Запустит бота
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Быстрый запуск
|
## Запуск через командную строку (вручную)
|
||||||
|
|
||||||
1. Установи Python `3.11+`.
|
1. Установи Python `3.11+`.
|
||||||
2. Поставь зависимости:
|
2. Поставь зависимости:
|
||||||
|
|||||||
@@ -1,52 +1,2 @@
|
|||||||
@echo off
|
@echo off
|
||||||
chcp 65001 >nul
|
powershell -ExecutionPolicy Bypass -File "%~dp0start.ps1"
|
||||||
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
|
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
$Host.UI.RawUI.WindowTitle = "AutoShop Bot"
|
||||||
|
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||||
|
Set-Location $ScriptDir
|
||||||
|
|
||||||
|
# Проверка Python
|
||||||
|
if (-not (Get-Command python -ErrorAction SilentlyContinue)) {
|
||||||
|
Write-Host "[ERROR] Python не найден. Установи Python 3.11+ с https://python.org" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Создание .venv если нет
|
||||||
|
if (-not (Test-Path ".venv")) {
|
||||||
|
Write-Host "[INFO] Создание виртуального окружения..."
|
||||||
|
python -m venv .venv
|
||||||
|
}
|
||||||
|
|
||||||
|
# Активация
|
||||||
|
& ".venv\Scripts\Activate.ps1"
|
||||||
|
|
||||||
|
# Установка зависимостей
|
||||||
|
Write-Host "[INFO] Установка зависимостей..."
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install -r requirements.txt
|
||||||
|
|
||||||
|
cls
|
||||||
|
|
||||||
|
# Создание .env если нет
|
||||||
|
if (-not (Test-Path ".env")) {
|
||||||
|
Write-Host "[INFO] Создание .env из примера..."
|
||||||
|
Copy-Item ".env.example" ".env"
|
||||||
|
Write-Host "[!] Заполни BOT_TOKEN и BOT_ADMIN_IDS в файле .env" -ForegroundColor Yellow
|
||||||
|
Write-Host "[!] Открываю .env для редактирования..." -ForegroundColor Yellow
|
||||||
|
notepad .env
|
||||||
|
Read-Host "Нажми Enter после сохранения .env"
|
||||||
|
}
|
||||||
|
|
||||||
|
cls
|
||||||
|
|
||||||
|
# Проверка BOT_TOKEN
|
||||||
|
$envContent = Get-Content ".env" -Raw
|
||||||
|
if ($envContent -notmatch "(?m)^BOT_TOKEN=\S+") {
|
||||||
|
Write-Host "[ERROR] BOT_TOKEN не заполнен в .env" -ForegroundColor Red
|
||||||
|
Write-Host "[!] Открываю .env для редактирования..." -ForegroundColor Yellow
|
||||||
|
notepad .env
|
||||||
|
Read-Host "Нажми Enter после сохранения .env"
|
||||||
|
}
|
||||||
|
|
||||||
|
cls
|
||||||
|
|
||||||
|
# Запуск бота
|
||||||
|
Write-Host "[INFO] Запуск бота..." -ForegroundColor Green
|
||||||
|
python main.py
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
#!/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
|
|
||||||
Reference in New Issue
Block a user