# Makefile для телеграм-бота розыгрышей .PHONY: help install setup run test clean # По умолчанию показываем справку help: @echo "🎲 Телеграм-бот для розыгрышей" @echo "================================" @echo "" @echo "Доступные команды:" @echo " make install - Установка зависимостей" @echo " make setup - Первоначальная настройка" @echo " make run - Запуск бота" @echo " make test - Запуск тестов и примеров" @echo " make migration - Создание миграции" @echo " make migrate - Применение миграций" @echo " make sample - Создание тестового розыгрыша" @echo " make stats - Показать статистику" @echo " make demo-admin - Демонстрация админ-панели" @echo " make test-admin - Тестирование улучшений админки" @echo "" @echo "Быстрый старт:" @echo " 1. cp .env.example .env" @echo " 2. Отредактируйте .env файл" @echo " 3. make setup" @echo " 4. make run" # Установка зависимостей install: @echo "📦 Установка зависимостей..." python3 -m venv .venv . .venv/bin/activate && pip install -r requirements.txt # Первоначальная настройка setup: install @echo "🔧 Настройка проекта..." @if [ ! -f .env ]; then \ echo "❌ Файл .env не найден! Скопируйте .env.example в .env"; \ exit 1; \ fi . .venv/bin/activate && python utils.py init . .venv/bin/activate && python utils.py setup-admins @echo "✅ Настройка завершена!" # Запуск бота run: @echo "🚀 Запуск бота..." . .venv/bin/activate && python main.py # Создание миграции migration: @echo "📄 Создание новой миграции..." . .venv/bin/activate && alembic revision --autogenerate -m "$(MSG)" # Применение миграций migrate: @echo "⬆️ Применение миграций..." . .venv/bin/activate && alembic upgrade head # Тесты и примеры test: @echo "🧪 Запуск тестов..." . .venv/bin/activate && python examples.py # Создание тестового розыгрыша sample: @echo "🎲 Создание тестового розыгрыша..." . .venv/bin/activate && python utils.py sample # Статистика stats: @echo "📊 Статистика бота..." . .venv/bin/activate && python utils.py stats # Демонстрация админ-панели demo-admin: @echo "🎪 Демонстрация возможностей админ-панели..." . .venv/bin/activate && python demo_admin.py # Тестирование улучшений админки test-admin: @echo "🧪 Тестирование новых функций админ-панели..." . .venv/bin/activate && python test_admin_improvements.py # Очистка clean: @echo "🧹 Очистка временных файлов..." find . -type f -name "*.pyc" -delete find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true find . -type f -name "*.log" -delete @echo "✅ Очистка завершена!" # Полная переустановка reset: clean @echo "🔄 Полная переустановка..." rm -f *.db *.sqlite *.sqlite3 rm -rf migrations/versions/*.py make setup