Files
bot-telegram/START_COMMANDS.md
2025-09-22 11:54:42 +05:00

171 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Команды для запуска проекта
## Локальный запуск
### 1. Установка зависимостей
```bash
# Создание виртуального окружения
python -m venv venv
# Активация (Windows)
venv\Scripts\activate
# Активация (Linux/Mac)
source venv/bin/activate
# Установка зависимостей
pip install -r requirements.txt
# или при использовании uv:
uv sync
```
### 2. Настройка переменных окружения
```bash
# Скопируйте шаблон
cp .env.template .env
# Отредактируйте .env файл, указав:
# - Токен телеграм бота
# - Параметры подключения к базе данных
```
### 3. Запуск приложения
```bash
# Только бот
python main.py --mode bot
# Только API
python main.py --mode api
# Бот + API одновременно
python main.py --mode both
```
## Docker запуск
### 1. Простой запуск (только бот)
```bash
# Сборка и запуск
docker-compose up --build -d
# Просмотр логов
docker-compose logs -f bot
```
### 2. Запуск с API
```bash
# Запуск бота и API
docker-compose --profile api up --build -d
# Просмотр логов
docker-compose logs -f bot api
```
### 3. Разработка
```bash
# Запуск в режиме разработки с hot reload
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up --build -d
# Комбинированный режим (бот + API в одном контейнере)
docker-compose -f docker-compose.yml -f docker-compose.dev.yml --profile combined up --build -d
```
### 4. Управление контейнерами
```bash
# Остановка
docker-compose down
# Остановка с удалением данных
docker-compose down -v
# Пересборка без кэша
docker-compose build --no-cache
# Просмотр статуса
docker-compose ps
```
## Полезные команды
### База данных
```bash
# Подключение к PostgreSQL в контейнере
docker-compose exec postgres psql -U botuser -d botdb
# Просмотр таблиц
docker-compose exec postgres psql -U botuser -d botdb -c "\dt"
# Бэкап базы данных
docker-compose exec postgres pg_dump -U botuser botdb > backup.sql
```
### Логи и отладка
```bash
# Логи бота
docker-compose logs -f bot
# Логи API
docker-compose logs -f api
# Логи базы данных
docker-compose logs -f postgres
# Подключение к контейнеру для отладки
docker-compose exec bot bash
```
### Тестирование API
```bash
# Проверка здоровья
curl http://localhost:8000/health
# Swagger документация
# Откройте в браузере: http://localhost:8000/docs
```
## Переменные окружения
Основные переменные в `.env` файле:
```env
# Telegram Bot
TELEGRAM_BOT_TOKEN=your_bot_token_here
# Database
DB_HOST=localhost
DB_PORT=5432
DB_NAME=botdb
DB_USER=botuser
DB_PASSWORD=your_secure_password
# Application
APP_ENV=development
LOG_LEVEL=INFO
DEBUG=True
# API (if needed)
API_HOST=0.0.0.0
API_PORT=8000
API_RELOAD=True
```
## Структура проекта после рефакторинга
```
bot-telegram/
├── .env # Переменные окружения (не в git)
├── .env.template # Шаблон переменных
├── .gitignore # Исключения для git
├── main.py # Основная точка входа
├── bot.py # Современный Telegram бот
├── bot_config.py # Конфигурация бота
├── bot_old.py # Резервная копия старого бота
├── pyproject.toml # Зависимости Python
├── docker-compose.yml # Docker конфигурация
├── docker-compose.dev.yml # Docker для разработки
├── Dockerfile # Docker образ
├── START_COMMANDS.md # Этот файл
├── api/ # FastAPI приложение
├── database/ # Модели и репозитории
└── images/ # Изображения для тестов
```