Skip to content

Бот для Телеграм, отслеживающий изменение цены на Wildberries.

Notifications You must be signed in to change notification settings

moduleb/wb_bot_pro

Repository files navigation

Python Aiogram Fastapi Django Postgres SQLAlchemy Redis Celery Git Docker Linux

Содержание:


Возможности:

  • Добавление товара для отслеживания с помощью запроса к API или через бота
  • Просмотр всех отслеживаемых товаров с помощью запроса к API или через бота
  • Удаление товара из списка отслеживаемых с помощью запроса к API или через бота
  • Получение уведомлений при изменении цены товара. Только в боте.

Компоненты:

  • Веб-приложение на FastAPI
  • Веб-сервер Nginx
  • База данных Postgres
  • Телеграм-бот на Aiogram 3
  • Очередь задач Redis
  • Сервер выполнения задач Celery
  • gRPC сервер для парсинга
  • Админ панель на Django

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

Для запуска вам потребуется установить Docker.

  1. Клонировать проект с Github:
  git clone https://github.com/moduleb/wb_bot_pro.git
  1. Перейти в папку проекта:
  cd wb_bot_pro
  1. Изменить файл RENAME.env, вписать токен от телеграм бота и другие переменные, переименовать файлн:
nano RENAME.env
  1. Применить миграции
alembic revision --autogenerate -m "Initial migration"
alembic upgrade head
  1. Собрать и запустить приложение в Docker:
sudo docker compose up -d --build
  1. Остановить приложение:
sudo docker compose down

Эндпоинты:

Приложение доступно по адресу:

  • на локальной машине http://localhost/
  • на удаленном сервере http://<IP адрес сервера>
  • /docs - документация Swagger

CREATE

[post] .../api/v1/items

Принимает JSON с данными нового товара:

{
  "url": "string", # ссылка на товар
  "user_id": "string" # id пользователя в телеграм
}

Возвращает 201 CREATED


GET_ALL

[get] .../api/v1/items

Параметры:

  • user_id: integer

Возвращает все добавленные товары для заданного пользователя:

[
    {
        "id": 8,
        "user_id": 5312665858,
        "item_id": 176656692,
        "price": 1753,
        "title": "Педали для велосипеда на трех промышленных подшипниках",
        "url": "https://www.wildberries.ru/catalog/176656692/detail.aspx"
    },
    {
        "id": 9,
        "user_id": 5312665858,
        "item_id": 165835462,
        "price": 1338,
        "title": "Багажник на велосипед",
        "url": "https://www.wildberries.ru/catalog/165835462/detail.aspx"
    }
]

DELETE

[delete] .../api/v1/items

Параметры:

  • user_id: integer
  • item_id: integer

Возвращает 204 NO CONTENT

About

Бот для Телеграм, отслеживающий изменение цены на Wildberries.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published