98 lines
3.3 KiB
Makefile
98 lines
3.3 KiB
Makefile
# 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
|
|
source .venv/bin/activate && pip install -r requirements.txt
|
|
|
|
# Первоначальная настройка
|
|
setup: install
|
|
@echo "🔧 Настройка проекта..."
|
|
@if [ ! -f .env ]; then \
|
|
echo "❌ Файл .env не найден! Скопируйте .env.example в .env"; \
|
|
exit 1; \
|
|
fi
|
|
python utils.py init
|
|
python utils.py setup-admins
|
|
@echo "✅ Настройка завершена!"
|
|
|
|
# Запуск бота
|
|
run:
|
|
@echo "🚀 Запуск бота..."
|
|
python main.py
|
|
|
|
# Создание миграции
|
|
migration:
|
|
@echo "📄 Создание новой миграции..."
|
|
alembic revision --autogenerate -m "$(MSG)"
|
|
|
|
# Применение миграций
|
|
migrate:
|
|
@echo "⬆️ Применение миграций..."
|
|
alembic upgrade head
|
|
|
|
# Тесты и примеры
|
|
test:
|
|
@echo "🧪 Запуск тестов..."
|
|
python examples.py
|
|
|
|
# Создание тестового розыгрыша
|
|
sample:
|
|
@echo "🎲 Создание тестового розыгрыша..."
|
|
python utils.py sample
|
|
|
|
# Статистика
|
|
stats:
|
|
@echo "📊 Статистика бота..."
|
|
python utils.py stats
|
|
|
|
# Демонстрация админ-панели
|
|
demo-admin:
|
|
@echo "🎪 Демонстрация возможностей админ-панели..."
|
|
python demo_admin.py
|
|
|
|
# Тестирование улучшений админки
|
|
test-admin:
|
|
@echo "🧪 Тестирование новых функций админ-панели..."
|
|
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
|