Master

class dublib.TelebotUtils.Master.TeleMaster(bot: str | TeleBot)[исходный код]

Набор дополнительного функционала для бота Telegram.

property bot: TeleBot

Бот Telegram.

check_user_subscriptions(user: UserData, chats: int | Iterable[int], max_tries: int = 3) bool | None[исходный код]

Проверяет, состоит ли пользователь в указанных чатах. Бот должен иметь доступ ко всем проверяемым чатам.

Также содержит в себе механизм повторов при превышении времени ожидания ответа от сервера.

Параметры:
  • user (UserData) – Данные проверяемого пользователя.

  • chats (int | Iterable[int]) – ID чата или набор ID чатов, для которых производится проверка.

  • max_tries (int) – Количество попыток запросов. Повторные запросы отправляются только в случае превышения времени ожидания ответа. Не может быть меньше 1.

Результат:

Возвращает True, если пользователь состоит во всех указанных чатах, или None при ошибке проверки.

Тип результата:

bool | None

Исключение:
  • ValueError – Выбрасывается, если количество попыток запросов меньше 1.

  • urllib3.exceptions.ReadTimeoutError – Выбрасывается в случае превышения времени ожидания ответа от сервера.

  • requests.exceptions.ReadTimeout – Выбрасывается в случае превышения времени ожидания ответа от сервера.

safely_delete_messages(chat_id: int, messages: int | Iterable[int], complex: bool = False) Exception | None[исходный код]

Безопасно удаляет сообщения без выброса исключений.

Параметры:
  • chat_id (int) – ID чата.

  • messages (int | Iterable[int]) – Последовательность ID сообщений или ID конкретного сообщения.

  • complex (bool) – При включении сообщения будут удалены одним запросом. По умолчанию False.

Результат:

Выброшенное во время работы исключение в случае наличия такового.

Тип результата:

Exception | None