Skip to content

Latest commit

 

History

History
192 lines (136 loc) · 10.5 KB

README-RU.md

File metadata and controls

192 lines (136 loc) · 10.5 KB

Telegram Gifts Auto-Buyer

Этот user-bot автоматизирует процесс отправки подарков пользователям в Telegram. Бот отправляет подарки конкретным пользователям и может быть настроен для работы как с лимитированными, так и с обычными подарками. Также он управляется набором конфигураций, которые контролируют поведение бота, таких как лимит цены подарка, анонимность отправителя и многое другое.

Содержание

Общая конфигурация

SESSION

  • Описание: Путь к файлу сессии, используемому ботом для хранения данных сессии.
  • По умолчанию: "data/account"

API_ID & API_HASH

  • Описание: Ваши API ID и HASH для Telegram. Чтобы получить эти данные, необходимо создать приложение на сайте Telegram.

Настройки

INTERVAL

  • Описание: Интервал времени (в секундах) между каждым проверкой новых подарков.
  • По умолчанию: 10 Установите значение не менее 10, чтобы избежать ошибок подключения.

TIMEZONE

  • Описание: Часовой пояс, в котором работает бот. Используется для времени, логирования и других операций.
  • По умолчанию: "Europe/Moscow"

CHANNEL_ID

  • Описание: ID канала Telegram, в который бот будет отправлять уведомления о подарках или ошибках.

Файлы и пути данных

DATA_FILEPATH

  • Описание: Путь к файлу, в котором бот хранит историю отправленных подарков.
  • По умолчанию: "data/history.json"

Подарки и информация о пользователях

USER_ID

  • Описание: Список ID пользователей, которым бот будет отправлять подарки. Пользователи должны быть в контактах с ботом (т.е. бот и пользователь должны быть в одной группе или канале).

MAX_GIFT_PRICE

  • Описание: Максимально допустимая цена подарка. Бот будет отправлять только подарки, стоимость которых ниже этого лимита.
  • По умолчанию: 100

PURCHASE_NON_LIMITED_GIFTS

  • Описание: Если True, бот будет покупать неограниченные подарки, как только они появятся, при этом соблюдая лимит цены подарка.
  • По умолчанию: False

HIDE_SENDER_NAME

  • Описание: Если True, бот будет скрывать своё имя при отправке подарка пользователю.
  • По умолчанию: True

GIFT_IDS

  • Описание: Список конкретных ID подарков, которые бот будет отправлять. Этот параметр необязателен.

NUM_GIFTS

  • Описание: Количество подарков, которые вы хотите, чтобы бот купил. Одно количество для всех подарков!
  • По умолчанию: 1

Пользовательские настройки

Настройка

  • Вы можете изменять значения параметров USER_ID, MAX_GIFT_PRICE и PURCHASE_NON_LIMITED_GIFTS прямо в файле конфигурации, чтобы настроить, кому и какие подарки будет отправлять бот.
  • Установите PURCHASE_NON_LIMITED_GIFTS в False, если не хотите, чтобы бот автоматически покупал неограниченные подарки.

Here is the Russian translation of the provided section:


Поддерживаемые языки

Бот поддерживает несколько языков, чтобы сделать его доступным для пользователей по всему миру. Локализация позволяет отправлять уведомления и сообщения на предпочтительном языке пользователя.

На данный момент бот поддерживает следующие языки:

  • Английский (locales/en.py)
  • Украинский (locales/uk.py)
  • Русский (locales/ru.py)
  • Испанский (locales/es.py)
  • Польский (locales/pl.py)

Конфигурация

Локализация управляется через языковые файлы, расположенные в директории locales/. Чтобы изменить язык бота, нужно изменить настройку LANGUAGE в конфигурации.

Пример:

LANGUAGE=RU   # Для русского языка

Как добавить новый язык

Чтобы добавить новый язык, выполните следующие шаги:

  1. Создайте новый файл в директории locales/ для нового языка (например, locales/fr.py для французского).
  2. Определите переводы в этом файле, следуя формату, используемому в существующих языковых файлах.
  3. Добавьте код языка в словарь LANG_CODES в файле config.py.

Пример языкового файла

Вот базовая структура языкового файла (например, locales/en.py):

# -----------------------------
# Language Info (English)
# -----------------------------
LANG = "🇺🇸 English"
CODE = "EN-US"

# -----------------------------
# Telegram Messages
# -----------------------------
peer_id_error = ...

error_message = ...

balance_error = ...

usage_limited = ...

non_limited_error = ...

gift_price = ...

This is the translation of the localization section into Russian. Let me know if you'd like further adjustments!

Как использовать

  1. Клонируйте или скачайте репозиторий.

  2. Убедитесь, что у вас установлен Python 3.10 или более поздняя версия.

  3. Установите зависимости, выполнив команду:

    pip install -r requirements.txt
  4. Отредактируйте файл .env, чтобы добавить ваши API данные, ID пользователей, ID подарков и другие настройки.

  5. Запустите бота:

    python main.py

Бот начнёт отправлять подарки в соответствии с настройками. Он будет проверять новые подарки через заданный интервал (INTERVAL) и отправлять их указанным пользователям. Уведомления будут отправляться в Telegram канал, указанный в CHANNEL_ID.

Проблемы

№1

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
    pip install pyrogram[pyrofork]

    Решение 2: Если проблема сохраняется после обновления, вы можете вручную заменить папку pyrogram folder:

    1. Скачайте pyrogram.zip.
    2. Перетащите папки из архива в следующий путь:

    Путь для замены::

    <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 для подробностей.