Синхронный TeleBot

Методы класса TeleBot

class telebot.ExceptionHandler

Базовые классы: object

Класс для обработки исключений, возникающих во время поллинга.

handle(exception)
class telebot.Handler(callback, *args, **kwargs)

Базовые классы: object

Класс для (next step|reply) хендлеров.

telebot.REPLY_MARKUP_TYPES

telebot

тип:

Module

alias of InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply

class telebot.TeleBot(token: str, parse_mode: str | None = None, threaded: bool | None = True, skip_pending: bool | None = False, num_threads: int | None = 2, next_step_backend: ~telebot.handler_backends.HandlerBackend | None = None, reply_backend: ~telebot.handler_backends.HandlerBackend | None = None, exception_handler: ~telebot.ExceptionHandler | None = None, last_update_id: int | None = 0, suppress_middleware_excepions: bool | None = False, state_storage: ~telebot.storage.base_storage.StateStorageBase | None = <telebot.storage.memory_storage.StateMemoryStorage object>, use_class_middlewares: bool | None = False, disable_web_page_preview: bool | None = None, disable_notification: bool | None = None, protect_content: bool | None = None, allow_sending_without_reply: bool | None = None, colorful_logs: bool | None = False)

Базовые классы: object

Это основной класс для синхронного бота.

Позволяет добавить хендлеры для различных апдейтов.

Использование:

Создание инстанса класса TeleBot
from telebot import TeleBot
bot = TeleBot('token') # get token from @BotFather
# now you can register other handlers/update listeners,
# and use bot methods.

Больше примеров в папке examples/ : https://github.com/eternnoir/pyTelegramBotAPI/tree/master/examples

Примечание

Установите пакет coloredlogs для использования colorful_los=True

Параметры:
  • token (str) – Токен бота, нужно получить от @BotFather

  • parse_mode (str, optional) – Глобальный parse_mode, по умолчанию None

  • threaded (bool, optional) – Использовать несколько потоков, по умолчанию True

  • skip_pending (bool, optional) – Игнорировать апдейты, полученные до запуска, по умолчанию False

  • num_threads (int, optional) – Максимальное количество одновременно запущенных потоков, по умолчанию 2

  • next_step_backend (telebot.handler_backends.HandlerBackend, optional) – Класс для сохранения next step хендлеров, по умолчанию None

  • reply_backend (telebot.handler_backends.HandlerBackend, optional) – Класс для сохранения reply хендлеров, по умолчанию None

  • exception_handler (telebot.ExceptionHandler, optional) – Класс для обработки исключений, по умолчанию None

  • last_update_id (int, optional) – id последнего полученного апдейта, по умолчанию 0

  • suppress_middleware_excepions (bool, optional) – Игнорировать исключения, вызванные Middleware, по умолчанию False

  • state_storage (telebot.storage.StateStorageBase, optional) – Хранилище состояний (стейтов), по умолчанию StateMemoryStorage()

  • use_class_middlewares (bool, optional) – Использовать Middlewares, по умолчанию False

  • disable_web_page_preview (bool, optional) – Глобальное значение disable_web_page_preview, по умолчанию None

  • disable_notification (bool, optional) – Глобальное значение disable_notification, по умолчанию None

  • protect_content (bool, optional) – Глобальное значение protect_content, по умолчанию None

  • allow_sending_without_reply (bool, optional) – Глобальное значение allow_sending_without_reply, по умолчанию None

  • colorful_logs (bool, optional) – Использовать разноцветные логи

add_custom_filter(custom_filter: SimpleCustomFilter | AdvancedCustomFilter)

Создать кастомный фильтр.

Пример проверки текста сообщения
class TextMatchFilter(AdvancedCustomFilter):
    key = 'text'

    def check(self, message, text):
        return text == message.text
Параметры:
  • custom_filter – Класс с методом check(message)

  • custom_filter – Класс кастомного фильтра с ключом.

add_data(user_id: int, chat_id: int | None = None, **kwargs)

Добавить данные в состояние (стейт).

Параметры:
  • user_id (int) – id пользователя

  • chat_id (int) – id чата

  • kwargs – Данные для добавления

Результат:

None

add_sticker_to_set(user_id: int, name: str, emojis: List[str] | str, png_sticker: str | Any | None = None, tgs_sticker: str | Any | None = None, webm_sticker: str | Any | None = None, mask_position: MaskPosition | None = None, sticker: InputSticker | None = None) bool

Use this method to add a new sticker to a set created by the bot. The format of the added sticker must match the format of the other stickers in the set. Emoji sticker sets can have up to 200 stickers. Animated and video sticker sets can have up to 50 stickers. Static sticker sets can have up to 120 stickers. Returns True on success.

Документация Telegram: https://core.telegram.org/bots/api#addstickertoset

Примечание

**_sticker, mask_position, emojis parameters are deprecated, use stickers instead

Параметры:
  • user_id (int) – id пользователя, создавшего стикерпак

  • name (str) – Имя стикерпака

  • emojis (str) – Один или несколько эмодзи, относящихся к стикеру

  • png_sticker (str or filelike object) – Изображение стикера в формате PNG, весом не более 512 килобайт, размеры не должны превышать 512px, либо ширина, либо высота должны быть ровно 512px. Передайте file_id в формате str, чтобы отправить уже загруженный на сервера Telegram файл, передайте HTTP URL в формате str, чтобы Telegram скачал файл из интернета, или загрузите новый файл с помощью multipart/form-data.

  • tgs_sticker (str or filelike object) – Анимированный стикер в формате TGS, загруженный с помощью multipart/form-data.

  • webm_sticker (str or filelike object) – Анимированный стикер в формате WebM, загруженный с помощью multipart/form-data.

  • mask_position (telebot.types.MaskPosition) – Позиция для размещения маски на лицах в формате JSON

  • sticker (telebot.types.InputSticker) – A JSON-serialized object for sticker to be added to the sticker set

Результат:

В случае успеха возвращается True.

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

bool

answer_callback_query(callback_query_id: int, text: str | None = None, show_alert: bool | None = None, url: str | None = None, cache_time: int | None = None) bool

Используйте этот метод для отправки ответов на callback запросы, отправленные с помощью inline кнопок. Ответ будет показан пользователю как уведомление поверх чата или pop-up предупреждение.

Документация Telegram: https://core.telegram.org/bots/api#answercallbackquery

Параметры:
  • callback_query_id (int) – Уникальный id запроса для ответа

  • text (str) – Текст уведомления. если не задан, то уведомление не будет показано, 0-200 символов

  • show_alert (bool) – Если True, вместо уведомления поверх чата будет показано pop-up предупреждение, по умолчанию False.

  • url (str) – URL, который будет открыт пользовательским клиентом. Если вы создали игру и приняли условия через @BotFather, задайте URL, открывающий вашу игру - учитывайте, что это сработает только если запрос был отправлен с помощью callback_game кнопки.

  • cache_time – Максимальная длительность хранения ответа на callback query пользовательским клиентом в секундах. Приложения Telegram поддерживают хранение ответов начиная с версии 3.14, по умолчанию 0.

Результат:

В случае успеха возвращается True.

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

bool

answer_inline_query(inline_query_id: str, results: List[Any], cache_time: int | None = None, is_personal: bool | None = None, next_offset: str | None = None, switch_pm_text: str | None = None, switch_pm_parameter: str | None = None, button: InlineQueryResultsButton | None = None) bool

Используйте этот метод для отправки ответов на inline query. В случае успеха возвращается True. Разрешено отправить не более 50 результатов на один запрос.

Документация Telegram: https://core.telegram.org/bots/api#answerinlinequery

Параметры:
  • inline_query_id (str) – Уникальный id запроса для ответа

  • results (list of types.InlineQueryResult) – Массив результатов для ответа на inline query

  • cache_time (int) – Максимальная длительность хранения результатов inline query на сервере в секундах.

  • is_personal (bool) – Передайте True, если результаты должны быть сохранены на сервере только для пользователя, отправившего запрос.

  • next_offset (str) – Передайте смещение, которое клиент должен отправить в следующем запросе с таким же текстом, чтобы получить новые результаты.

  • switch_pm_parameter (str) – Параметр для команды /start, отправляемой боту, когда пользователь нажимает кнопку переключения. 1-64 символа, разрешены только A-Z, a-z, 0-9, _ и -. Пример: Inline бот, который отправляет видео с YouTube может попросить пользователя подключить бота к его YouTube аккаунту, чтобы поиск соответствовал предпочтениям пользователя. Чтобы это сделать, бот отправляет пользователю кнопку „Подключить YouTube аккаунт“ над результатами, или даже до их показа. Пользователь нажимает на кнопку, автоматически переходит в приватный чат с ботом и в это время передаёт стартовый параметр, по которому бот возвращает ссылку для авторизации (OAuth). Как только авторизация пройдена, бот может предложить switch_inline кнопку, чтобы пользователь мог легко вернуться в чат, где он хотел использовать возможности inline бота.

  • switch_pm_text (str) – Параметр для передачи боту вместе с сообщением /start, отправленному при нажатии кнопки переключения

  • button (types.InlineQueryResultsButton) – A JSON-serialized object describing a button to be shown above inline query results

Результат:

В случае успеха возвращается True.

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

bool

answer_pre_checkout_query(pre_checkout_query_id: int, ok: bool, error_message: str | None = None) bool

Как только пользователь подтвердил детали оплаты и доставки, Bot API отправляет финальное подтверждение в виде апдейта с полем pre_checkout_query. Используйте этот метод для ответа на такие pre-checkout запросы. В случае успеха возвращается True.

Примечание

Bot API должно получить ответ в течение 10 секунд после отправки pre-checkout query.

Документация Telegram: https://core.telegram.org/bots/api#answerprecheckoutquery

Параметры:
  • pre_checkout_query_id (int) – Уникальный id запроса для ответа

  • ok (bool) – Задайте True если всё правильно (выбранные товары доступны и т.д.) и бот готов обработать заказ. Задайте False если есть какие-то проблемы.

  • error_message (str) – Обязательный в случае, когда ok - False. Сообщение об ошибке, которое может прочитать человек, объясняющее причину, по которой бот не может обработать заказ (например «Извините, кто-то только что купил последнюю из наших прекрасных черных футболок с коротким рукавом пока вы заполняли детали оплаты. Пожалуйста выберите другой цвет или фасон!»). Telegram покажет это сообщение пользователю.

Результат:

В случае успеха возвращается True.

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

bool

answer_shipping_query(shipping_query_id: str, ok: bool, shipping_options: List[ShippingOption] | None = None, error_message: str | None = None) bool

Запрашивает ответ на вопрос о доставке.

Документация Telegram: https://core.telegram.org/bots/api#answershippingquery

Параметры:
  • shipping_query_id (str) – Уникальный id запроса для ответа

  • ok (bool) – Задайте True если доставка по выбранному адресу возможна и False, если есть какие-то проблемы (например, доставка по выбранному адресу не осуществляется)

  • shipping_options (list of ShippingOption) – Обязательный в случае, когда ok - True. Массив вариантов доставки в формате JSON.

  • error_message (str) – Обязательный в случае, когда ok - False. Сообщение об ошибке, которое может прочитать человек, объясняющее причину, по которой невозможно завершить заказ (например «Извините, доставка по запрошенному адресу недоступна»). Telegram покажет это сообщение пользователю.

Результат:

В случае успеха возвращается True.

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

bool

answer_web_app_query(web_app_query_id: str, result: InlineQueryResultBase) SentWebAppMessage

Используйте этот метод, чтобы задать результат взаимодействия с Web App и отправить соответствующее сообщение от лица пользователя в чат, из которого пришел запрос. В случае успеха возвращается объект SentWebAppMessage.

Документация Telegram: https://core.telegram.org/bots/api#answerwebappquery

Параметры:
  • web_app_query_id (str) – Уникальный id запроса для ответа

  • result (telebot.types.InlineQueryResultBase) – Объект в формате JSON, описывающий сообщение, которое нужно отправить

Результат:

В случае успеха возвращается объект SentWebAppMessage.

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

telebot.types.SentWebAppMessage

approve_chat_join_request(chat_id: str | int, user_id: int | str) bool

Используйте этот метод, чтобы одобрить запрос на вступление в чат. Бот должен быть администратором чата и иметь права администратора can_invite_users. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#approvechatjoinrequest

Параметры:
  • chat_id (int or str) – Уникальный id чата или username супергруппы (в формате @supergroupusername)

  • user_id (int or str) – Уникальный id сделавшего запрос пользователя

Результат:

True в случае успеха.

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

bool

ban_chat_member(chat_id: int | str, user_id: int, until_date: int | datetime | None = None, revoke_messages: bool | None = None) bool

Используйте этот метод, чтобы заблокировать пользователя в группе, супергруппе или канале. В случае супергрупп и каналов, пользователь не сможет вернуться в чат самостоятельно, используя ссылки с приглашением и т.д., пока не будет разблокирован. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#banchatmember

Параметры:
  • chat_id (int or str) – Уникальный id группы или username супергруппы или канала (в формате @channelusername)

  • user_id (int) – Уникальный id сделавшего запрос пользователя

  • until_date (int or datetime) – Дата, когда пользователь будет разблокирован, в формате UNIX time. Если пользователь заблокирован больше чем на 366 дней или меньше чем на 30 секунд, то он будет заблокирован до ручной разблокировки

  • revoke_messages (bool) – Pass True to delete all messages from the chat for the user that is being removed. If False, the user will be able to see messages in the group that were sent before the user was removed. Always True for supergroups and channels.

Результат:

Возвращает True в случае успеха.

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

bool

ban_chat_sender_chat(chat_id: int | str, sender_chat_id: int | str) bool

Используйте этот метод, чтобы заблокировать канал в супергруппе или канале. Владелец канала не сможет отправлять сообщения и участвовать в прямых эфирах от лица канала, пока канал не будет разблокирован. Бот должен быть администратором супергруппы или канала и иметь соответствующие права администратора.Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#banchatsenderchat

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • sender_chat_id (int or str) – Уникальный id канала для блокировки

Результат:

True в случае успеха.

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

bool

business_connection_handler(func=None, **kwargs)

Handles new incoming business connection state.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

business_message_handler(commands: List[str] | None = None, regexp: str | None = None, func: Callable | None = None, content_types: List[str] | None = None, **kwargs)

Handles New incoming message of any kind(for business accounts, see bot api 7.2 for more) - text, photo, sticker, etc. As a parameter to the decorator function, it passes telebot.types.Message object. All message handlers are tested in the order they were added.

Пример:

Usage of business_message_handler
bot = TeleBot('TOKEN')

# Handles all messages which text matches regexp.
@bot.business_message_handler(regexp='someregexp')
def command_help(message):
    bot.send_message(message.chat.id, 'Did someone call for help?')

# Handle all sent documents of type 'text/plain'.
@bot.business_message_handler(func=lambda message: message.document.mime_type == 'text/plain',
    content_types=['document'])
def command_handle_document(message):
    bot.send_message(message.chat.id, 'Document received, sir!')

# Handle all other messages.
@bot.business_message_handler(func=lambda message: True, content_types=['audio', 'photo', 'voice', 'video', 'document',
    'text', 'location', 'contact', 'sticker'])
def default_command(message):
    bot.send_message(message.chat.id, "This is the default command handler.")
Параметры:
  • commands (list of str) – Необязательный список строк - команд для обработки.

  • regexp (str) – Необязательное регулярное выражение.

  • func (lambda) – Необязательная lambda функция. Получает сообщение (объект Message) в качестве первого параметра. Функция должна вернуть True если хендлер должен обработать сообщение.

  • content_types (list of str) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

декорируемая функция

callback_query_handler(func, **kwargs)

Обрабатывает новый callback query. В качестве параметра передаёт в декорируемую функцию объект telebot.types.CallbackQuery.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

channel_post_handler(commands=None, regexp=None, func=None, content_types=None, **kwargs)

Обрабатывает новый пост любого типа в канале - текст, фото, стикер и т.д. В качестве параметра передаёт в декорируемую функцию объект telebot.types.Message.

Параметры:
  • commands (list of str) – Необязательный список строк - команд для обработки.

  • regexp (str) – Необязательное регулярное выражение.

  • func (function) – Функция, используемая в качестве фильтра

  • content_types (list of str) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

chat_boost_handler(func=None, **kwargs)

Handles new incoming chat boost state. it passes telebot.types.ChatBoostUpdated object.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

chat_join_request_handler(func=None, **kwargs)

Обрабатывает запрос на вступление в чат. Бот должен иметь права администратора can_invite_users в чате, чтобы получать такие апдейты. В качестве параметра передаёт в декорируемую функцию объект telebot.types.ChatJoinRequest.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

chat_member_handler(func=None, **kwargs)

Обрабатывает изменение статуса пользователя в чате. Бот должен быть администратором чата и явно указать “chat_member“ в allowed_updates, чтобы получать такие апдейты. В качестве параметра передаёт в декорируемую функцию объект telebot.types.ChatMemberUpdated.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

chosen_inline_handler(func, **kwargs)

Обрабатывает результат inline query, который был выбран пользователем и отправлен собеседнику в чате. Пожалуйста ознакомьтесь с документацией по сбору фидбека для получения таких апдейтов вашим ботом. В качестве параметра передаёт в декорируемую функцию объект telebot.types.ChosenInlineResult.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

clear_reply_handlers(message: Message) None

Очищает список функций, зарегистрированных с помощью register_for_reply() и register_for_reply_by_message_id().

Параметры:

message (telebot.types.Message) – Сообщение, у которого нужно очистить список reply хендлеров

Результат:

None

clear_reply_handlers_by_message_id(message_id: int) None

Очищает список функций, зарегистрированных с помощью register_for_reply() и register_for_reply_by_message_id().

Параметры:

message_id (int) – id сообщения, у которого нужно очистить список reply хендлеров

Результат:

None

clear_step_handler(message: Message) None

Очищает список функций, зарегистрированных с помощью register_next_step_handler().

Параметры:

message (telebot.types.Message) – Сообщение, после которого нужно обработать новое сообщение в том же чате.

Результат:

None

clear_step_handler_by_chat_id(chat_id: int | str) None

Очищает список функций, зарегистрированных с помощью register_next_step_handler().

Параметры:

chat_id (int or str) – Чат, в котором мы хотим очистить список next step хендлеров

Результат:

None

close() bool

Используйте этот метод чтобы закрыть инстанс бота прежде чем перемещать его с одного локального сервера на другой. Вы должны удалить вебхук перед вызовом этого метода, чтобы убедиться. что бот не будет запущен повторно после перезапуска сервера. Метод будет возвращать ошибку 429 в течение 10 минут после запуска бота. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#close

Результат:

bool

close_forum_topic(chat_id: str | int, message_thread_id: int) bool

Используйте этот метод, чтобы закрыть открытый топик в чате супергруппы. Бот должен быть администратором чата и иметь права администратора can_manage_topics, за исключением случаев, когда бот является создателем топика. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#closeforumtopic

Aram chat_id:

Уникальный id чата или username канала (в формате @channelusername)

Параметры:

message_thread_id (int) – id топика для закрытия

Результат:

В случае успеха возвращается True.

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

bool

