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

4.4 KiB
Raw Blame History

Команды для запуска проекта

Локальный запуск

1. Установка зависимостей

# Создание виртуального окружения
python -m venv venv

# Активация (Windows)
venv\Scripts\activate

# Активация (Linux/Mac)
source venv/bin/activate

# Установка зависимостей
pip install -r requirements.txt
# или при использовании uv:
uv sync

2. Настройка переменных окружения

# Скопируйте шаблон
cp .env.template .env

# Отредактируйте .env файл, указав:
# - Токен телеграм бота
# - Параметры подключения к базе данных

3. Запуск приложения

# Только бот
python main.py --mode bot

# Только API
python main.py --mode api

# Бот + API одновременно  
python main.py --mode both

Docker запуск

1. Простой запуск (только бот)

# Сборка и запуск
docker-compose up --build -d

# Просмотр логов
docker-compose logs -f bot

2. Запуск с API

# Запуск бота и API
docker-compose --profile api up --build -d

# Просмотр логов
docker-compose logs -f bot api

3. Разработка

# Запуск в режиме разработки с 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. Управление контейнерами

# Остановка
docker-compose down

# Остановка с удалением данных
docker-compose down -v

# Пересборка без кэша
docker-compose build --no-cache

# Просмотр статуса
docker-compose ps

Полезные команды

База данных

# Подключение к 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

Логи и отладка

# Логи бота
docker-compose logs -f bot

# Логи API
docker-compose logs -f api

# Логи базы данных  
docker-compose logs -f postgres

# Подключение к контейнеру для отладки
docker-compose exec bot bash

Тестирование API

# Проверка здоровья
curl http://localhost:8000/health

# Swagger документация
# Откройте в браузере: http://localhost:8000/docs

Переменные окружения

Основные переменные в .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/               # Изображения для тестов