Заказ закрыт
парсер csfloat

Бюджет: по договоренности
Техническое задание на разработку Telegram-бота для парсинга CSFloat

Необходимо разработать Telegram-бота, который будет автоматически отслеживать новые лоты на торговой площадке CSFloat (страница поиска: csfloat.com/search?sort_b... и отправлять пользователям уведомления о подходящих предметах согласно индивидуально заданным фильтрам. Бот должен быть рассчитан на многопользовательскую работу, иметь встроенную систему подписки с разграничением функционала и обеспечивать стабильную работу без риска блокировок со стороны CSFloat.

Каждый пользователь должен иметь возможность самостоятельно настроить фильтр по параметрам: минимальная и максимальная цена предмета, диапазон значения float, типы предметов (оружие, ножи, перчатки и т. д.), наличие или отсутствие аукционов, минимальная стоимость стикеров, допустимое отклонение от базовой цены предмета и от минимальной цены среди предметов с аналогичным float. Эти фильтры должны сохраняться и применяться к каждому новому лоту, найденному на CSFloat.

Если найденный предмет соответствует фильтру пользователя, бот должен отправить ему уведомление с подробной информацией: название предмета, его состояние (например, FN, MW), значение float, цена, базовая цена, цена с учётом float floor, информация о стикерах (названия, износ, стоимость), а также ссылка на сам лот на сайте CSFloat. Важно, чтобы уведомления были оформлены понятно и содержали визуальные индикаторы различий в цене и float, если это возможно.

Бот должен поддерживать модель монетизации через подписку. В бесплатном режиме пользователю предоставляется ограниченный функционал: один фильтр, ограничение по частоте обновлений и количеству обрабатываемых предметов. При оплате подписки пользователь получает доступ к расширенным возможностям: несколько фильтров, более высокая частота обновления данных, снятие ограничений по количеству предметов. Подписка должна контролироваться системой, включая проверку её актуальности при каждой сессии и автоматическое уведомление пользователя о её завершении или истечении срока действия. Возможна как интеграция Telegram Payments, так и использование внешней платёжной системы по согласованию.

Парсинг лотов должен происходить регулярно (ориентировочно каждые 20–30 секунд) с учётом допустимой нагрузки на источник. Бот должен уметь обрабатывать от 2 до 3 последних страниц сайта (80–120 лотов), исключать повторы (не отправлять пользователю одинаковые лоты дважды), фильтровать аукционные позиции при необходимости, и не допускать превышения лимитов запросов (чтобы избежать блокировок со стороны CSFloat). Рекомендуется реализовать кэширование, ротацию User-Agent, а при необходимости — использование прокси.

Для хранения данных используется база данных, в которой фиксируются настройки каждого пользователя, история отправленных лотов (чтобы избежать повторной отправки), а также информация о статусе подписки. Должна быть реализована возможность логирования причин, по которым лоты были отклонены фильтром (например, завышенная цена, неподходящий float и т. д.), что поможет при отладке и поддержке проекта.

Администратор должен иметь доступ к базовой административной информации: список всех пользователей, активные подписки, возможность вручную продлить или отключить подписку, статистика по отправленным уведомлениям и общее количество обработанных предметов. Также желательно предусмотреть возможность отправки информационных сообщений всем пользователям бота.

Бот должен быть устойчив к сбоям, не допускать дублирования уведомлений, корректно обрабатывать ошибки (включая временные блокировки 429 и 403), и быть готов к масштабированию — в том числе при одновременной работе 10 и более пользователей. Архитектура проекта должна позволять в дальнейшем расширять функциональность, например, добавлять новые фильтры, настраивать дополнительные типы уведомлений или подключать внешние источники данных.
Опубликован 17.08.2025 в 22:40
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.