close_general_forum_topic(chat_id: int | str) bool

Используйте этот метод, чтобы закрыть открытый топик в чате супергруппы. Бот должен быть администратором чата и иметь права администратора can_manage_topics, за исключением случаев, когда бот является создателем топика. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#closeforumtopic

Параметры:

chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

copy_message(chat_id: int | str, from_chat_id: int | str, message_id: int, caption: str | None = None, parse_mode: str | None = None, caption_entities: List[MessageEntity] | None = None, disable_notification: bool | None = None, protect_content: bool | None = None, reply_to_message_id: int | None = None, allow_sending_without_reply: bool | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, timeout: int | None = None, message_thread_id: int | None = None, reply_parameters: ReplyParameters | None = None) MessageID

Используйте этот метод для копирования любых сообщений.

Документация Telegram: https://core.telegram.org/bots/api#copymessage

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • from_chat_id (int or str) – Уникальный id чата, в который было отправлено исходное сообщение (или username канала в формате @channelusername)

  • message_id (int) – id сообщения в чате, заданном в from_chat_id

  • caption (str) – Новая подпись для медиа, 0-1024 символа после форматирования. Если не задано, используется исходная подпись

  • parse_mode (str) – Режим форматирования новой подписи.

  • caption_entities (Array of telebot.types.MessageEntity) – Список отформатированных частей новой подписи в формате JSON, можно использовать вместо parse_mode

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • timeout (int) – Таймаут запроса в секундах.

  • message_thread_id (int) – id топика, в который нужно отправить сообщение

  • reply_parameters (telebot.types.ReplyParameters) – Additional parameters for replies to messages

Результат:

On success, the MessageId of the sent message is returned.

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

telebot.types.MessageID

copy_messages(chat_id: str | int, from_chat_id: str | int, message_ids: List[int], disable_notification: bool | None = None, message_thread_id: int | None = None, protect_content: bool | None = None, remove_caption: bool | None = None) List[MessageID]

Use this method to copy messages of any kind. If some of the specified messages can’t be found or copied, they are skipped. Service messages, giveaway messages, giveaway winners messages, and invoice messages can’t be copied. A quiz poll can be copied only if the value of the field correct_option_id is known to the bot. The method is analogous to the method forwardMessages, but the copied messages don’t have a link to the original message. Album grouping is kept for copied messages. On success, an array of MessageId of the sent messages is returned.

Telegram documentation: https://core.telegram.org/bots/api#copymessages

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • from_chat_id (int or str) – Уникальный id чата, в который было отправлено исходное сообщение (или username канала в формате @channelusername)

  • message_ids (list of int) – Message identifiers in the chat specified in from_chat_id

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука

  • message_thread_id (int) – Identifier of a message thread, in which the messages will be sent

  • protect_content (bool) – Запретить пересылку и сохранение содержимого пересланного сообщения

  • remove_caption (bool) – Pass True to copy the messages without their captions

Результат:

On success, an array of MessageId of the sent messages is returned.

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

list of telebot.types.MessageID

Используйте этот метод, чтобы создать дополнительную ссылку-приглашение в чат. Бот должен быть администратором чата и иметь соответствующие права администратора. Ссылка может быть аннулирована методом revokeChatInviteLink. Возвращает новую ссылку-приглашение (ChatInviteLink).

Документация Telegram: https://core.telegram.org/bots/api#createchatinvitelink

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • name (str) – Название ссылки-приглашения; 0-32 символа

  • expire_date (int or datetime) – Время, когда ссылка будет аннулирована в формате Unix timestamp

  • member_limit (int) – Максимальное количество пользователей в чате

  • creates_join_request (bool) – True, если пользователи, использующие эту ссылку должны быть одобрены администраторами чата. Нельзя использовать True вместе с member_limit

Результат:

Возвращает новую ссылку-приглашение (ChatInviteLink).

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

telebot.types.ChatInviteLink

create_forum_topic(chat_id: int, name: str, icon_color: int | None = None, icon_custom_emoji_id: str | None = None) ForumTopic

Используйте этот метод, чтобы создать топик в супергруппе. Бот должен быть администратором чата и иметь права администратора can_manage_topics. Возвращает информацию о созданном топике (ForumTopic).

Документация Telegram: https://core.telegram.org/bots/api#createforumtopic

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • name (str) – Имя топика, 1-128 символов

  • icon_color (int) – Цвет иконки топика в формате RGB. В текущий момент, доступны цвета 0x6FB9F0, 0xFFD67E, 0xCB86DB, 0x8EEE98, 0xFF93B2, or 0xFB6F5F

  • icon_custom_emoji_id (str) – Кастомный эмодзи для использования в качестве иконки топика. Должно быть “tgs” эмодзи и быть ровно 1 символом

Результат:

В случае успеха возвращается информация о созданном топике (ForumTopic).

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

telebot.types.ForumTopic

используйте этот метод, чтобы создать ссылку-инвойс. Возвращает созданную ссылку в случае успеха (String).

Документация Telegram: https://core.telegram.org/bots/api#createinvoicelink

Параметры:
  • title (str) – Название товара, 1-32 символа

  • description (str) – Описание товара, 1-255 символов

  • payload (str) – Дополнительные данные, 1-128 байт. Не будет показано пользователю, используйте во внутренних процессах.

  • provider_token (str) – Токен платежной системы, полученный через @BotFather

  • currency (str) – Трехбуквенный код валюты в формате ISO 4217, см. https://core.telegram.org/bots/payments#supported-currencies

  • prices (list of types.LabeledPrice) – Детали цены, список компонент (например цена продукта, налог, скидка, стоимость доставки, налог на доставку, бонус и т.д.)

  • max_tip_amount (int) – Максимальный размер чаевых в наименьших единицах выбранной валюты

  • suggested_tip_amounts (list of int) – Массив предлагаемых вариантов чаевых в наименьших единицах выбранной валюты в формате JSON. Можно задать не более 4 вариантов. Варианты чаевых должны быть больше нуля, перечисленные в порядке строгого возрастания и не превышать max_tip_amount.

  • provider_data (str) – Данные о инвойсе в формате JSON, которые будут переданы платежной системе. Подробное описание обязательных полей должно быть предоставлено провайдером платежной системы.

  • photo_url (str) – URL изображения товара для инвойса. Может быть изображением товаров или изображением инвойса. Людям больше нравится видеть фото товара, за который они платят.

  • photo_size (int) – Вес изображения в байтах

  • photo_width (int) – Ширина изображения

  • photo_height (int) – Высота изображения

  • need_name (bool) – Передайте True, если для совершения заказа требуется полное имя пользователя

  • need_phone_number (bool) – Передайте True, если для совершения заказа требуется номер телефона пользователя

  • need_email (bool) – Передайте True, если для совершения заказа требуется email пользователя

  • need_shipping_address (bool) – Передайте True, если для совершения заказа требуется адрес доставки

  • send_phone_number_to_provider (bool) – Передайте True, если номер телефона пользователя нужно отправить платежной системе

  • send_email_to_provider (bool) – Передайте True, если email пользователя нужно отправить платежной системе

  • is_flexible (bool) – Передайте True, если окончательная цена зависит от способа доставки

Результат:

Созданная ссылка-инвойс (String) в случае успеха.

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

str

create_new_sticker_set(user_id: int, name: str, title: str, emojis: List[str] | None = None, png_sticker: Any | str = None, tgs_sticker: Any | str = None, webm_sticker: Any | str = None, contains_masks: bool | None = None, sticker_type: str | None = None, mask_position: MaskPosition | None = None, needs_repainting: bool | None = None, stickers: List[InputSticker] = None, sticker_format: str | None = None) bool

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

Документация Telegram: https://core.telegram.org/bots/api#createnewstickerset

Примечание

Fields *_sticker are deprecated, pass a list of stickers to stickers parameter instead.

Параметры:
  • user_id (int) – id пользователя, создавшего стикерпак

  • name (str) – Короткое имя стикерпака для использования в ссылках вида t.me/addstickers/ (например animals). Может содержать только латинские буквы, цифры и нижние подчеркивания. Должно начинаться с буквы, не может содержать подряд идущие нижние подчеркивания и должно заканчиваться на «_by_<bot_username>». <bot_username> учитывает регистр. 1-64 символа.

  • title (str) – Название стикерпака, 1-64 символа

  • emojis (str) – Один или несколько эмодзи, относящихся к стикеру

  • png_sticker (str) – Изображение стикера в формате PNG, весом не более 512 килобайт, размеры не должны превышать 512px, либо ширина, либо высота должны быть ровно 512px. Передайте file_id в формате str, чтобы отправить уже загруженный на сервера Telegram файл, передайте HTTP URL в формате str, чтобы Telegram скачал файл из интернета, или загрузите новый файл с помощью multipart/form-data.

  • tgs_sticker (str) – Анимированный стикер в формате TGS, загруженный с помощью multipart/form-data.

  • webm_sticker (str) – Анимированный стикер в формате WebM, загруженный с помощью multipart/form-data.

  • contains_masks (bool) – Передайте True, если создаётся стикерпак масок. Устарело, начиная с Bot API 6.2, используйте sticker_type.

  • sticker_type (str) – Type of stickers in the set, pass “regular”, “mask”, or “custom_emoji”. By default, a regular sticker set is created.

  • mask_position (telebot.types.MaskPosition) – Позиция для размещения маски на лицах в формате JSON

  • needs_repainting (bool) – Pass True if stickers in the sticker set must be repainted to the color of text when used in messages, the accent color if used as emoji status, white on chat photos, or another appropriate color based on context; for custom emoji sticker sets only

  • stickers (list of telebot.types.InputSticker) – List of stickers to be added to the set

  • sticker_format (str) – deprecated

Результат:

В случае успеха возвращается True.

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

bool

decline_chat_join_request(chat_id: str | int, user_id: int | str) bool

Используйте этот метод, чтобы отклонить запрос на вступление в чат. Бот должен быть администратором чата и иметь права администратора can_invite_users. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#declinechatjoinrequest

Параметры:
  • chat_id (int or str) – Уникальный id чата или username супергруппы (в формате @supergroupusername)

  • user_id (int or str) – Уникальный id сделавшего запрос пользователя

Результат:

True в случае успеха.

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

bool

delete_chat_photo(chat_id: int | str) bool

Используйте этот метод, чтобы удалить фото чата. Нельзя изменить фото в приватных чатах. Бот должен быть администратором чата и иметь соответствующие права администратора. Возвращает True в случае успеха. Примечание: В обычных группах (не супергруппах), метод будет работать только в случаях, когда настройка ‘All Members Are Admins’ выключена.

Документация Telegram: https://core.telegram.org/bots/api#deletechatphoto

Параметры:

chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

Результат:

True в случае успеха.

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

bool

delete_chat_sticker_set(chat_id: int | str) bool

Используйте этот метод, чтобы удалить стикерпак группы из супергруппы. Бот должен быть администратором чата и иметь соответствующие права администратора. Используйте поле can_set_sticker_set, возвращаемое методом getChat, чтобы проверить, что бот может использовать этот метод. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#deletechatstickerset

Параметры:

chat_id (int or str) – Уникальный id чата или username супергруппы (в формате @supergroupusername)

Результат:

Возвращает True в случае успеха.

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

bool

delete_forum_topic(chat_id: str | int, message_thread_id: int) bool

Используйте этот метод, чтобы удалить топик в супергруппе. Бот должен быть администратором чата и иметь права администратора can_manage_topics, за исключением случае, когда бот является создателем топика. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#deleteforumtopic

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • message_thread_id (int) – id топика, который нужно удалить

Результат:

В случае успеха возвращается True.

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

bool

delete_message(chat_id: int | str, message_id: int, timeout: int | None = None) bool

Используйте этот метод, чтобы удалить сообщение, в том числе сервисное, ограничения: - Сообщение может быть удалено только если оно было отправлено менее 48 часов назад. - Dice-сообщение в приватном чате может быть удалено только если оно было отправлено более 24 часов назад. - Боты могут удалять свои сообщения в приватных чатах, группах и супергруппах. - Боты могут удалять чужие сообщение в приватных чатах. - Боты с правами администратора can_post_messages могут удалять сообщения в каналах. - Если бот является администратором группы, он может удалить любое сообщение в ней. - Если бот имеет права администратора can_delete_messages в супергруппе или канале, он может удалить любое сообщение в них. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#deletemessage

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • message_id (int) – id сообщения, которое нужно удалить

  • timeout (int) – Таймаут запроса в секундах.

Результат:

Возвращает True в случае успеха.

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

bool

delete_messages(chat_id: int | str, message_ids: List[int])

Use this method to delete multiple messages simultaneously. If some of the specified messages can’t be found, they are skipped. Returns True on success.

Telegram documentation: https://core.telegram.org/bots/api#deletemessages

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • message_ids (list of int) – Identifiers of the messages to be deleted

Результат:

Возвращает True в случае успеха.

delete_my_commands(scope: BotCommandScope | None = None, language_code: str | None = None) bool

Используйте этот метод, чтобы удалить список команд бота для заданных поля видимости и языка. После удаления, команды более широкого поля видимости будут доступны пользователям, которых коснулись изменения. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#deletemycommands

Параметры:
  • scope (telebot.types.BotCommandScope) – Область видимости команд. По умолчанию BotCommandScopeDefault.

  • language_code (str) – Двухбуквенный языковой код в формате ISO 639-1. Если не задан, изменения коснутся команд для всех пользователей в заданном поле видимости, не имеющих команд на их языке

Результат:

True в случае успеха.

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

bool

delete_state(user_id: int, chat_id: int | None = None) None

Удалить текущее состояние (стейт) пользователя.

Параметры:
  • user_id (int) – id пользователя

  • chat_id (int) – id чата

Результат:

None

delete_sticker_from_set(sticker: str) bool

Используйте этот метод, чтобы удалить стикер из стикерпака, созданного ботом. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#deletestickerfromset

Параметры:

sticker – id файла стикера

Результат:

В случае успеха возвращается True.

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

bool

delete_sticker_set(name: str) bool

Use this method to delete a sticker set. Returns True on success.

Параметры:

name (str) – Имя стикерпака

Результат:

Возвращает True в случае успеха.

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

bool

delete_webhook(drop_pending_updates: bool | None = None, timeout: int | None = None) bool

Используйте этот метод, чтобы удалить вебхук, если вы решите перейти обратно на getUpdates. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#deletewebhook

Параметры:
  • drop_pending_updates – Передайте True, чтобы удалить все предшествующие запуску бота апдейты, по умолчанию None

  • timeout (int, optional) – Тайм-аут запроса, по умолчанию None

Результат:

Возвращает True в случае успеха.

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

bool

deleted_business_messages_handler(func=None, **kwargs)

Handles new incoming deleted messages state.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

disable_save_next_step_handlers()

Отключить сохранение next step хендлеров (по умолчанию сохранение отключено)

Эта функция оставлена для обратной совместимости, для отключения возможности сохранения хендлеров в файл. В тех же целях MemoryHandlerBackend переопределен как новый next_step_backend вместо FileHandlerBackend.

disable_save_reply_handlers()

Отключить сохранение next step хендлеров (по умолчанию сохранение отключено)

Эта функция оставлена для обратной совместимости, для отключения возможности сохранения хендлеров в файл. В тех же целях MemoryHandlerBackend переопределен как новый reply_backend вместо FileHandlerBackend.

download_file(file_path: str) bytes

Скачивает файл.

Параметры:

file_path (str) – Путь, куда файл нужно сохранить.

Результат:

bytes

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

bytes

Используйте этот метод, чтобы изменить неосновную ссылку-приглашение, созданную ботом. Бот должен быть администратором чата и иметь соответствующие права администратора.

Документация Telegram: https://core.telegram.org/bots/api#editchatinvitelink

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • name (str) – Название ссылки-приглашения; 0-32 символа

  • invite_link (str) – Ссылка-приглашение для изменения

  • expire_date (int or datetime) – Время, когда ссылка будет аннулирована в формате Unix timestamp

  • member_limit (int) – Максимальное количество пользователей в чате

  • creates_join_request (bool) – True, если пользователи, использующие эту ссылку должны быть одобрены администраторами чата. Нельзя использовать True вместе с member_limit

Результат:

Возвращает новую ссылку-приглашение (ChatInviteLink).

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

telebot.types.ChatInviteLink

edit_forum_topic(chat_id: int | str, message_thread_id: int, name: str | None = None, icon_custom_emoji_id: str | None = None) bool

Используйте этот метод, чтобы изменить название и иконку топика в супергруппе. Бот должен быть администратором чата и иметь права администратора can_manage_topics, кроме случаев, когда бот является создателем топика. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#editforumtopic

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • message_thread_id (int) – id топика для изменения

  • name (str) – Необязательный, новое имя топика, 1-128 символов. Если не задано или пустое, сохранится текущее имя топика

  • icon_custom_emoji_id (str) – Необязательный, новый уникальный id кастомного эмодзи, используемого в качестве иконки топика. Используйте getForumTopicIconStickers, чтобы получить все доступные id кастомных эмодзи. Передайте пустую строку, чтобы убрать иконку. Если не задан, сохранится текущая иконка топика

Результат:

В случае успеха возвращается True.

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

bool

edit_general_forum_topic(chat_id: int | str, name: str) bool

Используйте этот метод, чтобы удалить топик в супергруппе. Бот должен быть администратором чата и иметь права администратора can_manage_topics, за исключением случае, когда бот является создателем топика. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#editforumtopic

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • name (str) – Название товара, 1-32 символа

edit_message_caption(caption: str, chat_id: int | str | None = None, message_id: int | None = None, inline_message_id: str | None = None, parse_mode: str | None = None, caption_entities: List[MessageEntity] | None = None, reply_markup: InlineKeyboardMarkup | None = None) Message | bool

Используйте этот метод, чтобы изменить подписи к медиа в сообщениях

Документация Telegram: https://core.telegram.org/bots/api#editmessagecaption

Параметры:
  • caption (str) – Новая подпись к медиа

  • chat_id (int | str) – Обязательный, если не указан inline_message_id. Уникальный id чата или username канала

  • message_id (int) – Обязательный, если не указан inline_message_id.

  • inline_message_id (str) – Обязательный, если не указан inline_message_id. id inline сообщения.

  • parse_mode (str) – Новая подпись к медиа в сообщении, 0-1024 символа после форматирования

  • caption_entities (list of types.MessageEntity) – Массив объектов, описывающих то, как будет происходить парсинг подписи к медиа в формате JSON.

  • reply_markup (InlineKeyboardMarkup) – JSON-сериализованный объект inline клавиатуры.

Результат:

В случае успеха если изменённое сообщение отправлено ботом, возвращается новый объект Message, иначе (inline сообщения) возвращается True.

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

types.Message | bool

edit_message_live_location(latitude: float, longitude: float, chat_id: int | str | None = None, message_id: int | None = None, inline_message_id: str | None = None, reply_markup: InlineKeyboardMarkup | None = None, timeout: int | None = None, horizontal_accuracy: float | None = None, heading: int | None = None, proximity_alert_radius: int | None = None) Message
Используйте этот метод, чтобы изменить live местоположение в сообщении. Местоположение может быть изменено пока не истечёт live_period или не

отключено вызовом метода stopMessageLiveLocation. В случае успеха если измененное сообщение не является inline сообщением, возвращается новый объект Message, иначе возвращается True.

Документация Telegram: https://core.telegram.org/bots/api#editmessagelivelocation

Параметры:
  • latitude (float) – Широта нового местоположения

  • longitude (float) – Долгота нового местоположения

  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • message_id (int) – Обязательный, если не указан inline_message_id. id сообщения, которое нужно изменить

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – JSON-сериализованный объект новой inline клавиатуры.

  • timeout (int) – Таймаут запроса в секундах.

  • inline_message_id (str) – Обязательный, если не указаны chat_id и message_id. id inline сообщения

  • horizontal_accuracy (float) – Радиус погрешности местоположения, измеряется в метрах; 0-1500

  • heading (int) – Направление, в котором пользователь двигается, в градусах. Если указано, должно быть от 1 до 360.

  • proximity_alert_radius (int) – Максимальное расстояние для показа уведомлений о приближении других участников чата, в метрах. Если указано, должно быть от 1 до 100000.

Результат:

В случае успеха если измененное сообщение не является inline сообщением, возвращается новый объект Message, иначе возвращается True.

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

telebot.types.Message or bool

edit_message_media(media: Any, chat_id: int | str | None = None, message_id: int | None = None, inline_message_id: str | None = None, reply_markup: InlineKeyboardMarkup | None = None) Message | bool

Используйте этот метод, чтобы изменить гифку, аудио, документ, фото или видео в сообщении. Если сообщение является частью альбома, оно может быть изменено только на фото или видео. Иначе, тип сообщения может быть изменен на любой. При изменении inline сообщения, нельзя загрузить новый файл. используйте ранее загруженные файлы через file_id или укажите URL.

Документация Telegram: https://core.telegram.org/bots/api#editmessagemedia

Параметры:
  • media (InputMedia) – JSON-сериализованный объект нового медиа контента

  • chat_id (int or str) – Обязательный, если не указан inline_message_id. Уникальный id чата или username канала (в формате @channelusername)

  • message_id (int) – Обязательный, если не указан inline_message_id. id отправленного сообщения

  • inline_message_id (str) – Обязательный, если не указаны chat_id и message_id. id inline сообщения

  • reply_markup (telebot.types.InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply) – JSON-сериализованный объект inline клавиатуры.

Результат:

В случае успеха если изменённое сообщение отправлено ботом, возвращается новый объект Message, иначе (inline сообщения) возвращается True.

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

types.Message or bool

edit_message_reply_markup(chat_id: int | str | None = None, message_id: int | None = None, inline_message_id: str | None = None, reply_markup: InlineKeyboardMarkup | None = None) Message | bool

Используйте этот метод, чтобы изменить только reply markup сообщения.

Документация Telegram: https://core.telegram.org/bots/api#editmessagereplymarkup

Параметры:
  • chat_id (int or str) – Обязательный, если не указан inline_message_id. Уникальный id чата или username канала (в формате @channelusername)

  • message_id (int) – Обязательный, если не указан inline_message_id. id отправленного сообщения

  • inline_message_id (str) – Обязательный, если не указаны chat_id и message_id. id inline сообщения

  • reply_markup (InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply) – JSON-сериализованный объект inline клавиатуры.

Результат:

В случае успеха если изменённое сообщение отправлено ботом, возвращается новый объект Message, иначе (inline сообщения) возвращается True.

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

types.Message or bool

edit_message_text(text: str, chat_id: int | str | None = None, message_id: int | None = None, inline_message_id: str | None = None, parse_mode: str | None = None, entities: List[MessageEntity] | None = None, disable_web_page_preview: bool | None = None, reply_markup: InlineKeyboardMarkup | None = None, link_preview_options: LinkPreviewOptions | None = None) Message | bool

Используйте этот метод, чтобы изменить текстовые и игровые сообщения.

Документация Telegram: https://core.telegram.org/bots/api#editmessagetext

Параметры:
  • text (str) – Новый текст сообщения, 1-4096 символов после форматирования

  • chat_id (int or str) – Обязательный, если не указан inline_message_id. Уникальный id чата или username канала (в формате @channelusername)

  • message_id (int) – Обязательный, если не указан inline_message_id. id отправленного сообщения

  • inline_message_id (str) – Обязательный, если не указаны chat_id и message_id. id inline сообщения

  • parse_mode (str) – Режим форматирования в тексте сообщения.

  • entities (List of telebot.types.MessageEntity) – Список отформатированных частей в тексте сообщения, можно использовать вместо parse_mode

  • disable_web_page_preview (bool) – deprecated.

  • reply_markup (InlineKeyboardMarkup) – JSON-сериализованный объект inline клавиатуры.

  • link_preview_options (LinkPreviewOptions) – A JSON-serialized object for options used to automatically generate previews for links.

Результат:

В случае успеха если изменённое сообщение отправлено ботом, возвращается новый объект Message, иначе (inline сообщения) возвращается True.

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

types.Message or bool

edited_business_message_handler(commands=None, regexp=None, func=None, content_types=None, **kwargs)

Handles new version of a message(business accounts) that is known to the bot and was edited. As a parameter to the decorator function, it passes telebot.types.Message object.

Параметры:
  • commands (list of str) – Необязательный список строк - команд для обработки.

  • regexp (str) – Необязательное регулярное выражение.

  • func (function) – Функция, используемая в качестве фильтра

  • content_types (list of str) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

edited_channel_post_handler(commands=None, regexp=None, func=None, content_types=None, **kwargs)

Обрабатывает новую версию поста в канале, который доступен боту и был изменён. В качестве параметра, передаёт в декорируемую функцию объект telebot.types.Message.

Параметры:
  • commands (list of str) – Необязательный список строк - команд для обработки.

  • regexp (str) – Необязательное регулярное выражение.

  • func (function) – Функция, используемая в качестве фильтра

  • content_types (list of str) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

edited_message_handler(commands=None, regexp=None, func=None, content_types=None, chat_types=None, **kwargs)

Обрабатывает новую версию сообщения, которое доступно боту и было изменено. В качестве параметра, передаёт в декорируемую функцию объект telebot.types.Message.

Параметры:
  • commands (list of str) – Необязательный список строк - команд для обработки.

  • regexp (str) – Необязательное регулярное выражение.

  • func (function) – Функция, используемая в качестве фильтра

  • content_types (list of str) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]

  • chat_types (list of str) – список видов чатов

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

enable_save_next_step_handlers(delay: int | None = 120, filename: str | None = './.handler-saves/step.save')

Разрешить сохранение next step хендлеров (по умолчанию сохранение отключено)

Эта функция, целью которой было включить возможность сохранения файлов для обработчиков, явно назначает FileHandlerBackend (вместо Saver) просто для сохранения обратной совместимости. Та же реализация теперь доступна с FileHandlerBackend.

Параметры:
  • delay (int, optional) – Задержка между изменениями в хендлерах и сохранении, по умолчанию 120

  • filename (str, optional) – Имя файла для сохранения, по умолчанию «./.handler-saves/step.save»

Результат:

None

enable_save_reply_handlers(delay=120, filename='./.handler-saves/reply.save')

Разрешить сохранение reply хендлеров (по умолчанию сохранение отключено)

Эта функция, целью которой было включить возможность сохранения файлов для обработчиков, явно назначает FileHandlerBackend (вместо Saver) просто для сохранения обратной совместимости. Та же реализация теперь доступна с FileHandlerBackend.

Параметры:
  • delay (int, optional) – Задержка между изменениями в хендлерах и сохранении, по умолчанию 120

  • filename (str, optional) – Имя файла для сохранения, по умолчанию «./.handler-saves/reply.save»

enable_saving_states(filename: str | None = './.state-save/states.pkl')

Разрешить сохранение стейтов (по умолчанию сохранение отключено)

Примечание

Рекомендуется передавать экземпляр класса StatePickleStorage в качестве state_storage при инициализации класса TeleBot вместо использования этой функции.

Параметры:

filename (str, optional) – Имя файла для сохранения, по умолчанию «./.state-save/states.pkl»

Используйте этот метод, чтобы создать или заменить главную ссылку-приглашение в супергруппу или канал, созданную ботом. Бот должен быть администратором чата и иметь соответствующие права администратора.

Документация Telegram: https://core.telegram.org/bots/api#exportchatinvitelink

Параметры:

chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

Результат:

новая ссылка-приглашение (String) в случае успеха.

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

str

forward_message(chat_id: int | str, from_chat_id: int | str, message_id: int, disable_notification: bool | None = None, protect_content: bool | None = None, timeout: int | None = None, message_thread_id: int | None = None) Message

Используйте этот метод, чтобы переслать любое сообщение.

Документация Telegram: https://core.telegram.org/bots/api#forwardmessage

Параметры:
  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука

  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • from_chat_id (int or str) – Уникальный id чата, в который было отправлено исходное сообщение (или username канала в формате @channelusername)

  • message_id (int) – id сообщения в чате, заданном в from_chat_id

  • protect_content (bool) – Запретить пересылку и сохранение содержимого пересланного сообщения

  • timeout (int) – Таймаут запроса в секундах.

  • message_thread_id (int) – id топика, в который нужно отправить сообщение

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

forward_messages(chat_id: str | int, from_chat_id: str | int, message_ids: List[int], disable_notification: bool | None = None, message_thread_id: int | None = None, protect_content: bool | None = None) List[MessageID]

Use this method to forward multiple messages of any kind. If some of the specified messages can’t be found or forwarded, they are skipped. Service messages and messages with protected content can’t be forwarded. Album grouping is kept for forwarded messages. On success, an array of MessageId of the sent messages is returned.

Telegram documentation: https://core.telegram.org/bots/api#forwardmessages

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • from_chat_id (int or str) – Уникальный id чата, в который было отправлено исходное сообщение (или username канала в формате @channelusername)

  • message_ids (list) – Message identifiers in the chat specified in from_chat_id

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука

  • message_thread_id (int) – Identifier of a message thread, in which the messages will be sent

  • protect_content (bool) – Запретить пересылку и сохранение содержимого пересланного сообщения

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.MessageID

get_business_connection(business_connection_id: str) BusinessConnection

Use this method to get information about the connection of the bot with a business account. Returns a BusinessConnection object on success.

Telegram documentation: https://core.telegram.org/bots/api#getbusinessconnection

Параметры:

business_connection_id (str) – Unique identifier of the business connection

Результат:

Returns a BusinessConnection object on success.

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

telebot.types.BusinessConnection

get_chat(chat_id: int | str) Chat

Используйте этот метод, чтобы получить актуальную информацию о чате (текущее имя пользователя для персональных диалогов, текущий username пользователя, группы или канала и т.д.). В случае успеха возвращает объект Chat.

Документация Telegram: https://core.telegram.org/bots/api#getchat

Параметры:

chat_id (int or str) – Уникальный id чата или username супергруппы или канала (в формате @channelusername)

Результат:

Информация о чате

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

telebot.types.Chat

get_chat_administrators(chat_id: int | str) List[ChatMember]

Используйте этот метод, чтобы получить список администраторов чата. В случае успеха возвращает массив объектов ChatMember, содержащих информацию обо всех администраторах чата, кроме других ботов.

Документация Telegram: https://core.telegram.org/bots/api#getchatadministrators

Параметры:

chat_id – Уникальный id чата или username супергруппы или канала (в формате @channelusername)

Результат:

Список объектов ChatMember.

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

list of telebot.types.ChatMember

get_chat_member(chat_id: int | str, user_id: int) ChatMember

Используйте этот метод, чтобы получить информацию об участнике чата. Возвращает объект ChatMember в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#getchatmember

Параметры:
  • chat_id (int or str) – Уникальный id чата или username супергруппы (в формате @supergroupusername)

  • user_id (int) – Уникальный id сделавшего запрос пользователя

Результат:

Возвращает объект ChatMember в случае успеха.

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

telebot.types.ChatMember

get_chat_member_count(chat_id: int | str) int

Используйте этот метод, чтобы получить количество участников чата.

Документация Telegram: https://core.telegram.org/bots/api#getchatmembercount

Параметры:

chat_id (int or str) – Уникальный id чата или username супергруппы или канала (в формате @channelusername)

Результат:

Количество участников чата.

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

int

get_chat_members_count(**kwargs)
get_chat_menu_button(chat_id: int | str = None) MenuButton

Используйте этот метод, чтобы получить текущее значение кнопки menu в приватном чате, или кнопку menu по умолчанию. Возвращает MenuButton в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#getchatmenubutton

Параметры:

chat_id (int or str) – Уникальный id приватного чата. Если не указан, будет возвращена кнопка menu по умолчанию.

Результат:

types.MenuButton

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

telebot.types.MenuButton

get_custom_emoji_stickers(custom_emoji_ids: List[str]) List[Sticker]

Используйте этот метод, чтобы получить информацию о кастомных эмодзи по их id. Возвращает массив объектов Sticker.

Параметры:

custom_emoji_ids (list of str) – Список id кастомных эмодзи. Можно указать не более 200 id.

Результат:

Возвращает массив объектов Sticker.

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

list of telebot.types.Sticker

get_file(file_id: str | None) File

Используйте этот метод, чтобы получить базовую информацию о файле и подготовить его к скачиванию. На текущий момент, боты могут скачивать файлы весом до 20MB. В случае успеха возвращается объект File. Гарантируется, что ссылка на скачивание будет актуальна как минимум 1 час. Когда ссылка перестаёт быть актуальной, новая может быть снова запрошена с помощью get_file.

Документация Telegram: https://core.telegram.org/bots/api#getfile

Параметры:

file_id (str) – id файла

Результат:

telebot.types.File

get_file_url(file_id: str | None) str

Получить актуальную ссылку для скачивания файла.

Параметры:

file_id (str) – id файла для получения ссылки на скачивание.

Результат:

Ссылка для скачивания файла.

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

str

get_forum_topic_icon_stickers() List[Sticker]

Используйте этот метод, чтобы получить кастомные эмодзи, которые могут быть использованы любыми пользователями в качестве иконок топиков. Не требует параметров. Возвращает массив объектов Sticker.

Документация Telegram: https://core.telegram.org/bots/api#getforumtopiciconstickers

Результат:

В случае успеха возвращается список объектов StickerSet.

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

List[telebot.types.StickerSet]

get_game_high_scores(user_id: int, chat_id: int | str | None = None, message_id: int | None = None, inline_message_id: str | None = None) List[GameHighScore]

Используйте этот метод, чтобы получить данные для таблицы рекордов. Вернёт очки указанного пользователя и несколько соседних результатов. В случае успеха возвращает массив объектов GameHighScore.

На текущий момент этот метод вернёт очки указанного пользователя и по два соседних результата с каждой стороны. Также вернет результаты трёх лучших игроков, если результат пользователя и соседние не являются тремя лучшими. Пожалуйста учитывайте, что это поведение может быть изменено.

Документация Telegram: https://core.telegram.org/bots/api#getgamehighscores

Параметры:
  • user_id (int) – id пользователя

  • chat_id (int or str) – Обязательный, если не указан inline_message_id. Уникальный id чата или username канала (в формате @channelusername)

  • message_id (int) – Обязательный, если не указан inline_message_id. id отправленного сообщения

  • inline_message_id (str) – Обязательный, если не указаны chat_id и message_id. id inline сообщения

Результат:

В случае успеха возвращает массив объектов GameHighScore.

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

List[types.GameHighScore]

get_me() User

Простой метод для тестирования токена бота. Не требует параметров. Возвращает базовую информацию о боте в виде объекта User.

Документация Telegram: https://core.telegram.org/bots/api#getme

get_my_commands(scope: BotCommandScope | None = None, language_code: str | None = None) List[BotCommand]

Используйте этот метод, чтобы получить текущий список команд бота. Возвращает список объектов BotCommand в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#getmycommands

Параметры:
  • scope (telebot.types.BotCommandScope) – Область видимости команд. По умолчанию BotCommandScopeDefault.

  • language_code (str) – Двухбуквенный языковой код в формате ISO 639-1. Если не задан, изменения коснутся команд для всех пользователей в заданном поле видимости, не имеющих команд на их языке

Результат:

Список объектов BotCommand в случае успеха.

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

list of telebot.types.BotCommand

get_my_default_administrator_rights(for_channels: bool | None = None) ChatAdministratorRights

Используйте этот метод, чтобы получить текущие права администратора для бота по умолчанию. Возвращает объект ChatAdministratorRights в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#getmydefaultadministratorrights

Параметры:

for_channels (bool) – Передайте True, чтобы получить права администратора для бота по умолчанию в каналах. Иначе, будут возвращены права администратора для бота по умолчанию в группах и супергруппах.

Результат:

Возвращает объект ChatAdministratorRights в случае успеха.

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

telebot.types.ChatAdministratorRights

get_my_description(language_code: str | None = None)

Use this method to get the current bot description for the given user language. Returns BotDescription on success.

Telegram documentation: https://core.telegram.org/bots/api#getmydescription

Параметры:

language_code (str) – A two-letter ISO 639-1 language code or an empty string

Результат:

telebot.types.BotDescription

get_my_name(language_code: str | None = None)

Use this method to get the current bot name for the given user language. Returns BotName on success.

Telegram documentation: https://core.telegram.org/bots/api#getmyname

Параметры:

language_code (str) – Optional. A two-letter ISO 639-1 language code or an empty string

Результат:

telebot.types.BotName

get_my_short_description(language_code: str | None = None)

Use this method to get the current bot short description for the given user language. Returns BotShortDescription on success.

Telegram documentation: https://core.telegram.org/bots/api#getmyshortdescription

Параметры:

language_code (str) – A two-letter ISO 639-1 language code or an empty string

Результат:

telebot.types.BotShortDescription

get_state(user_id: int, chat_id: int | None = None) int | str | State | None

Получает текущее состояние (стейт) пользователя. Не рекомендуется использовать этот метод. Но это удобно для дебага.

Параметры:
  • user_id (int) – id пользователя

  • chat_id (int) – id чата

Результат:

состояние (стейт) пользователя

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

int or str or telebot.types.State

get_sticker_set(name: str) StickerSet

Используйте этот метод, чтобы получить стикерпак. В случае успеха возвращается объект StickerSet.

Документация Telegram: https://core.telegram.org/bots/api#getstickerset

Параметры:

name (str) – Имя стикерпака

Результат:

В случае успеха возвращается объект StickerSet.

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

telebot.types.StickerSet

get_updates(offset: int | None = None, limit: int | None = None, timeout: int | None = 20, allowed_updates: List[str] | None = None, long_polling_timeout: int = 20) List[Update]

Используйте этот метод, чтобы получить новые апдейты с помощью long polling-а (wiki). Возвращается массив объектов Update.

Документация Telegram: https://core.telegram.org/bots/api#getupdates

