Этот user-bot автоматизирует процесс отправки подарков пользователям в Telegram. Бот отправляет подарки конкретным пользователям и может быть настроен для работы как с лимитированными, так и с обычными подарками. Также он управляется набором конфигураций, которые контролируют поведение бота, таких как лимит цены подарка, анонимность отправителя и многое другое.
- Общая конфигурация
- Настройки
- Файлы и пути данных
- Подарки и информация о пользователях
- Пользовательские настройки
- Как использовать
- Проблемы
- Описание: Путь к файлу сессии, используемому ботом для хранения данных сессии.
- По умолчанию:
"data/account"
- Описание: Ваши API ID и HASH для Telegram. Чтобы получить эти данные, необходимо создать приложение на сайте Telegram.
- Описание: Интервал времени (в секундах) между каждым проверкой новых подарков.
- По умолчанию:
10
Установите значение не менее 10, чтобы избежать ошибок подключения.
- Описание: Часовой пояс, в котором работает бот. Используется для времени, логирования и других операций.
- По умолчанию:
"Europe/Moscow"
- Описание: ID канала Telegram, в который бот будет отправлять уведомления о подарках или ошибках.
- Описание: Путь к файлу, в котором бот хранит историю отправленных подарков.
- По умолчанию:
"data/history.json"
- Описание: Список ID пользователей, которым бот будет отправлять подарки. Пользователи должны быть в контактах с ботом (т.е. бот и пользователь должны быть в одной группе или канале).
- Описание: Максимально допустимая цена подарка. Бот будет отправлять только подарки, стоимость которых ниже этого лимита.
- По умолчанию:
100
- Описание: Если
True
, бот будет покупать неограниченные подарки, как только они появятся, при этом соблюдая лимит цены подарка. - По умолчанию:
False
- Описание: Если
True
, бот будет скрывать своё имя при отправке подарка пользователю. - По умолчанию:
True
- Описание: Список конкретных ID подарков, которые бот будет отправлять. Этот параметр необязателен.
- Описание: Количество подарков, которые вы хотите, чтобы бот купил. Одно количество для всех подарков!
- По умолчанию:
1
- Вы можете изменять значения параметров
USER_ID
,MAX_GIFT_PRICE
иPURCHASE_NON_LIMITED_GIFTS
прямо в файле конфигурации, чтобы настроить, кому и какие подарки будет отправлять бот. - Установите
PURCHASE_NON_LIMITED_GIFTS
вFalse
, если не хотите, чтобы бот автоматически покупал неограниченные подарки.
-
Клонируйте или скачайте репозиторий.
-
Убедитесь, что у вас установлен Python 3.10 или более поздняя версия.
-
Установите зависимости, выполнив команду:
pip install -r requirements.txt
-
Отредактируйте файл
.env
, чтобы добавить ваши API данные, ID пользователей, ID подарков и другие настройки. -
Запустите бота:
python main.py
Бот начнёт отправлять подарки в соответствии с настройками. Он будет проверять новые подарки через заданный интервал (INTERVAL
) и отправлять их указанным пользователям. Уведомления будут отправляться в Telegram канал, указанный в CHANNEL_ID
.
AttributeError: 'Client' object has no attribute 'get_star_gifts'
-
Описание: Бот сталкивается с ошибкой
AttributeError
, которая указывает на отсутствие методаget_star_gifts
в объектеClient
. -
Инфо: Эта ошибка возникает, когда установленная версия библиотеки
pyrogram
не включает методget_star_gifts
, что может быть связано с устаревшей или некорректной версией библиотеки.Решение 1: Переустановите последнюю версию
pyrogram
:Выполните следующую команду для обновления
pyrogram
:pip install --upgrade pyrogram
Решение 2: Если проблема сохраняется после обновления, вы можете вручную заменить папку
pyrogram
folder:- Скачайте pyrogram.zip.
- Перетащите папки из архива в следующий путь:
Путь для замены::
<your_project_directory>/venv/lib/pythonX.X/site-packages/pyrogram
or
C:\Users\User\AppData\Local\Programs\Python\{Python Version}\Lib\site-packages
После замены папки перезапустите бота, и проблема, скорее всего, должна быть решена.
Этот проект лицензирован под лицензией MIT - см. файл LICENSE для подробностей.