init commit

This commit is contained in:
2025-11-12 20:57:36 +09:00
commit e0075d91b6
40 changed files with 8544 additions and 0 deletions

98
Makefile Normal file
View File

@@ -0,0 +1,98 @@
# 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