refactor: replace shell scripts with powershell startup

This commit is contained in:
2026-07-16 07:00:36 +05:00
parent 3fef026b6e
commit 7190963724
4 changed files with 55 additions and 111 deletions
+2 -16
View File
@@ -8,26 +8,12 @@ Telegram bot на `aiogram 3` для магазина с категориями,
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`) для заполнения (если ещё нет)
3. Создаст `.env` из примера (если ещё нет)
4. Запустит бота
---
## Быстрый запуск
## Запуск через командную строку (вручную)
1. Установи Python `3.11+`.
2. Поставь зависимости:
+1 -51
View File
@@ -1,52 +1,2 @@
@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
powershell -ExecutionPolicy Bypass -File "%~dp0start.ps1"
+52
View File
@@ -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
-44
View File
@@ -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