Skip to content

PavelShaura/wildberries-notification-bot

Repository files navigation

Чат-бот для получения информации о товаре с Wildberries по артикулу карточки товара и с возможностью подписки на уведомления.

Иллюстрация к проекту

Ссылка на бота: https://t.me/wb_tz_bot

Описание

Задачи бота:

  1. Получить информацию по товару: Пользователь отправляет в бот артикул товара с Wildberries, и бот выдает информацию о товаре, включая название, артикул, цену, рейтинг товара и количество товара на всех складах.
  2. Управление уведомлениями: Под сообщением с информацией о товаре, бот предоставляет inline-кнопку "Подписаться". Пользователь может нажать на неё, чтобы получать уведомления в бот каждые 5 минут с информацией о товаре. При нажатии кнопки "Остановить уведомления" уведомления прекращаются.
  3. Получить информацию из БД: Бот предоставляет возможность пользователю получить сообщение с последними 5 записями из базы данных.

Бот написан на Python 3.10 с использованием следующего стека технологий:

SQLAlchemy: ORM (Object-Relational Mapping) для работы с базами данных, облегчает взаимодействие с СУБД.
aiogram: Асинхронный фреймворк для разработки Telegram-ботов на Python, обладает высокой производительностью и широкими возможностями.
pydantic: Библиотека для проверки данных и валидации моделей, облегчает разработку и поддержку кода.
Alembic: Инструмент для управления миграциями базы данных, облегчает изменение схемы базы данных и поддержку различных версий.
Redis: In-memory база данных, используется для кэширования данных и обеспечения быстрого доступа к ним.
Celery: Асинхронная очередь задач для Python, позволяет разрабатывать и выполнять задачи асинхронно и распределенно.
aioredis: Асинхронный клиент для Redis, обеспечивает эффективное взаимодействие с Redis в асинхронном режиме.
Gino: Асинхронный ORM для работы с базой данных PostgreSQL, обладает высокой производительностью и поддержкой асинхронных операций.

Деплой

  1. Установите Python 3.10, если он не установлен. Python.org Создайте и заполните данными файл .env по примеру .env_example

  2. Склонируйте репозиторий:

    git clone https://github.com/PavelShaura/wildberries-notification-bot
    
  3. Сборка Docker-образа. Перейдите в корневую директорию проекта:

    cd wildberries-notification-bot
    
  4. Затем выполните команду:

    docker-compose build
    

При условии, что у вас уже установлен doker. Инструкция по установке тут .

  1. Запуск контейнера. После успешной сборки Docker-образа запустите контейнер, выполнив команду:
    docker-compose up -d
    
    

Это запустит вашего бота в фоновом режиме.

  1. Проверка работы бота

После запуска контейнера проверьте работу вашего бота, отправив сообщение в Telegram.

Вопросы и предложения: https://t.me/PavelShau

About

Чат-бот для получения информации о товаре с Wildberries по артикулу карточки товара

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages