这是indexloc提供的服务,不要输入任何密码
Skip to content

FashnBot — это Telegram-бот, позволяющий пользователю виртуально примерить одежду. Бот получает два изображения: Фото модели (пользователя в полный рост) Фото одежды (по ссылке или загруженное изображение) Бот отправляет оба изображения в внешний сервис fashn.ai, а затем возвращает результат пользователю.

Notifications You must be signed in to change notification settings

joeruhacker/stylefachnbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👗 FashnBot

FashnBot — это Telegram-бот, позволяющий пользователю виртуально примерить одежду. Бот получает два изображения:

  1. Фото модели (пользователя в полный рост)
  2. Фото одежды (по ссылке или загруженное изображение)

Бот отправляет оба изображения в внешний сервис fashn.ai, а затем возвращает результат пользователю.


🧑 Для пользователя

Что умеет бот:

  • 📸 Принимает ваше фото в полный рост
  • 👗 Принимает фото одежды (по ссылке или изображением)
  • 🤖 Генерирует виртуальную примерку с помощью внешнего сервиса
  • 🖼 Возвращает финальное изображение с примеркой

Как пользоваться:

  1. Напишите /start
  2. Пришлите фото себя в полный рост
  3. Пришлите фото одежды (можно ссылкой или изображением)
  4. Получите результат ✨

Бот обрабатывает по одной примерке за раз. Пока одна выполняется, новая не начнётся.


⚙️ Для разработчика

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

fshnbot/
├── app.py               # Flask-сервер, получающий webhook от Telegram
├── config.py            # Конфигурация и токены
├── requirements.txt     # Зависимости Python
└── bot/
    ├── __init__.py
    ├── fashn.py         # Работа с API FASHN (отправка и опрос результата)
    ├── handlers.py      # Логика Telegram-бота
    └── state.py         # Простое хранилище состояния пользователя

🔐 Конфигурация (config.py)

TELEGRAM_TOKEN = '...'     # токен Telegram-бота
FASHN_API_KEY  = '...'     # API-ключ FASHN
WEBHOOK_URL_BASE = '...'   # URL, где хостится Flask-приложение
WEBHOOK_URL_PATH = f"/bot/{TELEGRAM_TOKEN}"
PORT = 8080                # локальный порт Flask

🚀 Установка и запуск

  1. Установите зависимости:
pip install -r requirements.txt
  1. Запустите сервер:
python app.py
  1. Если тестируете локально, пробросьте порт с помощью ngrok:
ngrok http 8080

Убедитесь, что WEBHOOK_URL_BASE в config.py совпадает с адресом от ngrok.


💡 Принцип работы

  • /start: сбрасывает состояние пользователя, ждёт фото модели
  • Фото модели → сохраняется в памяти → ждём фото одежды
  • Фото одежды (или ссылка) → вызывается fashn.run()fashn.poll() → бот присылает результат
  • Весь процесс управляется простым стейтом (WAITING_MODEL, WAITING_GARMENT, PROCESSING)

❗️Ограничения

  • Нет диалога на естественном языке — бот работает по жёсткому сценарию: фото → фото → результат
  • Ограничено на одного пользователя в сессии — нет БД, всё хранится в оперативной памяти

🛠 Зависимости

Flask==3.0.0
pyTelegramBotAPI==4.16.0
requests==2.32.0

📄 Лицензия

Проект в демонстрационных целях. Автор не несёт ответственности за результаты от стороннего API.

About

FashnBot — это Telegram-бот, позволяющий пользователю виртуально примерить одежду. Бот получает два изображения: Фото модели (пользователя в полный рост) Фото одежды (по ссылке или загруженное изображение) Бот отправляет оба изображения в внешний сервис fashn.ai, а затем возвращает результат пользователю.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages