Чат-бот для получения информации о товаре с Wildberries по артикулу карточки товара и с возможностью подписки на уведомления.
Ссылка на бота: https://t.me/wb_tz_bot
Задачи бота:
- Получить информацию по товару: Пользователь отправляет в бот артикул товара с Wildberries, и бот выдает информацию о товаре, включая название, артикул, цену, рейтинг товара и количество товара на всех складах.
- Управление уведомлениями: Под сообщением с информацией о товаре, бот предоставляет inline-кнопку "Подписаться". Пользователь может нажать на неё, чтобы получать уведомления в бот каждые 5 минут с информацией о товаре. При нажатии кнопки "Остановить уведомления" уведомления прекращаются.
- Получить информацию из БД: Бот предоставляет возможность пользователю получить сообщение с последними 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, обладает высокой производительностью и поддержкой асинхронных операций.
-
Установите Python 3.10, если он не установлен. Python.org Создайте и заполните данными файл .env по примеру .env_example
-
Склонируйте репозиторий:
git clone https://github.com/PavelShaura/wildberries-notification-bot
-
Сборка Docker-образа. Перейдите в корневую директорию проекта:
cd wildberries-notification-bot
-
Затем выполните команду:
docker-compose build
При условии, что у вас уже установлен doker. Инструкция по установке тут .
- Запуск контейнера. После успешной сборки Docker-образа запустите контейнер, выполнив команду:
docker-compose up -d
Это запустит вашего бота в фоновом режиме.
- Проверка работы бота
После запуска контейнера проверьте работу вашего бота, отправив сообщение в Telegram.
Вопросы и предложения: https://t.me/PavelShau