Клиент стоял перед задачей оперативно закупать ограниченные подарки в Telegram-маркетах сразу после их появления, чтобы не упустить выгодные предложения. Ручной мониторинг страниц и многократные попытки покупки отнимали много времени и часто приводили к неудаче из-за высоких скоростей раскупаемости. Необходим был бот, который по заданным параметрам (максимальная цена, доступное количество, число циклов) автоматически отслеживал появление нужного подарка и моментально оформлял заказ, а также позволял в один запрос массово купить серию подарков разным адресатам.
Архитектура и выбор стека:
– Python 3.12.8, небольшой SQLite-файловый «хранилищем» для учёта покупок.
– Библиотека для работы с Telegram Bot API (aiogram).
Конфигурация:
– Параметры (bot_token, DATABASE_URL, лимиты цены и количества, число циклов, список получателей) вынесены в config.py.
Логика работы:
– Пользователь должен войти в бота, внести депозит в Telegram Stars, использовать ручную покупку или настроить автопокупку и включить её
– В цикле до достижения Number of Cycles выполняется:
Запрос к API для проверки, появились ли новые подарки.
Если подарки появились то:
Если цена ≤ Price Limit и поступило ≥ Supply Limit, сразу отправляется команда на покупку.
– Для массовых операций: бот проходит по списку товаров/получателей и формирует батч-операции.
– Результаты сохраняются в базу: статус каждой попытки, время, target user_id.
Интерфейс управления:
– Удобный интерфейс, со всеми необходимыми командами и функционалом для изменения параметров.
– Автоматизация мониторинга позволила сократить время реакции с десятков секунд (ручной ввод) до миллисекунд после открытия продаж.
– Надёжность покупок: более 99 % успешных операций при высоких нагрузках на маркет.
– Удобство масштабирования: массовая покупка из JSON-файла экономит сотни человеко-часов при акциях с несколькими десятками адресатов.
– Применение: бот уже используется заказчиком для регулярных акций и распродаж, гарантируя приоритетную закупку подарков для конечных пользователей и избавляя команду от рутинных задач.