Параметры:
  • offset (int, optional) – id первого апдейта. Должен быть на единицу больше наибольшего id среди ранее полученных апдейтов. По умолчанию, возвращается список апдейтов, начиная с самого раннего неполученного. Апдейт считается полученным как только вызван метод getUpdates со смещением больше, чем id этого апдейта. Отрицательное смещение может быть указано для получения последних offset апдейтов. Все предыдущие апдейты будут считаться полученными.

  • limit (int, optional) – Максимальное число апдейтов для получения. Допускаются значения от 1 до 100. По умолчанию 100.

  • timeout (int, optional) – Тайм-аут запроса

  • allowed_updates (list, optional) – Массив строк. Список видов апдейтов, которые вы хотите получать.

  • long_polling_timeout (int, optional) – Тайм-аут поллинга в секундах.

Результат:

Возвращается массив объектов Update.

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

list of telebot.types.Update

get_user_chat_boosts(chat_id: int | str, user_id: int) UserChatBoosts

Use this method to get the list of boosts added to a chat by a user. Requires administrator rights in the chat. Returns a UserChatBoosts object.

Telegram documentation: https://core.telegram.org/bots/api#getuserchatboosts

Параметры:
  • chat_id (int | str) – Уникальный id чата или username канала

  • user_id (int) – Уникальный id сделавшего запрос пользователя

Результат:

On success, a UserChatBoosts object is returned.

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

telebot.types.UserChatBoosts

get_user_profile_photos(user_id: int, offset: int | None = None, limit: int | None = None) UserProfilePhotos

Используйте этот метод, чтобы получить список аватарок пользователя. Возвращает объект telebot.types.UserProfilePhotos.

Документация Telegram: https://core.telegram.org/bots/api#getuserprofilephotos

Параметры:
  • user_id (int) – Уникальный id сделавшего запрос пользователя

  • offset (int) – Порядковый номер первого фото для получения. По умолчанию, возвращаются все фото.

  • limit (int) – Максимальное число фото для получения. Допускаются значения от 1 до 100. По умолчанию 100.

Результат:

UserProfilePhotos

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

telebot.types.UserProfilePhotos

get_webhook_info(timeout: int | None = None) WebhookInfo

Используйте этот метод, чтобы получить текущий статус вебхука. Не требует параметров. В случае успеха возвращает объект WebhookInfo. Если бот использует getUpdates, вернёт объект с пустым атрибутом url.

Документация Telegram: https://core.telegram.org/bots/api#getwebhookinfo

Параметры:

timeout (int, optional) – Тайм-аут запроса

Результат:

В случае успеха возвращает объект WebhookInfo.

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

telebot.types.WebhookInfo

hide_general_forum_topic(chat_id: int | str) bool

Используйте этот метод, чтобы удалить топик в супергруппе. Бот должен быть администратором чата и иметь права администратора can_manage_topics, за исключением случае, когда бот является создателем топика. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#deleteforumtopic

Параметры:

chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

infinity_polling(timeout: int | None = 20, skip_pending: bool | None = False, long_polling_timeout: int | None = 20, logger_level: int | None = 40, allowed_updates: List[str] | None = None, restart_on_change: bool | None = False, path_to_watch: str | None = None, *args, **kwargs)

Запустить поллинг в бесконечном цикле с обработкой исключений, чтобы избежать непредвиденных остановок поллинга.

Примечание

Установите watchdog и psutil, чтобы использовать restart_on_change.

Параметры:
  • timeout (int) – Тайм-аут запроса.

  • long_polling_timeout (int) – Тайм-аут поллинга в секундах (см. документацию API)

  • skip_pending (bool) – пропускать старые апдейты

  • logger_level (int.) – Кастомный (отличающийся от логгера) уровень логирования для infinity_polling. Используйте уровни из logging в качестве значений. None/NOTSET = не логировать ошибки.

  • allowed_updates (list of str) – Список видов апдейтов, которые вы хотите получать. Например, укажите [“message”, “edited_channel_post”, “callback_query”], чтобы получать апдейты только этих видов. Полный список доступных видов апдейтов - util.update_types. Укажите пустой список, чтобы получать все апдейты, кроме chat_member (по умолчанию). Если не задан, будет использована последняя настройка. Пожалуйста учитывайте, что этот параметр не влияет на апдейты, отправленные до вызова get_updates, поэтому нежелательные апдейты могут быть получены в течение короткого периода времени.

  • restart_on_change (bool) – Перезапуск при изменении файлов. По умолчанию False

  • path_to_watch (str) – Путь для мониторинга изменений. По умолчанию текущая директория.

Результат:

inline_handler(func, **kwargs)

Обрабатывает inline query. В качестве параметра, передаёт в декорируемую функцию объект telebot.types.InlineQuery.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

kick_chat_member(**kwargs)
leave_chat(chat_id: int | str) bool

Используйте этот метод, чтобы покинуть группу, супергруппу или канал. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#leavechat

Параметры:

chat_id (int or str) – Уникальный id чата или username супергруппы или канала (в формате @channelusername)

Результат:

bool

load_next_step_handlers(filename='./.handler-saves/step.save', del_file_after_loading=True)

Загрузить next step хендлеры из файла

Эта функция оставлена для обратной совместимости, для загрузки хендлеров из файла с помощью FileHandlerBackend и рекомендуется к использованию только если next_step_backend был определён как FileHandlerBackend до вызова этой функции

Параметры:
  • filename (str, optional) – Имя файла, в котором были сохранены хендлеры, по умолчанию «./.handler-saves/step.save»

  • del_file_after_loading (bool, optional) – Если передано True, файл будет удалён после загрузки, по умолчанию True

load_reply_handlers(filename='./.handler-saves/reply.save', del_file_after_loading=True)

Загрузить reply хендлеры из файла

Эта функция оставлена для обратной совместимости, для загрузки хендлеров из файла с помощью FileHandlerBackend и рекомендуется к использованию только если reply_backend был определён как FileHandlerBackend до вызова этой функции

Параметры:
  • filename (str, optional) – Имя файла, в котором были сохранены хендлеры, по умолчанию «./.handler-saves/reply.save»

  • del_file_after_loading (bool, optional) – Если передано True, файл будет удалён после загрузки, по умолчанию True

log_out() bool

Используйте этот метод, чтобы отключиться от облачного Bot API сервера перед локальным запуском бота. Вы ДОЛЖНЫ отключить бота перед тем, как запускать его локально, иначе нет никаких гарантий, что бот будет получать апдейты. После успешного вызова, вы можете тут же подключиться к локальному серверу, но не сможете подключиться обратно к облачному Bot API серверу в течение 10 минут. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#logout

Результат:

True в случае успеха.

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

bool

message_handler(commands: List[str] | None = None, regexp: str | None = None, func: Callable | None = None, content_types: List[str] | None = None, chat_types: List[str] | None = None, **kwargs)

Обрабатывает входящие сообщения всех видов - text, photo, sticker, и т.д. В качестве параметра передаёт в декорируемую функцию объект telebot.types.Message. Все хендлеры сообщений проверяются в том порядке, в котором были добавлены.

Пример:

Использование message_handler
bot = TeleBot('TOKEN')

# Handles all messages which text matches regexp.
@bot.message_handler(regexp='someregexp')
def command_help(message):
    bot.send_message(message.chat.id, 'Did someone call for help?')

# Handles messages in private chat
@bot.message_handler(chat_types=['private']) # You can add more chat types
def command_help(message):
    bot.send_message(message.chat.id, 'Private chat detected, sir!')

# Handle all sent documents of type 'text/plain'.
@bot.message_handler(func=lambda message: message.document.mime_type == 'text/plain',
    content_types=['document'])
def command_handle_document(message):
    bot.send_message(message.chat.id, 'Document received, sir!')

# Handle all other messages.
@bot.message_handler(func=lambda message: True, content_types=['audio', 'photo', 'voice', 'video', 'document',
    'text', 'location', 'contact', 'sticker'])
def default_command(message):
    bot.send_message(message.chat.id, "This is the default command handler.")
Параметры:
  • commands (list of str) – Необязательный список строк - команд для обработки.

  • regexp (str) – Необязательное регулярное выражение.

  • func (lambda) – Необязательная lambda функция. Получает сообщение (объект Message) в качестве первого параметра. Функция должна вернуть True если хендлер должен обработать сообщение.

  • content_types (list of str) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]

  • chat_types (list of str) – список видов чатов

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

декорируемая функция

message_reaction_count_handler(func=None, **kwargs)

Handles new incoming message reaction count. As a parameter to the decorator function, it passes telebot.types.MessageReactionCountUpdated object.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

message_reaction_handler(func=None, **kwargs)

Handles new incoming message reaction. As a parameter to the decorator function, it passes telebot.types.MessageReactionUpdated object.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

middleware_handler(update_types: List[str] | None = None)

Функция-декоратор для middleware хендлера.

Этот декоратор может быть использован, чтобы декорировать функции, которые будут использоваться в качестве middleware перед обработкой апдейтов, будьте аккуратны и проверяйте вид апдейта внутри функции если возможны апдейты разных видов

Пример:

Использование middleware_handler
bot = TeleBot('TOKEN')

# Print post message text before entering to any post_channel handlers
@bot.middleware_handler(update_types=['channel_post', 'edited_channel_post'])
def print_channel_post_text(bot_instance, channel_post):
    print(channel_post.text)

# Print update id before entering to any handlers
@bot.middleware_handler()
def print_channel_post_text(bot_instance, update):
    print(update.update_id)
Параметры:

update_types (list of str) – Необязательный список видов апдейтов, которые будут обработаны этим middleware хендлером.

Результат:

функция

my_chat_member_handler(func=None, **kwargs)

Обрабатывает изменения статуса бота. Для приватных чатов, этот апдейт отправляется только когда бот был заблокирован или разблокирован пользователем. В качестве параметра передаёт в декорируемую функцию объект telebot.types.ChatMemberUpdated.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

pin_chat_message(chat_id: int | str, message_id: int, disable_notification: bool | None = False) bool

Используйте этот метод, чтобы закрепить сообщение в супергруппе. Бот должен быть администратором чата и иметь соответствующие права администратора. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#pinchatmessage

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • message_id (int) – id сообщения, которое нужно закрепить

  • disable_notification (bool) – Передайте True, если всем участникам группы необходимо отправить уведомление о закреплённом сообщении

Результат:

True в случае успеха.

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

bool

poll_answer_handler(func=None, **kwargs)

Обрабатывает изменения ответа пользователя в не анонимном опросе(когда пользователь меняет выбор). Боты получают новые ответы только в опросах, которые отправили сами. В качестве параметра передаёт в декорируемую функцию объект telebot.types.PollAnswer.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

poll_handler(func, **kwargs)

Обрабатывает изменения в состоянии опроса. Боты получают только апдейты о завершенных опросах и опросах, которые отправили сами. В качестве параметра передаёт в декорируемую функцию объект telebot.types.Poll.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

polling(non_stop: bool | None = False, skip_pending: bool | None = False, interval: int | None = 0, timeout: int | None = 20, long_polling_timeout: int | None = 20, logger_level: int | None = 40, allowed_updates: List[str] | None = None, none_stop: bool | None = None, restart_on_change: bool | None = False, path_to_watch: str | None = None)

Эта функция создаёт новый Thread, который вызывает служебную функцию __retrieve_updates. Это позволяет боту получать апдейты (Update) автоматически и вызывать соответствующие листенеры и хендлеры.

Предупреждение: Не вызывайте эту функцию более одного раза!

Всегда получает апдейты.

Не рекомендуется, начиная с версии 4.1.1: Используйте infinity_polling().

Примечание

Установите watchdog и psutil, чтобы использовать restart_on_change.

Параметры:
  • interval (int) – Задержка между получением апдейтов

  • non_stop (bool) – Не останавливать поллинг при возникновении ApiException.

  • timeout (int) – Тайм-аут запроса

  • skip_pending (bool) – пропускать старые апдейты

  • long_polling_timeout (int) – Тайм-аут поллинга в секундах (см. документацию API)

  • logger_level (int) – Кастомный (отличающийся от логгера) уровень логирования для infinity_polling. Используйте уровни из logging в качестве значений. None/NOTSET = не логировать ошибки.

  • allowed_updates (list of str) – Список видов апдейтов, которые вы хотите получать. Например, укажите [“message”, “edited_channel_post”, “callback_query”], чтобы получать апдейты только этих видов. Полный список доступных видов апдейтов - util.update_types. Укажите пустой список, чтобы получать все апдейты, кроме chat_member (по умолчанию). Если не задан, будет использована последняя настройка. Пожалуйста учитывайте, что этот параметр не влияет на апдейты, отправленные до вызова get_updates, поэтому нежелательные апдейты могут быть получены в течение короткого периода времени.

  • none_stop (bool) – deprecated.

  • restart_on_change (bool) – Перезапуск при изменении файлов. По умолчанию False

  • path_to_watch (str) – Путь для мониторинга изменений. По умолчанию None

Результат:

pre_checkout_query_handler(func, **kwargs)

Новая pre-checkout query. Содержит полную информацию о заказе. В качестве параметра передаёт в декорируемую функцию объект telebot.types.PreCheckoutQuery.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

process_new_updates(updates: List[Update])

Обрабатывает новые апдейты. Просто передайте список апдейтов(Update и его наследники).

Параметры:

updates (list of telebot.types.Update) – Список объектов telebot.types.Update.

возвращает None:

promote_chat_member(chat_id: int | str, user_id: int, can_change_info: bool | None = None, can_post_messages: bool | None = None, can_edit_messages: bool | None = None, can_delete_messages: bool | None = None, can_invite_users: bool | None = None, can_restrict_members: bool | None = None, can_pin_messages: bool | None = None, can_promote_members: bool | None = None, is_anonymous: bool | None = None, can_manage_chat: bool | None = None, can_manage_video_chats: bool | None = None, can_manage_voice_chats: bool | None = None, can_manage_topics: bool | None = None, can_post_stories: bool | None = None, can_edit_stories: bool | None = None, can_delete_stories: bool | None = None) bool

Используйте этот метод, чтобы повысить или понизить пользователя в супергруппе или канале. Бот должен быть администратором чата и иметь соответствующие права администратора. Передайте False во все boolean параметры, чтобы понизить пользователя.

Документация Telegram: https://core.telegram.org/bots/api#promotechatmember

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • user_id (int) – Уникальный id сделавшего запрос пользователя

  • can_change_info (bool) – Передайте True, если администратор может менять название чата, аватарку и другие настройки

  • can_post_messages (bool) – Передайте True, если администратор может создавать посты в канале, только для каналов

  • can_edit_messages (bool) – Передайте True, если администратор может изменять сообщения других пользователей, только для каналов

  • can_delete_messages (bool) – Передайте True, если администратор может удалять сообщения других пользователей

  • can_invite_users (bool) – Передайте True, если администратор может приглашать новых пользователей в чат

  • can_restrict_members (bool) – Передайте True, если администратор может ограничивать, банить или разбанивать участников чата

  • can_pin_messages (bool) – Передайте True, если администратор может закреплять сообщения, только для супергрупп

  • can_promote_members (bool) – Передайте True, если администратор может добавлять новых администраторов с подмножеством его собственных прав администратора или понижать администраторов, которых он повысил, напрямую или косвенно (администраторами, которых он назначил)

  • is_anonymous (bool) – Передайте True, если присутствие администратора в чате скрыто

  • can_manage_chat (bool) – Передайте True, если администратор имеет доступ к логу событий чата, статистике чата, статистике сообщений в каналах, видеть участников канала, видеть анонимных администраторов в супергруппах и игнорировать медленный режим. Подразумевается любым другим правом администратора

  • can_manage_video_chats (bool) – Передайте True, если администратор может управлять голосовыми чатами. На текущий момент, боты могут использовать это право администратора только для передачи другим администраторам.

  • can_manage_voice_chats (bool) – Устарело, используйте can_manage_video_chats.

  • can_manage_topics (bool) – Передайте True, если пользователю разрешено создавать, переименовывать, закрывать, и возобновлять топики, только для супергрупп

  • can_post_stories (bool) – Pass True if the administrator can create the channel’s stories

  • can_edit_stories (bool) – Pass True if the administrator can edit the channel’s stories

  • can_delete_stories (bool) – Pass True if the administrator can delete the channel’s stories

Результат:

True в случае успеха.

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

bool

register_business_connection_handler(callback: Callable, func: Callable | None = None, pass_bot: bool | None = False, **kwargs)

Registers business connection handler.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_business_message_handler(callback: Callable, commands: List[str] | None = None, regexp: str | None = None, func: Callable | None = None, content_types: List[str] | None = None, **kwargs)

Registers business connection handler.

