Skip to content

Repository files navigation

FunPay AI Bot

Автоматизированный бот для FunPay с AI-ответами и Telegram управлением.

Возможности

  • 🤖 AI-ответы: Автоматическая генерация ответов клиентам через Ollama
  • 📱 Telegram управление: Полное управление ботом через Telegram
  • 🔔 Уведомления: Мгновенные уведомления о новых заказах
  • 💾 История сообщений: Контекстные ответы на основе истории переписки
  • 🔐 Безопасность: Защищённое хранение токенов

Быстрый старт (Docker)

1. Создайте файл .env

cp .env.example .env

Затем откройте .env и укажите свой BOT_TOKEN.

AI_URL можно оставить как есть — docker-compose автоматически переопределит его на внутренний адрес Ollama контейнера.

2. Запустите

docker compose -f docker-compose.yml up -d --build

При первом запуске Ollama автоматически скачает модель, указанную в MODEL. Это займёт время в зависимости от размера модели.

3. Проверьте что всё работает

# Логи приложения
docker compose logs -f app

# Логи Ollama
docker compose logs -f ollama

API доступно на http://localhost:8000, документация — http://localhost:8000/docs.

Остановка

docker compose down

Локальный запуск (без Docker)

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

poetry install
python apply_patches.py

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

cp .env.example .env

Откройте .env и укажите свой BOT_TOKEN.

3. Применение миграций

alembic upgrade head

4. Запуск Ollama и модели

ollama serve
ollama pull qwen2.5:7b

5. Запуск

python src/main.py

Использование

Через Мессенджер

  1. Найдите вашего бота в мессенджере
  2. Отправьте /start
  3. Зарегистрируйтесь: /register
  4. Отправьте ваш FunPay golden_token
  5. Запустите воркера: /start_worker

Архитектура

┌─────────────────┐
│       Bot       │ ← Управление пользователями
└────────┬────────┘
         │
┌────────▼────────┐
│  Task Manager   │ ← Управление воркерами
└────────┬────────┘
         │
┌────────▼────────┐
│ FunPay Worker   │ ← Обработка событий
└─┬──────────────┬┘
  │              │
  ▼              ▼
┌─────────┐  ┌─────────┐
│ AI API  │  │ FunPay  │
└─────────┘  └─────────┘

Документация

Технологии

  • FastAPI - веб-фреймворк
  • aiogram - Чат bot framework
  • SQLAlchemy - ORM
  • Ollama - локальная AI модель
  • FunPayAPI - интеграция с FunPay
  • SQLite/PostgreSQL - база данных

Разработка

Структура проекта

src/
├── main.py                # Entrypoint
├── config.py              # Конфигурация
├── runtime.py             # Singleton объекты
├── gateaway/              # Внешние интеграции
│   ├── ai_api.py          # Ollama API
│   ├── funpay_api.py      # FunPay API
│   └── chat_bot.py        # чат бот
├── workers/               # Воркеры
│   └── funpay_worker.py   # FunPay воркер
├── services/              # Бизнес-логика
│   └── task_manager.py    # Управление воркерами
├── repositories/          # Работа с БД
├── models/                # ORM модели

Команды разработки

# Создать миграцию
cd src && poetry run alembic revision --autogenerate -m "description"

# Применить миграции
cd src && poetry run alembic upgrade head

# Откатить миграцию
cd src && poetry run alembic downgrade -1

Лицензия

MIT

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages