https://github.com/bohd4nx/Gifts-Buyer
Automated Telegram userbot for purchasing gifts with smart prioritization, multiple recipients, and intelligent balance management.
https://github.com/bohd4nx/Gifts-Buyer
auto-sender gifts telegram user-bot
Last synced: 12 months ago
JSON representation
Automated Telegram userbot for purchasing gifts with smart prioritization, multiple recipients, and intelligent balance management.
- Host: GitHub
- URL: https://github.com/bohd4nx/Gifts-Buyer
- Owner: bohd4nx
- Created: 2024-11-10T15:10:20.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-23T14:46:37.000Z (12 months ago)
- Last Synced: 2025-06-26T08:45:48.579Z (12 months ago)
- Topics: auto-sender, gifts, telegram, user-bot
- Language: Python
- Homepage: https://t.me/GiftsTracker
- Size: 273 KB
- Stars: 158
- Watchers: 11
- Forks: 47
- Open Issues: 3
-
Metadata Files:
- Readme: README-RU.md
Awesome Lists containing this project
README
# Telegram Gifts Buyer

Автоматический Telegram бот для покупки подарков с умной приоритизацией, поддержкой нескольких получателей и контролем
баланса.
> 🌐 [English version](README.md)
## ✨ Возможности
- **🤖 Автоматический мониторинг**: Постоянно сканирует новые подарки по вашим критериям
- **🎯 Умная приоритизация**: Приоритет редким подаркам (малый тираж) в ваших ценовых диапазонах
- **👥 Несколько получателей**: Разное количество для разных пользователей/каналов в каждом диапазоне
- **💰 Контроль баланса**: Частичные покупки при нехватке средств
- **📊 Подробные уведомления**: Подтверждения покупок, оповещения о балансе и сводки
- **🔧 Гибкая настройка**: Простой формат для ценовых диапазонов и получателей
- **🌍 Два языка**: Русский и английский интерфейс
## 🚀 Установка
```bash
git clone https://github.com/bohd4nx/Gifts-Buyer.git
cd Gifts-Buyer
pip install -r requirements.txt
```
Настройте `config.ini` и запустите:
```bash
python main.py
```
## 🐳 Запуск через Docker
Вы можете запустить бота через Docker. Для этого необходимо пройти однократную авторизацию Telegram и после запустить в
фоне.
### 1. Сборка образа
```bash
docker compose build
```
### 2. Авторизация в Telegram (однократная настройка)
```bash
docker compose run --rm gift-buyer
```
Следуйте инструкциям для входа в Telegram. Сессия будет сохранена в папке `./data/`.
> ℹ️ Эту команду нужно выполнять только один раз — до тех пор, пока сессия активна.
### 3. Запуск бота в фоне
```bash
docker compose up -d
```
Бот использует сохранённую сессию и настройки из `config.ini`.
### 4. Остановка бота (при необходимости)
```bash
docker compose down
```
## ⚙️ Настройка
### Основные настройки
```ini
[Telegram]
API_ID = ваш_api_id # С https://my.telegram.org/apps
API_HASH = ваш_api_hash # С https://my.telegram.org/apps
PHONE_NUMBER = +1234567890 # Ваш номер телефона
CHANNEL_ID = -100xxxxxxxxx # Канал для уведомлений (-100 чтобы отключить)
[Bot]
INTERVAL = 10 # Интервал проверки в секундах
LANGUAGE = RU # Язык интерфейса (EN/RU)
[Gifts]
# Формат: ценовой_диапазон: лимит_тиража x количество: получатели
GIFT_RANGES = 1-1000: 500000 x 1: @user1, 123456; 1001-5000: 100000 x 2: @канал
PURCHASE_ONLY_UPGRADABLE_GIFTS = False # Покупать только улучшаемые подарки
PRIORITIZE_LOW_SUPPLY = True # Приоритет редким подаркам
```
### Формат диапазонов подарков
**Формат**: несколько диапазонов, разделённых `;`
Каждый диапазон: `мин_цена-макс_цена: лимит_тиража x количество: получатели`
**Примеры**:
- `1-1000: 500000 x 1: @johndoe, 123456789` - Дешёвые подарки, по 1 копии
- `1001-5000: 100000 x 2: @канал, @пользователь` - Средний диапазон, по 2 копии
- `5001-50000: 50000 x 5: 987654321` - Дорогие подарки, 5 копий
**В результате**:
`GIFT_RANGES = 1-1000: 500000 x 1: @johndoe, 123456789; 1001-5000: 100000 x 2: @канал, @user; 5001-50000: 50000 x 5: 987654321`
**Получатели могут быть**:
- Юзернеймы: `@username`
- ID пользователей: `123456789`
- Названия каналов: `@channelname`
### Как работает
1. **Мониторинг**: Бот каждые `INTERVAL` секунд проверяет новые подарки
2. **Фильтрация**: Обрабатывает только подарки из ваших диапазонов цен и тиража
3. **Приоритизация**: Если `PRIORITIZE_LOW_SUPPLY = True`, сначала редкие подарки
4. **Покупка**: Покупает указанное количество для каждого получателя в диапазоне
5. **Проверка баланса**: Частичные покупки при нехватке средств
## 💰 Контроль баланса
Бот рассчитывает сколько подарков может купить перед покупкой:
```
Пример:
- Подарок стоит 1500⭐, хотим купить 4 штуки
- Текущий баланс: 4500⭐
- Результат: Покупает 3 штуки, сообщает что не хватает 1500⭐ для последнего
```
## 📝 Советы
- Держите баланс в 2-3 раза больше самого дорогого диапазона
- Используйте несколько диапазонов для разных стратегий
- Включите уведомления для контроля активности
- Сначала протестируйте на малых диапазонах
- Запускайте на VPS для работы 24/7
---