Параметры:
  • callback (function) – функция-хендлер

  • commands (list of str) – список команд

  • regexp (str) – Регулярное выражение

  • func (function) – Функция, используемая в качестве фильтра

  • content_types (list of str) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_callback_query_handler(callback: Callable, func: Callable, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер callback query.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_channel_post_handler(callback: Callable, content_types: List[str] | None = None, commands: List[str] | None = None, regexp: str | None = None, func: Callable | None = None, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер постов в каналах.

Параметры:
  • callback (function) – функция-хендлер

  • content_types (list of str) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]

  • commands (list of str) – список команд

  • regexp (str) – Регулярное выражение

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_chat_boost_handler(callback: Callable, func: Callable | None = None, pass_bot: bool | None = False, **kwargs)

Registers chat boost handler.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_chat_join_request_handler(callback: Callable, func: Callable | None = None, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер запросов на вступление в чат.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_chat_member_handler(callback: Callable, func: Callable | None = None, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер смены состояний участников чата.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

:return:None

register_chosen_inline_handler(callback: Callable, func: Callable, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер выбора результата inline query.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_deleted_business_messages_handler(callback: Callable, func: Callable | None = None, pass_bot: bool | None = False, **kwargs)

Registers deleted business messages handler.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_edited_business_message_handler(callback: Callable, content_types: List[str] | None = None, commands: List[str] | None = None, regexp: str | None = None, func: Callable | None = None, pass_bot: bool | None = False, **kwargs)

Registers edited message handler for business accounts.

Параметры:
  • callback (function) – функция-хендлер

  • content_types (list of str) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]

  • commands (list of str) – список команд

  • regexp (str) – Регулярное выражение

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_edited_channel_post_handler(callback: Callable, content_types: List[str] | None = None, commands: List[str] | None = None, regexp: str | None = None, func: Callable | None = None, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер изменения постов в каналах.

Параметры:
  • callback (function) – функция-хендлер

  • content_types (list of str) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]

  • commands (list of str) – список команд

  • regexp (str) – Регулярное выражение

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

декорируемая функция

register_edited_message_handler(callback: Callable, content_types: List[str] | None = None, commands: List[str] | None = None, regexp: str | None = None, func: Callable | None = None, chat_types: List[str] | None = None, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер изменения сообщений.

Параметры:
  • callback (function) – функция-хендлер

  • content_types (list of str) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]

  • commands (list of str) – список команд

  • regexp (str) – Регулярное выражение

  • func (function) – Функция, используемая в качестве фильтра

  • chat_types (bool) – True для приватных чатов

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_for_reply(message: Message, callback: Callable, *args, **kwargs) None

Регистрирует функцию для вызова при получении ответа на выбранное сообщение.

Предупреждение: При использовании lambda функции в качестве callback, сохранение reply хендлеров не будет работать.

Параметры:
  • message (telebot.types.Message) – Сообщение, ответ на которое нужно ждать.

  • callback (Callable[[telebot.types.Message], None]) – Функция, которую нужно вызвать при получении ответа на сообщение. Должна принимать параметр message, который будет содержать ответ на сообщение.

  • args – Необязательные аргументы для вызываемой функции.

  • kwargs – Необязательные именованные аргументы для вызываемой функции.

Результат:

None

register_for_reply_by_message_id(message_id: int, callback: Callable, *args, **kwargs) None

Регистрирует функцию для вызова при получении ответа на выбранное сообщение.

Предупреждение: При использовании lambda функции в качестве callback, сохранение reply хендлеров не будет работать.

Параметры:
  • message_id (int) – id сообщения, ответ на которое нужно ждать.

  • callback (Callable[[telebot.types.Message], None]) – Функция, которую нужно вызвать при получении ответа на сообщение. Должна принимать параметр message, который будет содержать ответ на сообщение.

  • args – Необязательные аргументы для вызываемой функции.

  • kwargs – Необязательные именованные аргументы для вызываемой функции.

Результат:

None

register_inline_handler(callback: Callable, func: Callable, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер inline query.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

декорируемая функция

register_message_handler(callback: Callable, content_types: List[str] | None = None, commands: List[str] | None = None, regexp: str | None = None, func: Callable | None = None, chat_types: List[str] | None = None, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер сообщений.

Параметры:
  • callback (function) – функция-хендлер

  • content_types (list of str) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]

  • commands (list of str) – список команд

  • regexp (str) – Регулярное выражение

  • func (function) – Функция, используемая в качестве фильтра

  • chat_types (list of str) – Список видов чатов

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_message_reaction_count_handler(callback: Callable, func: Callable = None, pass_bot: bool | None = False, **kwargs)

Registers message reaction count handler.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_message_reaction_handler(callback: Callable, func: Callable = None, pass_bot: bool | None = False, **kwargs)

Registers message reaction handler.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_middleware_handler(callback, update_types=None)

Добавляет функцию-middleware.

Эта функция зарегистрирует вашу функцию-middleware. Middleware функции исполняются до хендлеров. Будьте осторожны и проверяйте вид апдейта внутри функции, если указано более одного update_type

Пример:

bot = TeleBot(„TOKEN“)

bot.register_middleware_handler(print_channel_post_text, update_types=[„channel_post“, „edited_channel_post“])

Параметры:
  • callback (function) – Функция, которая будет использована в качестве middleware.

  • update_types (list of str) – Необязательный список видов апдейтов, которые будут обработаны этим middleware хендлером.

Результат:

None

register_my_chat_member_handler(callback: Callable, func: Callable | None = None, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер изменений статуса бота.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_next_step_handler(message: Message, callback: Callable, *args, **kwargs) None

Регистрирует функцию для вызова при получении нового сообщения после указанного.

Предупреждение: При использовании lambda функции в качестве callback, сохранение next step хендлеров не будет работать.

Параметры:
  • message (telebot.types.Message) – Сообщение, после которого нужно обработать следующее в том же чате.

  • callback (Callable[[telebot.types.Message], None]) – Функция для вызова при получении нового сообщения.

  • args – Аргументы для передачи в функцию

  • kwargs – Аргументы для передачи в функцию

Результат:

None

register_next_step_handler_by_chat_id(chat_id: int, callback: Callable, *args, **kwargs) None

Регистрирует функцию для вызова при получении нового сообщения в заданном чате.

Предупреждение: При использовании lambda функции в качестве callback, сохранение next step хендлеров не будет работать.

Параметры:
  • chat_id (int) – Чат (id чата), в котором нужно обработать новое сообщение.

  • callback (Callable[[telebot.types.Message], None]) – Функция для вызова при получении нового сообщения.

  • args – Аргументы для передачи в функцию

  • kwargs – Аргументы для передачи в функцию

Результат:

None

register_poll_answer_handler(callback: Callable, func: Callable, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер ответов в опросах.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_poll_handler(callback: Callable, func: Callable, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер изменений состояния опросов.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_pre_checkout_query_handler(callback: Callable, func: Callable, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер pre-checkout query.

Параметры:
  • callback (function) – функция-хендлер

  • func – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

декорируемая функция

register_removed_chat_boost_handler(callback: Callable, func: Callable | None = None, pass_bot: bool | None = False, **kwargs)

Registers removed chat boost handler.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

register_shipping_query_handler(callback: Callable, func: Callable, pass_bot: bool | None = False, **kwargs)

Регистрирует хендлер shipping query.

Параметры:
  • callback (function) – функция-хендлер

  • func (function) – Функция, используемая в качестве фильтра

  • pass_bot (bool) – True, если вам нужно передать экземпляр класса TeleBot в хендлер(удобно для разбиения кода на файлы)

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

remove_webhook() bool

Удаляет вебхук, используя set_webhook().

Результат:

True в случае успеха.

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

bool

removed_chat_boost_handler(func=None, **kwargs)

Handles new incoming chat boost state. it passes telebot.types.ChatBoostRemoved object.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

reopen_forum_topic(chat_id: str | int, message_thread_id: int) bool

Используйте этот метод, чтобы возобновить закрытый топик в супергруппе с топиками. Бот должен быть администратором чата и иметь права администратора can_manage_topics, кроме случаев, когда бот является создателем топика. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#reopenforumtopic

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • message_thread_id (int) – id топика для возобновления

Результат:

В случае успеха возвращается True.

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

bool

reopen_general_forum_topic(chat_id: int | str) bool

Используйте этот метод, чтобы возобновить топик „General“ в супергруппе с топиками. Бот должен быть администратором чата и иметь права администратора can_manage_topics, кроме случаев, когда бот является создателем топика. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#reopengeneralforumtopic

Параметры:

chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

replace_sticker_in_set(user_id: int, name: str, old_sticker: str, sticker: InputSticker) bool
Use this method to replace an existing sticker in a sticker set with a new one. The method is equivalent to calling deleteStickerFromSet, then addStickerToSet,

then setStickerPositionInSet. Returns True on success.

Telegram documentation: https://core.telegram.org/bots/api#replaceStickerInSet

Параметры:
  • user_id (int) – User identifier of the sticker set owner

  • name (str) – Имя стикерпака

  • old_sticker (str) – File identifier of the replaced sticker

  • sticker (telebot.types.InputSticker) – A JSON-serialized object with information about the added sticker. If exactly the same sticker had already been added to the set, then the set remains unchanged.

Результат:

Возвращает True в случае успеха.

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

bool

reply_to(message: Message, text: str, **kwargs) Message

Convenience function for send_message(message.chat.id, text, reply_parameters=(message.message_id…), **kwargs)

Параметры:
Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

reset_data(user_id: int, chat_id: int | None = None)

Сбросить данные о пользователе в чате.

Параметры:
  • user_id (int) – id пользователя

  • chat_id (int) – id чата

Результат:

None

restrict_chat_member(chat_id: int | str, user_id: int, until_date: int | datetime | None = None, can_send_messages: bool | None = None, can_send_media_messages: bool | None = None, can_send_polls: bool | None = None, can_send_other_messages: bool | None = None, can_add_web_page_previews: bool | None = None, can_change_info: bool | None = None, can_invite_users: bool | None = None, can_pin_messages: bool | None = None, permissions: ChatPermissions | None = None, use_independent_chat_permissions: bool | None = None) bool

Используйте этот метод, чтобы ограничить пользователя в супергруппе. Бот должен быть администратором супергруппы и иметь соответствующие права администратора. Передайте True во все boolean параметры, чтобы снять с пользователя ограничения.

Документация Telegram: https://core.telegram.org/bots/api#restrictchatmember

Предупреждение

Individual parameters are deprecated and will be removed, use „permissions“ instead.

Параметры:
  • chat_id (int or str) – Уникальный id группы или username супергруппы или канала (в формате @channelusername)

  • user_id (int) – Уникальный id сделавшего запрос пользователя

  • until_date (int or datetime, optional) – Дата, когда ограничения будут сняты с пользователя, UNIX timestamp. Если пользователь ограничен более чем на 366 дней или менее чем на 30 секунд с текущего момента, он будет ограничен навсегда (пока ограничения не будут сняты вручную)

  • can_send_messages (bool) – deprecated

  • can_send_media_messages (bool) – deprecated

  • can_send_polls (bool) – deprecated

  • can_send_other_messages (bool) – deprecated

  • can_add_web_page_previews (bool) – deprecated

  • can_change_info (bool) – deprecated

  • can_invite_users (bool) – deprecated

  • can_pin_messages (bool) – deprecated

  • use_independent_chat_permissions (bool, optional) – Pass True if chat permissions are set independently. Otherwise, the can_send_other_messages and can_add_web_page_previews permissions will imply the can_send_messages, can_send_audios, can_send_documents, can_send_photos, can_send_videos, can_send_video_notes, and can_send_voice_notes permissions; the can_send_polls permission will imply the can_send_messages permission.

  • permissions (telebot.types.ChatPermissions) – ChatPermissions object defining permissions.

Результат:

True в случае успеха

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

bool

retrieve_data(user_id: int, chat_id: int | None = None) Any | None

Возвращает контекстный менеджер с данными о пользователе в чате.

Параметры:
  • user_id (int) – id пользователя

  • chat_id (int, optional) – Уникальный id чата, по умолчанию user_id

Результат:

Контекстный менеджер с данными о пользователе в чате.

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

Optional[Any]

Используйте этот метод, чтобы аннулировать ссылку-приглашение, созданную ботом. Примечание: Если аннулируется главная ссылка-приглашение, автоматически генерируется новая. Бот должен быть администратором чата и иметь соответствующие права администратора.

Документация Telegram: https://core.telegram.org/bots/api#revokechatinvitelink

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • invite_link (str) – Ссылка-приглашение, которую нужно аннулировать

Результат:

Возвращает новую ссылку-приглашение (ChatInviteLink).

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

telebot.types.ChatInviteLink

run_webhooks(listen: str | None = '127.0.0.1', port: int | None = 443, url_path: str | None = None, certificate: str | None = None, certificate_key: str | None = None, webhook_url: str | None = None, max_connections: int | None = None, allowed_updates: List | None = None, ip_address: str | None = None, drop_pending_updates: bool | None = None, timeout: int | None = None, secret_token: str | None = None, secret_token_length: int | None = 20)

Этот класс устанавливает вебхуки и мониторит указанный URL и порт.

Требует fastapi, uvicorn и последнюю версию starlette.

Параметры:
  • listen (str, optional) – IP адрес для мониторинга, по умолчанию «127.0.0.1»

  • port (int, optional) – Порт, который будет использован для мониторинга вебхуков. По умолчанию 443

  • url_path (str, optional) – Путь к вебхуку(по умолчанию /token). По умолчанию None

  • certificate (str, optional) – Путь к файлу с SSL сертификатом, по умолчанию None

  • certificate_key (str, optional) – Путь к файлу с приватным ключом SSL сертификата, по умолчанию None

  • webhook_url (str, optional) – URL вебхука, по умолчанию None

  • max_connections (int, optional) – Максимально-допустимое количество одновременных HTTPS подключений к вебхуку для доставки апдейтов, 1-100. По умолчанию 40. Используйте меньшие значения, чтобы уменьшить нагрузку на ваш сервер и большие значения для увеличения пропускной способности вашего бота, по умолчанию None.

  • allowed_updates (list, optional) – Список видов апдейтов, которые вы хотите получать, в формате JSON. Например, укажите [“message”, “edited_channel_post”, “callback_query”], чтобы получать апдейты только этих видов. Полный список доступных видов апдейтов - util.update_types. Укажите пустой список, чтобы получать все апдейты, кроме chat_member (по умолчанию). Если не задан, будет использована последняя настройка. По умолчанию None

  • ip_address (str, optional) – Фиксированный IP адрес, который будет использоваться для отправки запросов к вебхуку вместо IP адреса, полученного через DNS, по умолчанию None

  • drop_pending_updates (bool, optional) – Передайте True, чтобы удалить все предшествующие запуску бота апдейты, по умолчанию None

  • timeout (int, optional) – Тайм-аут запроса, по умолчанию None

  • secret_token (str, optional) – Секретный токен для верификации запроса к вебхуку, по умолчанию None

  • secret_token_length (int, optional) – Длина секретного токена, по умолчанию 20

Исключение:

ImportError – Если необходимые библиотеки не были установлены.

send_animation(chat_id: int | str, animation: Any | str, duration: int | None = None, width: int | None = None, height: int | None = None, thumbnail: str | Any | None = None, caption: str | None = None, parse_mode: str | None = None, caption_entities: List[MessageEntity] | None = None, disable_notification: bool | None = None, protect_content: bool | None = None, reply_to_message_id: int | None = None, allow_sending_without_reply: bool | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, timeout: int | None = None, message_thread_id: int | None = None, has_spoiler: bool | None = None, thumb: str | Any | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправить гифку (GIF или H.264/MPEG-4 AVC видео без звука). В случае успеха возвращается отправленное сообщение (Message). На текущий момент, боты могут отправлять гифки весом до 50 MB, это ограничение может измениться в будущем.

Документация Telegram: https://core.telegram.org/bots/api#sendanimation

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • animation (str or telebot.types.InputFile) – Гиф-ка для отправки. Передайте file_id (String), чтобы отправить гифку, которая уже загружена на сервера Telegram (рекомендуется), передайте HTTP URL (String), чтобы отправить гифку из интернета или загрузите новую гифку с помощью multipart/form-data.

  • duration (int) – Длительность отправленной гифки в секундах

  • width (int) – Ширина гифки

  • height (int) – Высота гифки

  • thumbnail (str or telebot.types.InputFile) – Обложка отправленного файла; может быть проигнорирована, если генерация обложки поддерживается на стороне сервера. Обложка должна быть картинкой в формате JPEG и весить менее 200 kB. Ширина и высота обложки не должны превышать 320. Игнорируется, если файл не загружен с помощью multipart/form-data. Обложки не могут быть использованы повторно и могут быть загружены только как новый файл, так что вы можете передать “attach://<file_attach_name>” если обложка была загружена с помощью multipart/form-data под именем <file_attach_name>.

  • caption (str) – Подпись к гифке (может быть использована при повторной отправке гифки по file_id), 0-1024 символа после форматирования

  • parse_mode (str) – Режим форматирования подписи к гифке

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • timeout (int) – Таймаут запроса в секундах.

  • caption_entities (list of telebot.types.MessageEntity) – Список отформатированных частей подписи, можно использовать вместо parse_mode

  • message_thread_id (int) – id топика, в который будет отправлено видео

  • has_spoiler (bool) – Передайте True, если гифку нужно отправить как спойлер

  • thumb (str or telebot.types.InputFile) – deprecated.

  • reply_parameters (telebot.types.ReplyParameters) – Reply parameters.

  • business_connection_id (str) – Identifier of a business connection

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

send_audio(chat_id: int | str, audio: Any | str, caption: str | None = None, duration: int | None = None, performer: str | None = None, title: str | None = None, reply_to_message_id: int | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, parse_mode: str | None = None, disable_notification: bool | None = None, timeout: int | None = None, thumbnail: str | Any | None = None, caption_entities: List[MessageEntity] | None = None, allow_sending_without_reply: bool | None = None, protect_content: bool | None = None, message_thread_id: int | None = None, thumb: str | Any | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправить аудио, если вы хотите, чтобы клиенты (приложения) Telegram проигрывали их в музыкальном проигрывателе. Ваше аудио должно быть в формате .MP3 или .M4A. В случае успеха возвращается отправленное сообщение (Message). На текущий момент, боты могут отправлять аудио весом до 50 MB, это ограничение может измениться в будущем.

Для отправки голосовых сообщений, используйте метод send_voice

Документация Telegram: https://core.telegram.org/bots/api#sendaudio

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • audio (str or telebot.types.InputFile) – Аудио для отправки. Передайте file_id (String), чтобы отправить аудио, которое уже загружено на сервера Telegram (рекомендуется), передайте HTTP URL (String), чтобы отправить аудио из интернета или загрузите новое с помощью multipart/form-data. Аудио должно быть в формате .MP3 или .M4A.

  • caption (str) – Подпись к аудио, 0-1024 символа после форматирования

  • duration (int) – Длительность аудио в секундах

  • performer (str) – Исполнитель

  • title (str) – Название трека

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply)

  • parse_mode (str) – Режим форматирования подписи к аудио. См. formatting options для получения подробностей.

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • timeout (int) – Таймаут запроса в секундах.

  • thumbnail (str or telebot.types.InputFile) – Обложка отправленного файла; может быть проигнорирована, если генерация обложки поддерживается на стороне сервера. Обложка должна быть картинкой в формате JPEG и весить менее 200 kB. Ширина и высота обложки не должны превышать 320. Игнорируется, если файл не загружен с помощью multipart/form-data. Обложки не могут быть использованы повторно и могут быть загружены только как новый файл, так что вы можете передать “attach://<file_attach_name>” если обложка была загружена с помощью multipart/form-data под именем <file_attach_name>.

  • caption_entities (list of telebot.types.MessageEntity) – Список отформатированных частей подписи в формате JSON, можно использовать вместо parse_mode

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • message_thread_id (int) – id топика, в который нужно отправить сообщение

  • thumb (str or telebot.types.InputFile) – deprecated.

  • reply_parameters (telebot.types.ReplyParameters) – Reply parameters.

  • business_connection_id (str) – Identifier of a business connection, in which the message will be sent

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

send_chat_action(chat_id: int | str, action: str, timeout: int | None = None, message_thread_id: int | None = None, business_connection_id: str | None = None) bool

Используйте этот метод, когда вам нужно показать пользователю, что бот что-то делает. Статус устанавливается на 5 секунд или менее (когда от бота приходит сообщение, клиенты (приложения) Telegram убирают статус typing). Возвращает True в случае успеха.

Пример: ImageBot-у требуется время, чтобы обработать запрос и загрузить изображение. Вместо отправки текстового сообщения “Отправка изображения, пожалуйста подождите…”, бот может использовать sendChatAction с параметром action = upload_photo. Пользователь увидит статус бота “sending photo”.

Документация Telegram: https://core.telegram.org/bots/api#sendchataction

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала

  • action (str) – Тип действия. Выберите один, в зависимости от того, что получит пользователь: typing для текстовых сообщений, upload_photo для фото, record_video или upload_video для видео, record_voice или upload_voice для голосовых сообщений, upload_document для файлов, choose_sticker для стикеров, find_location для данных о местоположении, record_video_note или upload_video_note для видео заметок (кружочков).

  • timeout (int) – Таймаут запроса в секундах.

  • message_thread_id (int) – id топика, на сообщение из которого нужно ответить(только для супергрупп)

  • business_connection_id (str) – Identifier of a business connection

Результат:

Возвращает True в случае успеха.

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

bool

send_contact(chat_id: int | str, phone_number: str, first_name: str, last_name: str | None = None, vcard: str | None = None, disable_notification: bool | None = None, reply_to_message_id: int | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, timeout: int | None = None, allow_sending_without_reply: bool | None = None, protect_content: bool | None = None, message_thread_id: int | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправить контакт. В случае успеха возвращается отправленное сообщение (Message).

Документация Telegram: https://core.telegram.org/bots/api#sendcontact

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала

  • phone_number (str) – Телефонный номер контакта

  • first_name (str) – Имя контакта

  • last_name (str) – Фамилия контакта

  • vcard (str) – Дополнительные данные о контакте в формате vCard, 0-2048 байт

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • timeout (int) – Таймаут запроса в секундах.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • message_thread_id (int) – id топика, на сообщение из которого нужно ответить

  • reply_parameters (telebot.types.ReplyParameters) – Reply parameters.

  • business_connection_id (str) – Identifier of a business connection

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

send_dice(chat_id: int | str, emoji: str | None = None, disable_notification: bool | None = None, reply_to_message_id: int | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, timeout: int | None = None, allow_sending_without_reply: bool | None = None, protect_content: bool | None = None, message_thread_id: int | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправить анимированный эмодзи, который покажет случайное значение. В случае успеха возвращается отправленное сообщение (Message).

Документация Telegram: https://core.telegram.org/bots/api#senddice

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • emoji (str) – Эмодзи, на котором основана анимация. На текущий момент, должно быть одним из “🎲”, “🎯”, “🏀”, “⚽”, “🎳”, или “🎰”. Значение может быть 1-6 для “🎲”, “🎯” и “🎳”, 1-5 для “🏀” и “⚽”, и 1-64 для “🎰”. По умолчанию “🎲”

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • timeout (int) – Таймаут запроса в секундах.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • message_thread_id (int) – id топика, в который нужно отправить сообщение

  • reply_parameters (telebot.types.ReplyParameters) – Additional parameters for replies to messages

  • business_connection_id (str) – Identifier of a business connection, in which the message will be sent

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

send_document(chat_id: int | str, document: Any | str, reply_to_message_id: int | None = None, caption: str | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, parse_mode: str | None = None, disable_notification: bool | None = None, timeout: int | None = None, thumbnail: str | Any | None = None, caption_entities: List[MessageEntity] | None = None, allow_sending_without_reply: bool | None = None, visible_file_name: str | None = None, disable_content_type_detection: bool | None = None, data: str | Any | None = None, protect_content: bool | None = None, message_thread_id: int | None = None, thumb: str | Any | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправить файл.

Документация Telegram: https://core.telegram.org/bots/api#senddocument

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • document (str or telebot.types.InputFile) – (документ) Файл для отправки. Передайте file_id (String), чтобы отправить файл, который уже загружен на сервера Telegram (рекомендуется), передайте HTTP URL (String), чтобы отправить файл из интернета или загрузите новый с помощью multipart/form-data

  • caption (str) – Подпись к файлу (может быть использована при повторной отправке файла по file_id), 0-1024 символа после форматирования

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • parse_mode (str) – Режим форматирования частей подписи к файлу

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • timeout (int) – Таймаут запроса в секундах.

  • thumbnail (str or telebot.types.InputFile) – InputFile или String : Обложка отправленного файла; может быть проигнорирована, если генерация обложки поддерживается на стороне сервера. Обложка должна быть картинкой в формате JPEG и весить менее 200 kB. Ширина и высота обложки не должны превышать 320. Игнорируется, если файл не загружен с помощью multipart/form-data. Обложки не могут быть использованы повторно и могут быть загружены только как новый файл, так что вы можете передать “attach://<file_attach_name>” если обложка была загружена с помощью multipart/form-data под именем <file_attach_name>.

  • caption_entities (list of telebot.types.MessageEntity) – Список отформатированных частей подписи в формате JSON, можно использовать вместо parse_mode

  • visible_file_name (str) – позволяет задать имя файла, которое будет показано в Telegram вместо настоящего

  • disable_content_type_detection (bool) – Отключает автоматическое обнаружение типа файла на стороне сервера для файлов, загруженных с помощью multipart/form-data

  • data (str) – опечатка: не используйте

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • message_thread_id (int) – Топик, в которой сообщение будет отправлено

  • thumb (str or telebot.types.InputFile) – deprecated.

  • reply_parameters (telebot.types.ReplyParameters) – Reply parameters.

  • business_connection_id (str) – Identifier of a business connection, in which the message will be sent

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

send_game(chat_id: int | str, game_short_name: str, disable_notification: bool | None = None, reply_to_message_id: int | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, timeout: int | None = None, allow_sending_without_reply: bool | None = None, protect_content: bool | None = None, message_thread_id: int | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используется для отправки игры.

Документация Telegram: https://core.telegram.org/bots/api#sendgame

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • game_short_name (str) – Короткое имя игры, служит в качестве уникального id игры. Настройте свои игрычерез @BotFather.

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • reply_to_message_id (int) – deprecated. If the message is a reply, ID of the original message

  • allow_sending_without_reply (bool) – deprecated. Pass True, if the message should be sent even if the specified replied-to message is not found

  • reply_markup (InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • timeout (int) – Тайм-аут в секундах, ожидание ответа от бота.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • message_thread_id (int) – id топика, в который будет отправлено сообщение с игрой.

  • reply_parameters (ReplyParameters) – Reply parameters

  • business_connection_id (str) – Unique identifier of the business connection

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

types.Message

send_invoice(chat_id: int | str, title: str, description: str, invoice_payload: str, provider_token: str, currency: str, prices: List[LabeledPrice], start_parameter: str | None = None, photo_url: str | None = None, photo_size: int | None = None, photo_width: int | None = None, photo_height: int | None = None, need_name: bool | None = None, need_phone_number: bool | None = None, need_email: bool | None = None, need_shipping_address: bool | None = None, send_phone_number_to_provider: bool | None = None, send_email_to_provider: bool | None = None, is_flexible: bool | None = None, disable_notification: bool | None = None, reply_to_message_id: int | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, provider_data: str | None = None, timeout: int | None = None, allow_sending_without_reply: bool | None = None, max_tip_amount: int | None = None, suggested_tip_amounts: List[int] | None = None, protect_content: bool | None = None, message_thread_id: int | None = None, reply_parameters: ReplyParameters | None = None) Message

Отправляет инвойс.

Документация Telegram: https://core.telegram.org/bots/api#sendinvoice

Параметры:
  • chat_id (int or str) – Уникальный id приватного чата

  • title (str) – Название товара, 1-32 символа

  • description (str) – Описание товара, 1-255 символов

  • invoice_payload (str) – Дополнительные данные, 1-128 байт. Не будет показано пользователю, используйте во внутренних процессах.

  • provider_token (str) – Токен платежной системы, полученный через @BotFather

  • currency (str) – Трехбуквенный код валюты в формате ISO 4217, см. https://core.telegram.org/bots/payments#supported-currencies

  • prices (List[types.LabeledPrice]) – Детали цены, список компонент (например цена продукта, налог, скидка, стоимость доставки, налог на доставку, бонус и т.д.)

  • start_parameter (str) – Уникальный deep-linking параметр, который может быть использован для генерации этого инвойса при использовании в качестве параметра /start

  • photo_url (str) – URL фото продукта. Может быть фото товаров или рекламным изображением сервиса. Людям больше нравится, когда они видят, за что платят.

  • photo_size (int) – Вес изображения в байтах

  • photo_width (int) – Ширина изображения

  • photo_height (int) – Высота изображения

  • need_name (bool) – Передайте True, если для совершения заказа требуется полное имя пользователя

  • need_phone_number (bool) – Передайте True, если для совершения заказа требуется номер телефона пользователя

  • need_email (bool) – Передайте True, если для совершения заказа требуется email пользователя

  • need_shipping_address (bool) – Передайте True, если для совершения заказа требуется адрес доставки

  • is_flexible (bool) – Передайте True, если окончательная цена зависит от способа доставки

  • send_phone_number_to_provider (bool) – Передайте True, если номер телефона пользователя нужно отправить платежной системе

  • send_email_to_provider (bool) – Передайте True, если email пользователя нужно отправить платежной системе

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • reply_to_message_id (int) – deprecated. If the message is a reply, ID of the original message

  • allow_sending_without_reply (bool) – deprecated. Pass True, if the message should be sent even if the specified replied-to message is not found

  • reply_markup (str) – JSON-сериализованный объект inline клавиатуры. Если пустой, будет показана одна кнопка „Pay total price“. Если не пустой, первая кнопка должна быть кнопкой для оплаты

  • provider_data (str) – Данные о инвойсе в формате JSON, которые будут переданы платежной системе. Подробное описание обязательных полей должно быть предоставлено провайдером платежной системы.

  • timeout (int) – Тайм-аут запроса, по умолчанию None

  • max_tip_amount (int) – Максимальный размер чаевых в наименьших единицах выбранной валюты

  • suggested_tip_amounts (list of int) – Массив предлагаемых вариантов чаевых в наименьших единицах выбранной валюты в формате JSON. Можно задать не более 4 вариантов. Варианты чаевых должны быть больше нуля, перечисленные в порядке строгого возрастания и не превышать max_tip_amount.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • message_thread_id (int) – id топика, в который будет отправлен инвойс

  • reply_parameters (types.ReplyParameters) – Required if the message is a reply. Additional interface options.

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

types.Message

send_location(chat_id: int | str, latitude: float, longitude: float, live_period: int | None = None, reply_to_message_id: int | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, disable_notification: bool | None = None, timeout: int | None = None, horizontal_accuracy: float | None = None, heading: int | None = None, proximity_alert_radius: int | None = None, allow_sending_without_reply: bool | None = None, protect_content: bool | None = None, message_thread_id: int | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправить точку на карте. В случае успеха возвращается отправленное сообщение (Message).

Документация Telegram: https://core.telegram.org/bots/api#sendlocation

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • latitude (float) – Широта

  • longitude (float) – Долгота

  • live_period (int) – Время в секундах, в течение которого местоположение будет обновляться (см. Live Locations), должно быть между 60 и 86400.

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • timeout (int) – Таймаут запроса в секундах.

  • horizontal_accuracy (float) – Радиус погрешности местоположения, измеряется в метрах; 0-1500

  • heading (int) – Для live местоположений, направление, в котором пользователь двигается, в градусах. Должно быть между 1 и 360, если указано.

  • proximity_alert_radius (int) – Для live местоположений, максимальное расстояние для уведомлений о приближении другого участника чата, в метрах. Должно быть между 1 и 100000, если указано.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • message_thread_id (int) – id топика, в который нужно отправить сообщение

  • reply_parameters (telebot.types.ReplyParameters) – Reply parameters.

  • business_connection_id (str) – Identifier of a business connection, in which the message will be sent

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

send_media_group(chat_id: int | str, media: List[InputMediaAudio | InputMediaDocument | InputMediaPhoto | InputMediaVideo], disable_notification: bool | None = None, protect_content: bool | None = None, reply_to_message_id: int | None = None, timeout: int | None = None, allow_sending_without_reply: bool | None = None, message_thread_id: int | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) List[Message]

Используйте этот метод, чтобы отправить группу фото, видео, файлов или аудио как альбом. Файлы и аудио могут быть сгруппированы в альбом только с сообщениями того же типа. В случае успеха возвращается массив отправленных сообщений (Message).

Документация Telegram: https://core.telegram.org/bots/api#sendmediagroup

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • media (list of types.InputMedia) – JSON-сериализованный массив, описывающий сообщения для отправки, должен включать от 2 до 10 элементов

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователя пользователи получат уведомление без звука.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • timeout (int) – Таймаут запроса в секундах.

  • message_thread_id (int) – id топика, в который будет отправлена группа медиа

  • reply_parameters (telebot.types.ReplyParameters) – Reply parameters.

  • business_connection_id (str) – Identifier of a business connection, in which the message will be sent

Результат:

В случае успеха возвращается массив отправленных сообщений (Message).

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

List[types.Message]

send_message(chat_id: int | str, text: str, parse_mode: str | None = None, entities: List[MessageEntity] | None = None, disable_web_page_preview: bool | None = None, disable_notification: bool | None = None, protect_content: bool | None = None, reply_to_message_id: int | None = None, allow_sending_without_reply: bool | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, timeout: int | None = None, message_thread_id: int | None = None, reply_parameters: ReplyParameters | None = None, link_preview_options: LinkPreviewOptions | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправлять текстовые сообщения.

Предупреждение: Не отправляйте больше 4096 символов в одном сообщении, иначе вы рискуете получить ошибку HTTP 414. Если вам нужно отправить больше 4096 символов, используйте функцию split_string или smart_split из util.py.

Документация Telegram: https://core.telegram.org/bots/api#sendmessage

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • text (str) – Текст сообщения для отправки

  • parse_mode (str) – Режим форматирования в тексте сообщения.

  • entities (Array of telebot.types.MessageEntity) – Список отформатированных частей в тексте сообщения, можно использовать вместо parse_mode

  • disable_web_page_preview (bool) – deprecated.

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • timeout (int) – Таймаут запроса в секундах.

  • message_thread_id (int) – id топика, в который нужно отправить сообщение

  • reply_parameters (telebot.types.ReplyParameters) – Reply parameters.

  • link_preview_options (telebot.types.LinkPreviewOptions) – Link preview options.

  • business_connection_id (str) – Identifier of a business connection, in which the message will be sent

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

send_photo(chat_id: int | str, photo: Any | str, caption: str | None = None, parse_mode: str | None = None, caption_entities: List[MessageEntity] | None = None, disable_notification: bool | None = None, protect_content: bool | None = None, reply_to_message_id: int | None = None, allow_sending_without_reply: bool | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, timeout: int | None = None, message_thread_id: int | None = None, has_spoiler: bool | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправить фото. В случае успеха возвращается отправленное сообщение (Message).

Документация Telegram: https://core.telegram.org/bots/api#sendphoto

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • photo (str or telebot.types.InputFile) – Фото для отправки. Передайте file_id (String), чтобы отправить фото, которое уже загружено на сервера Telegram (рекомендуется), передайте HTTP URL (String), чтобы отправить фото из интернета или загрузите новое с помощью multipart/form-data. Фото должно весить не более 10 MB. Ширина и высота фото не должны суммарно превышать 10000. Отношение ширины и высоты должно быть не более 20.

  • caption (str) – Подпись к фото (может быть использована при повторной отправке файла по file_id), 0-1024 символа после форматирования

  • parse_mode (str) – Режим форматирования подписи к фото.

  • caption_entities (list of telebot.types.MessageEntity) – Список отформатированных частей подписи в формате JSON, можно использовать вместо parse_mode

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • timeout (int) – Таймаут запроса в секундах.

  • message_thread_id (int) – id топика, в который нужно отправить сообщение

  • has_spoiler (bool) – Передайте True, если фото должно быть отправлено как спойлер

  • reply_parameters (telebot.types.ReplyParameters) – Additional parameters for replies to messages

  • business_connection_id (str) – Identifier of a business connection, in which the message will be sent

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

send_poll(chat_id: int | str, question: str, options: List[str], is_anonymous: bool | None = None, type: str | None = None, allows_multiple_answers: bool | None = None, correct_option_id: int | None = None, explanation: str | None = None, explanation_parse_mode: str | None = None, open_period: int | None = None, close_date: int | datetime | None = None, is_closed: bool | None = None, disable_notification: bool | None = False, reply_to_message_id: int | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, allow_sending_without_reply: bool | None = None, timeout: int | None = None, explanation_entities: List[MessageEntity] | None = None, protect_content: bool | None = None, message_thread_id: int | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправить опрос. В случае успеха возвращается отправленное сообщение (Message).

Документация Telegram: https://core.telegram.org/bots/api#sendpoll

Параметры:
  • chat_id (int | str) – Уникальный id чата или username канала

  • question (str) – Тема опроса, 1-300 символов

  • options (list of str) – JSON-сериализованный список вариантов ответа, 2-10 строк по 1-100 символов

  • is_anonymous (bool) – True, если опрос должен быть анонимным, по умолчанию True

  • type (str) – Вид опроса, “quiz” или “regular”, по умолчанию “regular”

  • allows_multiple_answers (bool) – True, если опрос позволяет выбрать несколько вариантов ответа, игнорируется в опросах вида “quiz”, по умолчанию False

  • correct_option_id (int) – Индекс правильного варианта ответа, начиная с 0. Доступно только для опросов вида “quiz”, по умолчанию None

  • explanation (str) – Текст, который будет показан при выборе неправильно варианта ответа или нажатии на иконку лампочки в опросах вида “quiz”, 0-200 символов и не более 2 строк после форматирования

  • explanation_parse_mode (str) – Режим форматирования explanation. См. formatting options для получения подробностей.

  • open_period (int) – Время в секундах, в течение которого опрос будет активен, 5-600. Нельзя использовать вместо с close_date.

  • close_date (int | datetime) – Время (UNIX timestamp), когда опрос будет автоматически завершен.

  • is_closed (bool) – Передайте True, если опрос должен быть завершен немедленно. Может быть полезно для предпросмотра опроса.

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • reply_to_message_id (int) – deprecated. If the message is a reply, ID of the original message

  • allow_sending_without_reply (bool) – deprecated. Pass True, if the message should be sent even if the specified replied-to message is not found

  • reply_markup (InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • timeout (int) – Тайм-аут в секундах, ожидание ответа от пользователя.

  • explanation_entities (list of MessageEntity) – JSON-сериализованный список отформатированных частей explanation, можно использовать вместо parse_mode

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • message_thread_id (int) – id топика, в который будет отправлен опрос

  • reply_parameters (ReplyParameters) – reply parameters.

  • business_connection_id (str) – Identifier of the business connection to use for the poll

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

types.Message

send_sticker(chat_id: int | str, sticker: Any | str, reply_to_message_id: int | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, disable_notification: bool | None = None, timeout: int | None = None, allow_sending_without_reply: bool | None = None, protect_content: bool | None = None, data: Any | str = None, message_thread_id: int | None = None, emoji: str | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправить статичный .WEBP, анимированный .TGS, или видео .WEBM стикер. В случае успеха возвращает отправленное сообщение (Message).

Документация Telegram: https://core.telegram.org/bots/api#sendsticker

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • sticker (str or telebot.types.InputFile) – Стикер для отправки. Передайте file_id (String), чтобы отправить файл, который уже загружен на сервера Telegram (рекомендуется), передайте HTTP URL (String), чтобы отправить .webp файл из интернета или загрузите новый с помощью multipart/form-data.

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • disable_notification (bool) – отключить уведомление

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • timeout (int) – Таймаут запроса в секундах.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • data (str) – опечатка: не используйте

  • message_thread_id (int) – Топик, в которой сообщение будет отправлено

  • emoji (str) – Emoji associated with the sticker; only for just uploaded stickers

  • reply_parameters (telebot.types.ReplyParameters) – Reply parameters.

  • business_connection_id (str) – Identifier of a business connection, in which the message will be sent

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

send_venue(chat_id: int | str, latitude: float | None, longitude: float | None, title: str, address: str, foursquare_id: str | None = None, foursquare_type: str | None = None, disable_notification: bool | None = None, reply_to_message_id: int | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, timeout: int | None = None, allow_sending_without_reply: bool | None = None, google_place_id: str | None = None, google_place_type: str | None = None, protect_content: bool | None = None, message_thread_id: int | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправить информацию о месте. В случае успеха возвращается отправленное сообщение (Message).

Документация Telegram: https://core.telegram.org/bots/api#sendvenue

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала

  • latitude (float) – Широта

  • longitude (float) – Долгота

  • title (str) – Название места

  • address (str) – Адрес места

  • foursquare_id (str) – id места на Foursquare

  • foursquare_type (str) – Тип места на Foursquare, если известен. (Например, “arts_entertainment/default”, “arts_entertainment/aquarium” или “food/icecream”.)

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • timeout (int) – Таймаут запроса в секундах.

  • google_place_id (str) – id места на Google Places

  • google_place_type (str) – Тип места на Google Places.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • message_thread_id (int) – id топика, на сообщение из которого нужно ответить

  • reply_parameters (telebot.types.ReplyParameters) – Reply parameters.

  • business_connection_id (str) – Identifier of a business connection

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

send_video(chat_id: int | str, video: Any | str, duration: int | None = None, width: int | None = None, height: int | None = None, thumbnail: str | Any | None = None, caption: str | None = None, parse_mode: str | None = None, caption_entities: List[MessageEntity] | None = None, supports_streaming: bool | None = None, disable_notification: bool | None = None, protect_content: bool | None = None, reply_to_message_id: int | None = None, allow_sending_without_reply: bool | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, timeout: int | None = None, data: str | Any | None = None, message_thread_id: int | None = None, has_spoiler: bool | None = None, thumb: str | Any | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправить видео, клиенты (приложения) Telegram поддерживают mp4 видео (другие форматы могут быть отправлены как Document).

Документация Telegram: https://core.telegram.org/bots/api#sendvideo

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • video (str or telebot.types.InputFile) – Видео для отправки. Передайте file_id (String), чтобы отправить видео, которое уже загружено на сервера Telegram или загрузите новое с помощью multipart/form-data.

  • duration (int) – Длительность отправленного видео в секундах

  • width (int) – Ширина видео

  • height (int) – Высота видео

  • thumbnail (str or telebot.types.InputFile) – Обложка отправленного файла; может быть проигнорирована, если генерация обложки поддерживается на стороне сервера. Обложка должна быть картинкой в формате JPEG и весить менее 200 kB. Ширина и высота обложки не должны превышать 320. Игнорируется, если файл не загружен с помощью multipart/form-data. Обложки не могут быть использованы повторно и могут быть загружены только как новый файл, так что вы можете передать “attach://<file_attach_name>” если обложка была загружена с помощью multipart/form-data под именем <file_attach_name>.

  • caption (str) – Подпись к видео (может быть использована при повторной отправке файла по file_id), 0-1024 символа после форматирования

  • parse_mode (str) – Режим форматирования подписи к видео

  • caption_entities (list of telebot.types.MessageEntity) – Список отформатированных частей подписи, можно использовать вместо parse_mode

  • supports_streaming (bool) – Передайте True, если загруженное видео подходит для стриминга

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • timeout (int) – Таймаут запроса в секундах.

  • data (str) – опечатка: не используйте

  • message_thread_id (int) – id топика, в который будет отправлено видео

  • has_spoiler (bool) – Передайте True, если видео должно быть отправлено как спойлер

  • thumb (str or telebot.types.InputFile) – deprecated.

  • reply_parameters (telebot.types.ReplyParameters) – Reply parameters

  • business_connection_id (str) – Identifier of a business connection

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

send_video_note(chat_id: int | str, data: Any | str, duration: int | None = None, length: int | None = None, reply_to_message_id: int | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, disable_notification: bool | None = None, timeout: int | None = None, thumbnail: str | Any | None = None, allow_sending_without_reply: bool | None = None, protect_content: bool | None = None, message_thread_id: int | None = None, thumb: str | Any | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Начиная с версии v.4.0, клиенты(приложения) Telegram поддерживают скругленные квадратные MPEG4 видео длительностью до минуты. Используйте этот метод, чтобы отправить видео заметку (кружочек). В случае успеха возвращается отправленное сообщение (Message).

Документация Telegram: https://core.telegram.org/bots/api#sendvideonote

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • data (str or telebot.types.InputFile) – Видео заметка для отправки. Передайте file_id (String), чтобы отправить видео заметку, которая уже загружена на сервера Telegram или загрузите новую с помощью multipart/form-data. На текущий момент, отправка видео заметок по URL не поддерживается

  • duration (int) – Длительность отправленного видео в секундах

  • length (int) – Ширина и высота видео (диаметр видео сообщения)

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • timeout (int) – Таймаут запроса в секундах.

  • thumbnail (str or telebot.types.InputFile) – Обложка отправленного файла; может быть проигнорирована, если генерация обложки поддерживается на стороне сервера. Обложка должна быть картинкой в формате JPEG и весить менее 200 kB. Ширина и высота обложки не должны превышать 320. Игнорируется, если файл не загружен с помощью multipart/form-data. Обложки не могут быть использованы повторно и могут быть загружены только как новый файл, так что вы можете передать “attach://<file_attach_name>” если обложка была загружена с помощью multipart/form-data под именем <file_attach_name>.

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • message_thread_id (int) – id топика, в который будет отправлена видео заметка

  • thumb (str or telebot.types.InputFile) – deprecated.

  • reply_parameters (telebot.types.ReplyParameters) – Reply parameters.

  • business_connection_id (str) – Identifier of a business connection, in which the message will be sent

Результат:

В случае успеха возвращает отправленное сообщение (Message).

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

telebot.types.Message

send_voice(chat_id: int | str, voice: Any | str, caption: str | None = None, duration: int | None = None, reply_to_message_id: int | None = None, reply_markup: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply | None = None, parse_mode: str | None = None, disable_notification: bool | None = None, timeout: int | None = None, caption_entities: List[MessageEntity] | None = None, allow_sending_without_reply: bool | None = None, protect_content: bool | None = None, message_thread_id: int | None = None, reply_parameters: ReplyParameters | None = None, business_connection_id: str | None = None) Message

Используйте этот метод, чтобы отправить голосовое сообщение. Ваше аудио должно быть в формате .OGG и закодировано с помощью OPUS (другие форматы можно отправить как Audio или Document). В случае успеха возвращается отправленное сообщение (Message). На текущий момент, боты могут отправлять голосовые сообщения весом до 50 MB, это ограничение может быть изменено в будущем.

Документация Telegram: https://core.telegram.org/bots/api#sendvoice

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • voice (str or telebot.types.InputFile) – Аудио для отправки. Передайте file_id (String), чтобы отправить аудио, которое уже загружено на сервера Telegram (рекомендуется), передайте HTTP URL (String), чтобы отправить аудио из интернета или загрузите новое с помощью multipart/form-data.

  • caption (str) – Подпись к голосовому сообщению, 0-1024 символа после форматирования

  • duration (int) – Длительность голосового сообщения в секундах

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.

  • parse_mode (str) – Режим форматирования подписи к голосовому сообщению. См. formatting options для получения подробностей.

  • disable_notification (bool) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.

  • reply_to_message_id (int) – deprecated.

  • allow_sending_without_reply (bool) – deprecated.

  • timeout (int) – Таймаут запроса в секундах.

  • caption_entities (list of telebot.types.MessageEntity) – Список отформатированных частей подписи в формате JSON, можно использовать вместо parse_mode

  • protect_content (bool) – Запретить пересылку и сохранение содержимого сообщения

  • message_thread_id (int) – id топика, в который нужно отправить сообщение

  • reply_parameters (telebot.types.ReplyParameters) – Reply parameters.

  • business_connection_id (str) – Identifier of a business connection, in which the message will be sent

Результат:

В случае успеха возвращает отправленное сообщение (Message).

set_chat_administrator_custom_title(chat_id: int | str, user_id: int, custom_title: str) bool

Используйте этот метод, чтобы задать кастомное звание администратора супергруппы, повышенного ботом. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#setchatadministratorcustomtitle

Параметры:
  • chat_id (int or str) – Уникальный id чата или username супергруппы (в формате @supergroupusername)

  • user_id (int) – Уникальный id сделавшего запрос пользователя

  • custom_title (str) – Новое кастомное звание администратора; 0-16 символов, эмодзи не разрешены

Результат:

True в случае успеха.

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

bool

set_chat_description(chat_id: int | str, description: str | None = None) bool

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

Документация Telegram: https://core.telegram.org/bots/api#setchatdescription

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • description (str) – Str: Новое описание чата, 0-255 символов

Результат:

True в случае успеха.

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

bool

set_chat_menu_button(chat_id: int | str = None, menu_button: MenuButton = None) bool

Используйте этот метод, чтобы изменить кнопку меню в приватном чате или кнопку меню по умолчанию. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#setchatmenubutton

Параметры:
  • chat_id (int or str) – Уникальный id приватного чата. Если не указан, будет изменена кнопка меню по умолчанию.

  • menu_button (telebot.types.MenuButton) – JSON-сериализованный объект новой кнопки меню. По умолчанию MenuButtonDefault

Результат:

True в случае успеха.

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

bool

set_chat_permissions(chat_id: int | str, permissions: ChatPermissions, use_independent_chat_permissions: bool | None = None) bool

Используйте этот метод, чтобы задать права по умолчанию для всех участников чата. Бот должен быть администратором группы или супергруппы и иметь права администратора can_restrict_members.

Документация Telegram: https://core.telegram.org/bots/api#setchatpermissions

Параметры:
  • chat_id (int or str) – Уникальный id чата или username супергруппы (в формате @supergroupusername)

  • permissions (telebot.types..ChatPermissions) – Новые права по умолчанию

  • use_independent_chat_permissions (bool) – Pass True if chat permissions are set independently. Otherwise, the can_send_other_messages and can_add_web_page_previews permissions will imply the can_send_messages, can_send_audios, can_send_documents, can_send_photos, can_send_videos, can_send_video_notes, and can_send_voice_notes permissions; the can_send_polls permission will imply the can_send_messages permission.

Результат:

True в случае успеха

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

bool

set_chat_photo(chat_id: int | str, photo: Any) bool

Используйте этот метод, чтобы задать новую аватарку чата. В приватных чатах аватарки менять нельзя. Бот должен быть администратором чата и иметь соответствующие права администратора. Возвращает True в случае успеха. Примечание: В обычных группах (не супергруппы), этот метод будет работать только если настройка ‘All Members Are Admins’ отключена.

Документация Telegram: https://core.telegram.org/bots/api#setchatphoto

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • photo (typing.Union[file_like, str]) – InputFile: Новая аватарка чата, загруженная с помощью multipart/form-data

Результат:

True в случае успеха.

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

bool

set_chat_sticker_set(chat_id: int | str, sticker_set_name: str) StickerSet

Используйте этот метод, чтобы задать стикерпак супергруппы. Бот должен быть администратором чата и иметь соответствующие права администратора. Используйте атрибут can_set_sticker_set, возвращаемые методом getChat, чтобы проверить, что бот может использовать этот метод. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#setchatstickerset

Параметры:
  • chat_id (int or str) – Уникальный id чата или username супергруппы (в формате @supergroupusername)

  • sticker_set_name (str) – Имя стикерпака для установки в качестве стикерпака группы

Результат:

Объект StickerSet

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

telebot.types.StickerSet

set_chat_title(chat_id: int | str, title: str) bool

Используйте этот метод, чтобы изменить название чата. В приватных чатах изменить название нельзя. Бот должен быть администратором чата и иметь соответствующие права админа. Возвращает True в случае успеха. Примечание: В обычных группах (не супергруппы), этот метод будет работать только если настройка ‘All Members Are Admins’ отключена.

Документация Telegram: https://core.telegram.org/bots/api#setchattitle

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • title (str) – Новое название чата, 1-255 символов

Результат:

True в случае успеха.

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

bool

set_custom_emoji_sticker_set_thumbnail(name: str, custom_emoji_id: str | None = None) bool

Use this method to set the thumbnail of a custom emoji sticker set. Returns True on success.

Параметры:
  • name (str) – Имя стикерпака

  • custom_emoji_id (str) – Custom emoji identifier of a sticker from the sticker set; pass an empty string to drop the thumbnail and use the first sticker as the thumbnail.

Результат:

Возвращает True в случае успеха.

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

bool

set_game_score(user_id: int | str, score: int, force: bool | None = None, chat_id: int | str | None = None, message_id: int | None = None, inline_message_id: str | None = None, disable_edit_message: bool | None = None) Message | bool

Задаёт количество очков пользователя в игре.

Документация Telegram: https://core.telegram.org/bots/api#setgamescore

Параметры:
  • user_id (int or str) – id пользователя

  • score (int) – Количество очков, должно быть неотрицательным

  • force (bool) – Передайте True, если количество очков могут быть уменьшено. Может быть полезно при исправлении ошибок или бане читеров

  • chat_id (int or str) – Обязательный, если не указан inline_message_id. Уникальный id чата или username канала (в формате @channelusername)

  • message_id (int) – Обязательный, если не указан inline_message_id. id отправленного сообщения

  • inline_message_id (str) – Обязательный, если не указаны chat_id и message_id. id inline сообщения

  • disable_edit_message (bool) – Передайте True, если сообщение с игрой должно быть автоматически отредактировано, чтобы отобразить новый результат

Результат:

В случае успеха, если сообщение было отправлено ботом, возвращает измененное сообщение (Message), иначе возвращает True.

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

types.Message or bool

set_message_reaction(chat_id: int | str, message_id: int, reaction: List[ReactionType] | None = None, is_big: bool | None = None) bool

Use this method to change the chosen reactions on a message. Service messages can’t be reacted to. Automatically forwarded messages from a channel to its discussion group have the same available reactions as messages in the channel. Returns True on success.

Telegram documentation: https://core.telegram.org/bots/api#setmessagereaction

Параметры:
  • chat_id (int or str) – Уникальный id чата или username супергруппы или канала (в формате @channelusername)

  • message_id (int) – Identifier of the message to set reaction to

  • reaction (list of telebot.types.ReactionType) – New list of reaction types to set on the message. Currently, as non-premium users, bots can set up to one reaction per message. A custom emoji reaction can be used if it is either already present on the message or explicitly allowed by chat administrators.

  • is_big (bool) – Pass True to set the reaction with a big animation

Результат:

bool

set_my_commands(commands: List[BotCommand], scope: BotCommandScope | None = None, language_code: str | None = None) bool

Используйте этот метод, чтобы изменить список команд бота.

Документация Telegram: https://core.telegram.org/bots/api#setmycommands

Параметры:
  • commands (list of telebot.types.BotCommand) – Список объектов BotCommand. Можно задать не более 100 команд.

  • scope (telebot.types.BotCommandScope) – Область видимости команд. По умолчанию BotCommandScopeDefault.

  • language_code (str) – Двухбуквенный языковой код в формате ISO 639-1. Если не задан, изменения коснутся команд для всех пользователей в заданном поле видимости, не имеющих команд на их языке

Результат:

True в случае успеха.

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

bool

set_my_default_administrator_rights(rights: ChatAdministratorRights = None, for_channels: bool | None = None) bool

Используйте этот метод, чтобы изменить права администратора по умолчанию, запрашиваемые при добавлении бота в группу или канал в качестве администратора. Эти права будут предложены пользователям, но пользователи могут изменить список перед добавлением бота. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#setmydefaultadministratorrights

Параметры:
  • rights (telebot.types.ChatAdministratorRights) – JSON-сериалиованный объект, описывающий новые права администратора по умолчанию. Если не указан, права администратора по умолчанию будут сброшены.

  • for_channels (bool) – Передайте True, чтобы изменить права администратора по умолчанию в каналах. Иначе, будут изменены права администратора по умолчанию для групп и супергрупп.

Результат:

True в случае успеха.

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

bool

set_my_description(description: str | None = None, language_code: str | None = None)

Use this method to change the bot’s description, which is shown in the chat with the bot if the chat is empty. Returns True on success.

Telegram documentation: https://core.telegram.org/bots/api#setmydescription

Параметры:
  • description (str) – New bot description; 0-512 characters. Pass an empty string to remove the dedicated description for the given language.

  • language_code (str) – A two-letter ISO 639-1 language code. If empty, the description will be applied to all users for whose language there is no dedicated description.

Результат:

True в случае успеха.

set_my_name(name: str | None = None, language_code: str | None = None)

Use this method to change the bot’s name. Returns True on success.

Telegram documentation: https://core.telegram.org/bots/api#setmyname

Параметры:
  • name (str) – Optional. New bot name; 0-64 characters. Pass an empty string to remove the dedicated name for the given language.

  • language_code (str) – Optional. A two-letter ISO 639-1 language code. If empty, the name will be shown to all users for whose language there is no dedicated name.

Результат:

True в случае успеха.

set_my_short_description(short_description: str | None = None, language_code: str | None = None)

Use this method to change the bot’s short description, which is shown on the bot’s profile page and is sent together with the link when users share the bot. Returns True on success.

Telegram documentation: https://core.telegram.org/bots/api#setmyshortdescription

Параметры:
  • short_description (str) – New short description for the bot; 0-120 characters. Pass an empty string to remove the dedicated short description for the given language.

  • language_code (str) – A two-letter ISO 639-1 language code. If empty, the short description will be applied to all users for whose language there is no dedicated short description.

Результат:

True в случае успеха.

set_state(user_id: int, state: int | str | State, chat_id: int | None = None) None

Задаёт новое состояние (стейт) пользователя.

Примечание

Вы должны указать и user id и chat id, чтобы задать состояние (стейт) пользователя в чате. Иначе, если вы укажете только user_id, chat_id будет равен user_id, что означает смену состояния (стейта) пользователя в его приватном чате с ботом.

Параметры:
  • user_id (int) – id пользователя

  • state (int or str or telebot.types.State) – новое состояние (стейт). может быть строкой, числом или telebot.types.State

  • chat_id (int) – id чата

Результат:

None

set_sticker_emoji_list(sticker: str, emoji_list: List[str]) bool

Use this method to set the emoji list of a custom emoji sticker set. Returns True on success.

Параметры:
  • sticker (str) – Sticker identifier

  • emoji_list (list of str) – List of emoji

Результат:

Возвращает True в случае успеха.

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

bool

set_sticker_keywords(sticker: str, keywords: List[str] = None) bool

Use this method to change search keywords assigned to a regular or custom emoji sticker. The sticker must belong to a sticker set created by the bot. Returns True on success.

Параметры:
  • sticker (str) – File identifier of the sticker.

  • keywords (list of str) – A JSON-serialized list of 0-20 search keywords for the sticker with total length of up to 64 characters

Результат:

В случае успеха возвращается True.

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

bool

set_sticker_mask_position(sticker: str, mask_position: MaskPosition = None) bool

Use this method to change the mask position of a mask sticker. The sticker must belong to a sticker set that was created by the bot. Returns True on success.

Параметры:
  • sticker (str) – File identifier of the sticker.

  • mask_position (telebot.types.MaskPosition) – A JSON-serialized object for position where the mask should be placed on faces.

Результат:

Возвращает True в случае успеха.

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

bool

set_sticker_position_in_set(sticker: str, position: int) bool

Используйте этот метод, чтобы передвинуть стикер в стикерпаке, созданном ботом, на заданную позицию. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#setstickerpositioninset

Параметры:
  • sticker (str) – id файла стикера

  • position (int) – Новая позиция стикера в стикерпаке, начиная с нуля

Результат:

В случае успеха возвращается True.

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

bool

set_sticker_set_thumb(**kwargs)
set_sticker_set_thumbnail(name: str, user_id: int, thumbnail: Any | str = None, format: str | None = None) bool

Используйте этот метод, чтобы задать обложку стикерпака. Анимированные обложки могут быть заданы только для анимированных стикерпаков. Возвращает True в случае успеха.

Telegram documentation: https://core.telegram.org/bots/api#setstickersetthumbnail

Параметры:
  • name (str) – Имя стикерпака

  • user_id (int) – id пользователя

  • thumbnail (filelike object) – A .WEBP or .PNG image with the thumbnail, must be up to 128 kilobytes in size and have a width and height of exactly 100px, or a .TGS animation with a thumbnail up to 32 kilobytes in size (see https://core.telegram.org/stickers#animated-sticker-requirements for animated sticker technical requirements), or a WEBM video with the thumbnail up to 32 kilobytes in size; see https://core.telegram.org/stickers#video-sticker-requirements for video sticker technical requirements. Pass a file_id as a String to send a file that already exists on the Telegram servers, pass an HTTP URL as a String for Telegram to get a file from the Internet, or upload a new one using multipart/form-data. More information on Sending Files ». Animated and video sticker set thumbnails can’t be uploaded via HTTP URL. If omitted, then the thumbnail is dropped and the first sticker is used as the thumbnail.

  • format (str) – Format of the thumbnail, must be one of “static” for a .WEBP or .PNG image, “animated” for a .TGS animation, or “video” for a WEBM video

Результат:

В случае успеха возвращается True.

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

bool

set_sticker_set_title(name: str, title: str) bool

Use this method to set the title of a created sticker set. Returns True on success.

Параметры:
  • name (str) – Имя стикерпака

  • title (str) – New sticker set title

Результат:

Возвращает True в случае успеха.

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

bool

set_update_listener(listener: Callable)

Задаёт функцию-листенер, которая будет вызвана при получении нового апдейта.

Параметры:

listener (Callable) – Функция-листенер.

set_webhook(url: str | None = None, certificate: str | Any | None = None, max_connections: int | None = None, allowed_updates: List[str] | None = None, ip_address: str | None = None, drop_pending_updates: bool | None = None, timeout: int | None = None, secret_token: str | None = None) bool

Используйте этот метод, чтобы задать URL и получать входящие апдейты с помощью вебхука. Как только у бота появляется апдейт, он будет отправлен с помощью HTTPS POST запроса на заданный URL, содержащего JSON-сериализованный Update. В случае неудачного запроса, отправка апдейта будет отменена после разумного числа попыток. Возвращает True в случае успеха.

Если вы хотите удостовериться, что вебхук был задан вами, вы можете задать секретный токен в параметре secret_token. Если указан, запрос с апдейтом будет содержать хедер “X-Telegram-Bot-Api-Secret-Token” с секретным токеном в качестве значения.

Документация Telegram: https://core.telegram.org/bots/api#setwebhook

Параметры:
  • url (str, optional) – HTTPS URL для отправки апдейтов. Используйте пустую строку, чтобы удалить вебхук, по умолчанию None

  • certificate (str, optional) – Загрузите публичный ключ вашего SSL сертификата, чтобы корневой сертификат мог быть проверен, по умолчанию None

  • max_connections (int, optional) – Максимально-допустимое количество одновременных HTTPS соединений для доставки апдейтов, 1-100. По умолчанию 40. Используйте меньшие значения для уменьшения нагрузки на ваш сервер и большие значения, чтобы увеличить пропускную способность вашего бота, по умолчанию None

  • allowed_updates (list, optional) – Список видов апдейтов, которые вы хотите получать, в формате JSON. Например, укажите [“message”, “edited_channel_post”, “callback_query”], чтобы получать апдейты только этих видов. Полный список доступных видов апдейтов - util.update_types. Укажите пустой список, чтобы получать все апдейты, кроме chat_member (по умолчанию). Если не задан, будет использована последняя настройка. Пожалуйста учтите, чтобы этот параметр не влияет на апдейты, отправленные до вызова setWebhooks, поэтому нежелательные апдейты могут быть получены в течение короткого периода времени. По умолчанию None

  • ip_address (str, optional) – Фиксированный IP адрес, который будет использоваться для отправки запросов к вебхуку вместо IP адреса, полученного через DNS, по умолчанию None

  • drop_pending_updates (bool, optional) – Передайте True, чтобы удалить все предшествующие запуску бота апдейты, по умолчанию None

  • timeout (int, optional) – Тайм-аут запроса, по умолчанию None

  • secret_token (str, optional) – Секретный токен для отправки в хедере “X-Telegram-Bot-Api-Secret-Token” в каждом запросе с апдейтом, 1-256 символов. Разрешены только символы A-Z, a-z, 0-9, _ и -. Хедер полезен для, того чтобы удостовериться, что запрос приходитс вебхука, установленного вами. По умолчанию None

Результат:

True в случае успеха.

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

bool если запрос был успешным.

setup_middleware(middleware: BaseMiddleware)

Регистрирует класс-middleware

Параметры:

middleware (telebot.handler_backends.BaseMiddleware) – Наследник класса telebot.handler_backends.BaseMiddleware

Результат:

None

shipping_query_handler(func, **kwargs)

Обрабатывает shipping query. Только для инвойсов с гибкой ценой. В качестве параметра передаёт в декорируемую функцию объект telebot.types.ShippingQuery.

Параметры:
  • func (function) – Функция, используемая в качестве фильтра

  • kwargs – Необязательные именованные аргументы(кастомные фильтры)

Результат:

None

stop_bot()

Останавливает работу бота и закрывает рабочий пул.

stop_message_live_location(chat_id: int | str | None = None, message_id: int | None = None, inline_message_id: str | None = None, reply_markup: InlineKeyboardMarkup | None = None, timeout: int | None = None) Message

Используйте этот метод, чтобы остановить обновление live местоположения до истечения live_period. В случае успеха, если сообщение не является inline сообщением,возвращается измененное сообщение (Message), иначе возвращается True.

Документация Telegram: https://core.telegram.org/bots/api#stopmessagelivelocation

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • message_id (int) – Обязательный, если не указан inline_message_id. id сообщения live местоположением, которое нужно остановить

  • inline_message_id (str) – Обязательный, если не указаны chat_id и message_id. id inline сообщения с live местоположением, которое нужно остановить

  • reply_markup (telebot.types.InlineKeyboardMarkup or telebot.types.ReplyKeyboardMarkup or telebot.types.ReplyKeyboardRemove or telebot.types.ForceReply) – JSON-сериализованный объект новой inline клавиатуры.

  • timeout (int) – Таймаут запроса в секундах.

Результат:

В случае успеха, если сообщение не является inline сообщением, возвращается измененное сообщение (Message), иначе возвращается True.

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

telebot.types.Message or bool

stop_poll(chat_id: int | str, message_id: int, reply_markup: InlineKeyboardMarkup | None = None) Poll

Используйте этот метод, чтобы завершить опрос, отправленный ботом. В случае успеха возвращается завершенный опрос (Poll).

Документация Telegram: https://core.telegram.org/bots/api#stoppoll

Параметры:
  • chat_id (int | str) – Уникальный id чата или username канала

  • message_id (int) – id сообщения с опросом

  • reply_markup (InlineKeyboardMarkup) – JSON-сериализованный объект новой inline клавиатуры.

Результат:

В случае успеха возвращается завершенный опрос (Poll).

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

types.Poll

stop_polling()

Останавливает поллинг.

Не принимает никаких аргументов.

unban_chat_member(chat_id: int | str, user_id: int, only_if_banned: bool | None = False) bool

Используйте этот метод, чтобы разбанить ранее кикнутого пользователя в супергруппе или канале. Пользовать не вернется в группу или канал автоматически, но сможет присоединиться с помощью ссылки и т.д. Бот должен быть администратором. По умолчанию, этот метод гарантирует, что после вызова, пользователь не является участником чата, но может присоединиться. Поэтому если пользовать является участником чата, он будет кикнут, но не забанен. Если вы хотите изменить это поведение, используйте параметр only_if_banned.

Документация Telegram: https://core.telegram.org/bots/api#unbanchatmember

Параметры:
  • chat_id (int or str) – Уникальный id группы или username супергруппы или канала (в формате @username)

  • user_id (int) – Уникальный id сделавшего запрос пользователя

  • only_if_banned (bool) – Ничего не делать, если пользователь не забанен

Результат:

True в случае успеха

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

bool

unban_chat_sender_chat(chat_id: int | str, sender_chat_id: int | str) bool

Используйте этот метод, чтобы разбанить ране забаненный канал в супергруппе или канала. Бот должен быть администратором и иметь соответствующие права администратора. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#unbanchatsenderchat

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • sender_chat_id (int or str) – Уникальный id чата.

Результат:

True в случае успеха.

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

bool

unhide_general_forum_topic(chat_id: int | str) bool

Используйте этот метод, чтобы сделать топик „General“ видимым в супергруппе с топиками. Бот должен быть администратором чата и иметь права администратора can_manage_topics. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#unhidegeneralforumtopic

Параметры:

chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

unpin_all_chat_messages(chat_id: int | str) bool

Используйте этот метод, что открепить все закрепленные сообщения в супергруппе. Бот должен быть администратором чата и иметь соответствующие права администратора. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#unpinallchatmessages

Параметры:

chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

Результат:

True в случае успеха.

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

bool

unpin_all_forum_topic_messages(chat_id: str | int, message_thread_id: int) bool

Используйте этот метод, что открепить все закрепленные сообщения в топике. Бот должен быть администратором чата и иметь права администратора can_pin_messages в супергруппе. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#unpinallforumtopicmessages

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • message_thread_id (int) – id топика

Результат:

В случае успеха возвращается True.

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

bool

unpin_all_general_forum_topic_messages(chat_id: int | str) bool

Use this method to clear the list of pinned messages in a General forum topic. The bot must be an administrator in the chat for this to work and must have the can_pin_messages administrator right in the supergroup. Returns True on success.

Telegram documentation: https://core.telegram.org/bots/api#unpinAllGeneralForumTopicMessages

Параметры:

chat_id (int | str) – Unique identifier for the target chat or username of chat

Результат:

В случае успеха возвращается True.

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

bool

unpin_chat_message(chat_id: int | str, message_id: int | None = None) bool

Используйте этот метод, что открепить закрепленное сообщение в супергруппе. Бот должен быть администратором чата и иметь соответствующие права администратора. Возвращает True в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#unpinchatmessage

Параметры:
  • chat_id (int or str) – Уникальный id чата или username канала (в формате @channelusername)

  • message_id (int) – Int: id сообщения, которое нужно открепить

Результат:

True в случае успеха.

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

bool

upload_sticker_file(user_id: int, png_sticker: Any | str = None, sticker: InputFile | None = None, sticker_format: str | None = None) File

Используйте этот метод, чтобы загрузить .png стикер, чтобы позже использовать в методах createNewStickerSet и addStickerToSet (может быть использован несколько раз). Возвращает загруженный файл (File) в случае успеха.

Документация Telegram: https://core.telegram.org/bots/api#uploadstickerfile

Параметры:
  • user_id (int) – id пользователя, создавшего стикерпак

  • png_sticker (filelike object) – DEPRECATED: PNG image with the sticker, must be up to 512 kilobytes in size, dimensions must not exceed 512px, and either width or height must be exactly 512px.

  • sticker (telebot.types.InputFile) – A file with the sticker in .WEBP, .PNG, .TGS, or .WEBM format. See https://core.telegram.org/stickers for technical requirements. More information on Sending Files »

  • sticker_format (str) – One of «static», «animated», «video».

Результат:

В случае успеха возвращается отправленный файл.

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

telebot.types.File

property user: User

Объект User, описывающий бота. Эквивалент bot.get_me(), но результат кэшируется, поэтому нужен всего один запрос к API.

Результат:

Информация о боте

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

telebot.types.User

Файл custom_filters

class telebot.custom_filters.AdvancedCustomFilter

Базовые классы: ABC

Базовый класс Advanced Custom Filter. Создайте класс наследник с методом check(). Принимает два параметра, возвращает bool: True - фильтр пройден, False - фильтр не пройден. message: класс Message text: значение фильтра, полученное в хендлере

Классы наследники должны иметь статический атрибут (property) .key

Пример создания advanced custom filter.
class TextStartsFilter(AdvancedCustomFilter):
    # Filter to check whether message starts with some text.
    key = 'text_startswith'

    def check(self, message, text):
        return message.text.startswith(text)
check(message, text)

Выполнить проверку.

key: str = None
class telebot.custom_filters.ChatFilter

Базовые классы: AdvancedCustomFilter

Проверяет, является ли chat_id заданным.

Пример использования этого фильтра:
@bot.message_handler(chat_id=[99999])
# your function
key: str = 'chat_id'
class telebot.custom_filters.ForwardFilter

Базовые классы: SimpleCustomFilter

Проверяет, является ли сообщение пересланным из канала или группы.

Пример использования этого фильтра:
@bot.message_handler(is_forwarded=True)
# your function
key: str = 'is_forwarded'
class telebot.custom_filters.IsAdminFilter(bot)

Базовые классы: SimpleCustomFilter

Проверяет, является ли пользователь администратором / владельцем чата.

Пример использования этого фильтра:
@bot.message_handler(chat_types=['supergroup'], is_chat_admin=True)
# your function
key: str = 'is_chat_admin'
class telebot.custom_filters.IsDigitFilter

Базовые классы: SimpleCustomFilter

Фильтр для проверки, состоит ли строка только из цифр.

Пример использования этого фильтра:
@bot.message_handler(is_digit=True)
# your function
key: str = 'is_digit'
class telebot.custom_filters.IsReplyFilter

Базовые классы: SimpleCustomFilter

Проверяет, является ли сообщение ответом (reply).

Пример использования этого фильтра:
@bot.message_handler(is_reply=True)
# your function
key: str = 'is_reply'
class telebot.custom_filters.LanguageFilter

Базовые классы: AdvancedCustomFilter

Проверяет language_code пользователя.

Пример использования этого фильтра:
@bot.message_handler(language_code=['ru'])
# your function
key: str = 'language_code'
class telebot.custom_filters.SimpleCustomFilter

Базовые классы: ABC

Базовый класс Simple Custom Filter. Создайте класс наследник с методом check(). Принимает только сообщение, возвращает bool, который сравнивается с заданным в хендлере.

Классы наследники должны иметь статический атрибут (property) .key

Пример создания simple custom filter.
class ForwardFilter(SimpleCustomFilter):
    # Check whether message was forwarded from channel or group.
    key = 'is_forwarded'

    def check(self, message):
        return message.forward_date is not None
check(message)

Выполнить проверку.

key: str = None
class telebot.custom_filters.StateFilter(bot)

Базовые классы: AdvancedCustomFilter

Фильтр для проверки состояния (стейта).

Пример использования этого фильтра:
@bot.message_handler(state=1)
# your function
key: str = 'state'
class telebot.custom_filters.TextContainsFilter

Базовые классы: AdvancedCustomFilter

Фильтр для проверки текста сообщения. key: text

Пример использования этого фильтра:
# Will respond if any message.text contains word 'account'
@bot.message_handler(text_contains=['account'])
# your function
key: str = 'text_contains'
class telebot.custom_filters.TextFilter(equals: str | None = None, contains: list | tuple | None = None, starts_with: str | list | tuple | None = None, ends_with: str | list | tuple | None = None, ignore_case: bool = False)

Базовые классы: object

Advanced текстовый фильтр для проверки (types.Message, types.CallbackQuery, types.InlineQuery, types.Poll)

пример использования в examples/custom_filters/advanced_text_filter.py

Параметры:
  • equals (str) – строка, True если текст объекта идентичен заданной строке

  • contains (list[str] or tuple[str]) – list[str] или tuple[str], True если хотя бы один из элементов есть в тексте

  • starts_with (str) – string, True если текст объекта начинается с заданной строки

  • ends_with (str) – string, True если текст объекта начинается с заданной строки

  • ignore_case (bool) – bool (по умолчанию False), независимый от регистра

Исключение:

ValueError – если было задано некорректное значение параметра

Результат:

None

class telebot.custom_filters.TextMatchFilter

Базовые классы: AdvancedCustomFilter

Фильтр для проверки текста сообщения.

Пример использования этого фильтра:
@bot.message_handler(text=['account'])
# your function
key: str = 'text'
class telebot.custom_filters.TextStartsFilter

Базовые классы: AdvancedCustomFilter

Фильтр для проверки, начинается ли сообщение с заданного текста.

Пример использования этого фильтра:
# Will work if message.text starts with 'sir'.
@bot.message_handler(text_startswith='sir')
# your function
key: str = 'text_startswith'

Файл handler_backends

class telebot.handler_backends.BaseMiddleware

Базовые классы: object

Базовый класс для middleware. Ваши middleware должны быть унаследованы от этого класса.

Задайте update_sensitive=True если хотите получать разные апдейты в разных функциях. Например, если вы хотите обрабатывать pre_process для апдейтов вида message, вам нужно будет создать функцию pre_process_message и т.д. Аналогично для post_process.

Примечание

Если вы хотите использовать middleware, вам нужно задать use_class_middlewares=True в экземпляре класса TeleBot.

Пример класса middleware.
class MyMiddleware(BaseMiddleware):
    def __init__(self):
        self.update_sensitive = True
        self.update_types = ['message', 'edited_message']

    def pre_process_message(self, message, data):
        # only message update here
        pass

    def post_process_message(self, message, data, exception):
        pass # only message update here for post_process

    def pre_process_edited_message(self, message, data):
        # only edited_message update here
        pass

    def post_process_edited_message(self, message, data, exception):
        pass # only edited_message update here for post_process
post_process(message, data, exception)
pre_process(message, data)
update_sensitive: bool = False
class telebot.handler_backends.CancelUpdate

Базовые классы: object

Класс для отмены апдейтов. Просто верните экземпляр этого класса в middleware, чтобы пропустить апдейт. Апдейт пропустит хендлер и исполнение post_process в middleware.

class telebot.handler_backends.ContinueHandling

Базовые классы: object

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

Пример использования ContinueHandling
@bot.message_handler(commands=['start'])
def start(message):
    bot.send_message(message.chat.id, 'Hello World!')
    return ContinueHandling()

@bot.message_handler(commands=['start'])
def start2(message):
    bot.send_message(message.chat.id, 'Hello World2!')
class telebot.handler_backends.SkipHandler

Базовые классы: object

Класс для пропуска хендлеров. Просто верните экземпляр этого класса в middleware, чтобы пропустить хендлер. Апдейт попадёт в post_process, но пропустит исполнение хендлера.

class telebot.handler_backends.State

Базовые классы: object

Класс, представляющий состояние (стейт).

class MyStates(StatesGroup):
    my_state = State() # returns my_state:State string.
class telebot.handler_backends.StatesGroup

Базовые классы: object

Класс, представляющий похожие состояния (стейты).

class MyStates(StatesGroup):
    my_state = State() # returns my_state:State string.
classmethod state_list()

Расширения