GiftGram Bot - Автоматизированная покупка подарков в Telegram
Бот, который следит за Telegram Gift Store и покупает подарки по заданным правилам. Проект про асинхронность, идемпотентность покупок и аккуратное управление Stars: чтобы не было двойных списаний и гонок при параллельной покупке.
Основные достижения
Интеграция с Telegram API
Асинхронная архитектура
Умная приоритизация
Управление кошельком
Персистентное хранение
Режим тестирования
Технологии
Language
Telegram
Database
Async
Testing
Deployment
Ключевые функции
Автоматический мониторинг Gift Store
Автоматическая покупка подарков
Умная приоритизация по цене и срокам
Управление балансом Stars
История покупок
Режим тестирования
Поддержка множественных аккаунтов
Поддержка прокси
Архитектура проекта
Асинхронный пайплайн: мониторинг витрины, приоритизация и пул воркеров покупки. Ключевое требование - идемпотентность и контроль Stars, чтобы не словить дубликаты и гонки.
- 1
Цикл мониторинга
Периодически читает Gift Store, нормализует данные и создает кандидатов на покупку.
- 2
Приоритизатор
Сортирует по правилам: цена, дедлайны, остаток, лимиты и текущий баланс.
- 3
Purchase workers
Параллельные воркеры с retry/backoff, блокировками и защитой от повторных покупок.
- 4
Кошелек (Stars)
Единая точка учета: резервы, лимиты, синхронизация с API и защита от перерасхода.
- 5
Хранилище состояния
История попыток и покупок, результаты, баланс и конфиги; основа для аудита и восстановления.
Особенности реализации
Безопасность
- DRY-RUN: тест без списаний
- Защита от гонок при покупке
- Валидация конфигурации на старте
- Предсказуемое восстановление после ошибок
Производительность
- Асинхронная обработка и очереди
- Параллельные воркеры покупок
- Приоритизация, чтобы не тратить лишнее
- Оптимизированные вызовы Telegram API
Проект про надежную автоматизацию покупок в Telegram: асинхронность, аккуратная работа с балансом Stars и защита от гонок/повторов.