Gift Buyer — автоматизированная система для покупки Star Gifts в Telegram. Программа непрерывно мониторит доступные подарки, проверяет их соответствие заданным критериям и автоматически покупает подходящие варианты.
- 🎯 Умная фильтрация — настраиваемые критерии по цене, лимитам и количеству
- 👥 Гибкие получатели — поддержка username'ов для пользователей и каналов
- ⚡ Высокая скорость — параллельная обработка и настраиваемый тикер мониторинга
- 📱 Уведомления — интеграция с Telegram Bot для уведомлений о статусе покупок
- 🔄 Автоматический реконнект — устойчивость к сбоям API с автоматическим переподключением
- 💾 Кэширование — сохранение состояния между перезапусками
git clone <repository-url>
cd gift-buyer
go build -o gift-buyer cmd/main.gocp internal/config/config_example.json internal/config/config.jsonОтредактируйте config.json с вашими данными (см. Конфигурация).
./gift-buyerДля тестирования работы Gift Buyer выполните следующие шаги:
- Включите тестовый режим — в файле
config.jsonустановите:"gift_param": { ... "test_mode": true, ... }
- Отключите лимитированность подарков — установите:
"gift_param": { ... "limited_status": false, ... }
- Удалите файл кэша — перед запуском теста удалите файл
cache.json(если он существует) для чистого старта:rm internal/config/cache.json
Теперь можно запускать приложение для тестирования без ограничений и с чистым состоянием.
{
"tg_settings": {
"app_id": 12345678,
"api_hash": "ваш_api_hash",
"phone": "+1234567890",
"password": "пароль_2fa",
"tg_bot_key": "токен_бота",
"datacenter": 4,
"notification_chat_id": 123456789
}
}app_idиapi_hash— получите на my.telegram.orgphone— номер телефона в международном форматеpassword— пароль 2FA (оставьте""если отключена)tg_bot_key— токен бота для уведомлений (опционально)datacenter— датацентр Telegram (0=авто, 1-8=конкретный ДЦ). Рекомендуется 4 если DC2 лагаетnotification_chat_id— ваш User ID для уведомлений
💡 Датацентры: DC1/DC3 (Майами), DC2/DC4 (Амстердам), DC5 (Сингапур), DC8 (Франкфурт). DC4 рекомендуется для стабильности.
{
"criterias": [
{
"min_price": 10,
"max_price": 100,
"total_supply": 100000000,
"count": 10,
"receiver_type": [1]
}
]
}min_price/max_price— ценовой диапазон в звездахtotal_supply— максимальный тираж подаркаcount— количество подарков для покупкиreceiver_type— типы получателей:[0]- себе,[1]- пользователям,[2]- каналам
{
"receiver": {
"user_receiver_id": ["durovs_dog", "username2"],
"channel_receiver_id": ["durov", "telegram"]
}
}Важно: Используйте только username'ы (без @), НЕ числовые ID.
{
"ticker": 2.0,
"retry_count": 5,
"retry_delay": 2.5,
"concurrency_gift_count": 10,
"concurrent_operations": 300,
"rpc_rate_limit": 30
}ticker— интервал мониторинга в секундахretry_count— количество попыток при ошибкахrpc_rate_limit— лимит RPC запросов в секунду
{
"gift_param": {
"total_star_cap": 1000000000000,
"limited_status": true,
"release_by": false,
"test_mode": false
}
}total_star_cap— максимальное количество звезд для покупки всех подарковlimited_status— покупать только ограниченные (true) или неограниченные (false) подаркиrelease_by— проверять наличие информации о релизере подаркаtest_mode— тестовый режим, отключает проверки лимитов
{
"max_buy_count": 100
}См. файл internal/config/config_example.json
Этот проект распространяется под лицензией Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).
✅ Использование для личных целей
✅ Изучение кода
✅ Распространение ссылки на проект
❌ Коммерческое использование
❌ Перепродажа или продажа
❌ Создание форков для распространения
❌ Производные работы
⚖️ Юридическая защита: Лицензия имеет международную юридическую силу.
Полный текст: CC BY-NC-ND 4.0
Для коммерческого использования свяжитесь с автором.
Gift Buyer is an automated system for purchasing Star Gifts in Telegram. The program continuously monitors available gifts, validates them against configured criteria, and automatically purchases eligible options.
- 🎯 Smart Filtering — configurable criteria by price, limits, and quantity
- 👥 Flexible Recipients — support for usernames for users and channels
- ⚡ High Speed — parallel processing and configurable monitoring ticker
- 📱 Notifications — Telegram Bot integration for purchase status notifications
- 🔄 Auto Reconnect — resilience to API failures with automatic reconnection
- 💾 Caching — state persistence between restarts
git clone <repository-url>
cd gift-buyer
go build -o gift-buyer cmd/main.gocp internal/config/config_example.json internal/config/config.jsonEdit config.json with your data (see Configuration).
./gift-buyerДля тестирования работы Gift Buyer выполните следующие шаги:
- Включите тестовый режим — в файле
config.jsonустановите:"gift_param": { ... "test_mode": true, ... }
- Отключите лимитированность подарков — установите:
"gift_param": { ... "limited_status": false, ... }
- Удалите файл кэша — перед запуском теста удалите файл
cache.json(если он существует) для чистого старта:rm internal/config/cache.json
Теперь можно запускать приложение для тестирования без ограничений и с чистым состоянием.
{
"tg_settings": {
"app_id": 12345678,
"api_hash": "your_api_hash",
"phone": "+1234567890",
"password": "2fa_password",
"tg_bot_key": "bot_token",
"notification_chat_id": 123456789
}
}app_idandapi_hash— get from my.telegram.orgphone— phone number in international formatpassword— 2FA password (leave""if disabled)tg_bot_key— bot token for notifications (optional)notification_chat_id— your User ID for notifications
{
"criterias": [
{
"min_price": 10,
"max_price": 100,
"total_supply": 100000000,
"count": 10,
"receiver_type": [1]
}
]
}min_price/max_price— price range in starstotal_supply— maximum gift supplycount— number of gifts to purchasereceiver_type— recipient types:[0]- self,[1]- users,[2]- channels
{
"receiver": {
"user_receiver_id": ["durovs_dog", "username2"],
"channel_receiver_id": ["durov", "telegram"]
}
}Important: Use only usernames (without @), NOT numeric IDs.
{
"ticker": 2.0,
"retry_count": 5,
"retry_delay": 2.5,
"concurrency_gift_count": 10,
"concurrent_operations": 300,
"rpc_rate_limit": 30
}ticker— monitoring interval in secondsretry_count— number of retry attempts on errorsrpc_rate_limit— RPC requests limit per second
{
"gift_param": {
"total_star_cap": 1000000000000,
"limited_status": true,
"release_by": false,
"test_mode": false
}
}total_star_cap— maximum stars for purchasing all giftslimited_status— buy only limited (true) or unlimited (false) giftsrelease_by— check for gift releaser informationtest_mode— test mode, disables limit validations
{
"max_buy_count": 100
}See file internal/config/config_example.json
This project is distributed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license.
✅ Personal use
✅ Code study
✅ Project link sharing
❌ Commercial use
❌ Reselling or selling
❌ Creating forks for distribution
❌ Derivative works
⚖️ Legal Protection: License has international legal force.
Full text: CC BY-NC-ND 4.0
For commercial use contact the author.