Синхронный 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
Это основной класс для синхронного бота.
Позволяет добавить хендлеры для различных апдейтов.
Использование:
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
) – Токен бота, нужно получить от @BotFatherparse_mode (
str
, optional) – Глобальный parse_mode, по умолчанию Nonethreaded (
bool
, optional) – Использовать несколько потоков, по умолчанию Trueskip_pending (
bool
, optional) – Игнорировать апдейты, полученные до запуска, по умолчанию Falsenum_threads (
int
, optional) – Максимальное количество одновременно запущенных потоков, по умолчанию 2next_step_backend (
telebot.handler_backends.HandlerBackend
, optional) – Класс для сохранения next step хендлеров, по умолчанию Nonereply_backend (
telebot.handler_backends.HandlerBackend
, optional) – Класс для сохранения reply хендлеров, по умолчанию Noneexception_handler (
telebot.ExceptionHandler
, optional) – Класс для обработки исключений, по умолчанию Nonelast_update_id (
int
, optional) – id последнего полученного апдейта, по умолчанию 0suppress_middleware_excepions (
bool
, optional) – Игнорировать исключения, вызванные Middleware, по умолчанию Falsestate_storage (
telebot.storage.StateStorageBase
, optional) – Хранилище состояний (стейтов), по умолчанию StateMemoryStorage()use_class_middlewares (
bool
, optional) – Использовать Middlewares, по умолчанию Falsedisable_web_page_preview (
bool
, optional) – Глобальное значение disable_web_page_preview, по умолчанию Nonedisable_notification (
bool
, optional) – Глобальное значение disable_notification, по умолчанию Noneprotect_content (
bool
, optional) – Глобальное значение protect_content, по умолчанию Noneallow_sending_without_reply (
bool
, optional) – Глобальное значение allow_sending_without_reply, по умолчанию Nonecolorful_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
orfilelike object
) – Изображение стикера в формате PNG, весом не более 512 килобайт, размеры не должны превышать 512px, либо ширина, либо высота должны быть ровно 512px. Передайте file_id в формате str, чтобы отправить уже загруженный на сервера Telegram файл, передайте HTTP URL в формате str, чтобы Telegram скачал файл из интернета, или загрузите новый файл с помощью multipart/form-data.tgs_sticker (
str
orfilelike object
) – Анимированный стикер в формате TGS, загруженный с помощью multipart/form-data.webm_sticker (
str
orfilelike object
) – Анимированный стикер в формате WebM, загруженный с помощью multipart/form-data.mask_position (
telebot.types.MaskPosition
) – Позиция для размещения маски на лицах в формате JSONsticker (
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
oftypes.InlineQueryResult
) – Массив результатов для ответа на inline querycache_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
ofShippingOption
) – Обязательный в случае, когда 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.
- Тип результата:
- 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
orstr
) – Уникальный id чата или username супергруппы (в формате @supergroupusername)user_id (
int
orstr
) – Уникальный 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
orstr
) – Уникальный id группы или username супергруппы или канала (в формате @channelusername)user_id (
int
) – Уникальный id сделавшего запрос пользователяuntil_date (
int
ordatetime
) – Дата, когда пользователь будет разблокирован, в формате 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)sender_chat_id (
int
orstr
) – Уникальный 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.Пример:
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
ofstr
) – Необязательный список строк - команд для обработки.regexp (
str
) – Необязательное регулярное выражение.func (
lambda
) – Необязательная lambda функция. Получает сообщение (объект Message) в качестве первого параметра. Функция должна вернуть True если хендлер должен обработать сообщение.content_types (
list
ofstr
) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„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
ofstr
) – Необязательный список строк - команд для обработки.regexp (
str
) – Необязательное регулярное выражение.func (
function
) – Функция, используемая в качестве фильтраcontent_types (
list
ofstr
) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„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
orstr
) – Чат, в котором мы хотим очистить список 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
orstr
) – Уникальный 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)from_chat_id (
int
orstr
) – Уникальный id чата, в который было отправлено исходное сообщение (или username канала в формате @channelusername)message_id (
int
) – id сообщения в чате, заданном в from_chat_idcaption (
str
) – Новая подпись для медиа, 0-1024 символа после форматирования. Если не задано, используется исходная подписьparse_mode (
str
) – Режим форматирования новой подписи.caption_entities (Array of
telebot.types.MessageEntity
) – Список отформатированных частей новой подписи в формате JSON, можно использовать вместо parse_modedisable_notification (
bool
) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.protect_content (
bool
) – Запретить пересылку и сохранение содержимого сообщенияreply_to_message_id (
int
) – deprecated.allow_sending_without_reply (
bool
) – deprecated.reply_markup (
telebot.types.InlineKeyboardMarkup
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.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.
- Тип результата:
- 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)from_chat_id (
int
orstr
) – Уникальный id чата, в который было отправлено исходное сообщение (или username канала в формате @channelusername)message_ids (
list
ofint
) – Message identifiers in the chat specified in from_chat_iddisable_notification (
bool
) – Отправить сообщение, при получении которого пользователи получат уведомление без звукаmessage_thread_id (
int
) – Identifier of a message thread, in which the messages will be sentprotect_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
oftelebot.types.MessageID
- create_chat_invite_link(chat_id: int | str, name: str | None = None, expire_date: int | datetime | None = None, member_limit: int | None = None, creates_join_request: bool | None = None) ChatInviteLink ¶
Используйте этот метод, чтобы создать дополнительную ссылку-приглашение в чат. Бот должен быть администратором чата и иметь соответствующие права администратора. Ссылка может быть аннулирована методом revokeChatInviteLink. Возвращает новую ссылку-приглашение (ChatInviteLink).
Документация Telegram: https://core.telegram.org/bots/api#createchatinvitelink
- Параметры:
chat_id (
int
orstr
) – Уникальный id чата или username канала (в формате @channelusername)name (
str
) – Название ссылки-приглашения; 0-32 символаexpire_date (
int
ordatetime
) – Время, когда ссылка будет аннулирована в формате Unix timestampmember_limit (
int
) – Максимальное количество пользователей в чатеcreates_join_request (
bool
) – True, если пользователи, использующие эту ссылку должны быть одобрены администраторами чата. Нельзя использовать True вместе с member_limit
- Результат:
Возвращает новую ссылку-приглашение (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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)name (
str
) – Имя топика, 1-128 символовicon_color (
int
) – Цвет иконки топика в формате RGB. В текущий момент, доступны цвета 0x6FB9F0, 0xFFD67E, 0xCB86DB, 0x8EEE98, 0xFF93B2, or 0xFB6F5Ficon_custom_emoji_id (
str
) – Кастомный эмодзи для использования в качестве иконки топика. Должно быть “tgs” эмодзи и быть ровно 1 символом
- Результат:
В случае успеха возвращается информация о созданном топике (ForumTopic).
- Тип результата:
- create_invoice_link(title: str, description: str, payload: str, provider_token: str, currency: str, prices: List[LabeledPrice], max_tip_amount: int | None = None, suggested_tip_amounts: List[int] | None = None, provider_data: 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) str ¶
используйте этот метод, чтобы создать ссылку-инвойс. Возвращает созданную ссылку в случае успеха (String).
Документация Telegram: https://core.telegram.org/bots/api#createinvoicelink
- Параметры:
title (
str
) – Название товара, 1-32 символаdescription (
str
) – Описание товара, 1-255 символовpayload (
str
) – Дополнительные данные, 1-128 байт. Не будет показано пользователю, используйте во внутренних процессах.provider_token (
str
) – Токен платежной системы, полученный через @BotFathercurrency (
str
) – Трехбуквенный код валюты в формате ISO 4217, см. https://core.telegram.org/bots/payments#supported-currenciesprices (
list
oftypes.LabeledPrice
) – Детали цены, список компонент (например цена продукта, налог, скидка, стоимость доставки, налог на доставку, бонус и т.д.)max_tip_amount (
int
) – Максимальный размер чаевых в наименьших единицах выбранной валютыsuggested_tip_amounts (
list
ofint
) – Массив предлагаемых вариантов чаевых в наименьших единицах выбранной валюты в формате 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
) – Позиция для размещения маски на лицах в формате JSONneeds_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 onlystickers (
list
oftelebot.types.InputSticker
) – List of stickers to be added to the setsticker_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
orstr
) – Уникальный id чата или username супергруппы (в формате @supergroupusername)user_id (
int
orstr
) – Уникальный 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
orstr
) – Уникальный 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
orstr
) – Уникальный 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
orstr
) – Уникальный 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
orstr
) – Уникальный 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)message_ids (
list
ofint
) – 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
- edit_chat_invite_link(chat_id: int | str, invite_link: str | None = None, name: str | None = None, expire_date: int | datetime | None = None, member_limit: int | None = None, creates_join_request: bool | None = None) ChatInviteLink ¶
Используйте этот метод, чтобы изменить неосновную ссылку-приглашение, созданную ботом. Бот должен быть администратором чата и иметь соответствующие права администратора.
Документация Telegram: https://core.telegram.org/bots/api#editchatinvitelink
- Параметры:
chat_id (
int
orstr
) – Уникальный id чата или username канала (в формате @channelusername)name (
str
) – Название ссылки-приглашения; 0-32 символаinvite_link (
str
) – Ссылка-приглашение для измененияexpire_date (
int
ordatetime
) – Время, когда ссылка будет аннулирована в формате Unix timestampmember_limit (
int
) – Максимальное количество пользователей в чатеcreates_join_request (
bool
) – True, если пользователи, использующие эту ссылку должны быть одобрены администраторами чата. Нельзя использовать True вместе с member_limit
- Результат:
Возвращает новую ссылку-приглашение (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
orstr
) – Уникальный 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)name (
str
) – Название товара, 1-32 символа
Используйте этот метод, чтобы изменить подписи к медиа в сообщениях
Документация 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
oftypes.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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)message_id (
int
) – Обязательный, если не указан inline_message_id. id сообщения, которое нужно изменитьreply_markup (
telebot.types.InlineKeyboardMarkup
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.types.ForceReply
) – JSON-сериализованный объект новой inline клавиатуры.timeout (
int
) – Таймаут запроса в секундах.inline_message_id (
str
) – Обязательный, если не указаны chat_id и message_id. id inline сообщенияhorizontal_accuracy (
float
) – Радиус погрешности местоположения, измеряется в метрах; 0-1500heading (
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
orstr
) – Обязательный, если не указан 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
orReplyKeyboardMarkup
orReplyKeyboardRemove
orForceReply
) – JSON-сериализованный объект inline клавиатуры.
- Результат:
В случае успеха если изменённое сообщение отправлено ботом, возвращается новый объект Message, иначе (inline сообщения) возвращается True.
- Тип результата:
types.Message
orbool
- 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
orstr
) – Обязательный, если не указан 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
orReplyKeyboardMarkup
orReplyKeyboardRemove
orForceReply
) – JSON-сериализованный объект inline клавиатуры.
- Результат:
В случае успеха если изменённое сообщение отправлено ботом, возвращается новый объект Message, иначе (inline сообщения) возвращается True.
- Тип результата:
types.Message
orbool
- 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
orstr
) – Обязательный, если не указан 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_modedisable_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
orbool
- 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
ofstr
) – Необязательный список строк - команд для обработки.regexp (
str
) – Необязательное регулярное выражение.func (
function
) – Функция, используемая в качестве фильтраcontent_types (
list
ofstr
) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]kwargs – Необязательные именованные аргументы(кастомные фильтры)
- Результат:
None
- edited_channel_post_handler(commands=None, regexp=None, func=None, content_types=None, **kwargs)¶
Обрабатывает новую версию поста в канале, который доступен боту и был изменён. В качестве параметра, передаёт в декорируемую функцию объект
telebot.types.Message
.- Параметры:
commands (
list
ofstr
) – Необязательный список строк - команд для обработки.regexp (
str
) – Необязательное регулярное выражение.func (
function
) – Функция, используемая в качестве фильтраcontent_types (
list
ofstr
) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]kwargs – Необязательные именованные аргументы(кастомные фильтры)
- Результат:
- edited_message_handler(commands=None, regexp=None, func=None, content_types=None, chat_types=None, **kwargs)¶
Обрабатывает новую версию сообщения, которое доступно боту и было изменено. В качестве параметра, передаёт в декорируемую функцию объект
telebot.types.Message
.- Параметры:
commands (
list
ofstr
) – Необязательный список строк - команд для обработки.regexp (
str
) – Необязательное регулярное выражение.func (
function
) – Функция, используемая в качестве фильтраcontent_types (
list
ofstr
) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]chat_types (
list
ofstr
) – список видов чатов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) – Задержка между изменениями в хендлерах и сохранении, по умолчанию 120filename (
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) – Задержка между изменениями в хендлерах и сохранении, по умолчанию 120filename (
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»
- export_chat_invite_link(chat_id: int | str) str ¶
Используйте этот метод, чтобы создать или заменить главную ссылку-приглашение в супергруппу или канал, созданную ботом. Бот должен быть администратором чата и иметь соответствующие права администратора.
Документация Telegram: https://core.telegram.org/bots/api#exportchatinvitelink
- Параметры:
chat_id (
int
orstr
) – Уникальный 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)from_chat_id (
int
orstr
) – Уникальный id чата, в который было отправлено исходное сообщение (или username канала в формате @channelusername)message_id (
int
) – id сообщения в чате, заданном в from_chat_idprotect_content (
bool
) – Запретить пересылку и сохранение содержимого пересланного сообщенияtimeout (
int
) – Таймаут запроса в секундах.message_thread_id (
int
) – id топика, в который нужно отправить сообщение
- Результат:
В случае успеха возвращает отправленное сообщение (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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)from_chat_id (
int
orstr
) – Уникальный id чата, в который было отправлено исходное сообщение (или username канала в формате @channelusername)message_ids (
list
) – Message identifiers in the chat specified in from_chat_iddisable_notification (
bool
) – Отправить сообщение, при получении которого пользователи получат уведомление без звукаmessage_thread_id (
int
) – Identifier of a message thread, in which the messages will be sentprotect_content (
bool
) – Запретить пересылку и сохранение содержимого пересланного сообщения
- Результат:
В случае успеха возвращает отправленное сообщение (Message).
- Тип результата:
- 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.
- Тип результата:
- get_chat(chat_id: int | str) Chat ¶
Используйте этот метод, чтобы получить актуальную информацию о чате (текущее имя пользователя для персональных диалогов, текущий username пользователя, группы или канала и т.д.). В случае успеха возвращает объект Chat.
Документация Telegram: https://core.telegram.org/bots/api#getchat
- Параметры:
chat_id (
int
orstr
) – Уникальный id чата или username супергруппы или канала (в формате @channelusername)- Результат:
Информация о чате
- Тип результата:
- 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
oftelebot.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
orstr
) – Уникальный id чата или username супергруппы (в формате @supergroupusername)user_id (
int
) – Уникальный id сделавшего запрос пользователя
- Результат:
Возвращает объект ChatMember в случае успеха.
- Тип результата:
- get_chat_member_count(chat_id: int | str) int ¶
Используйте этот метод, чтобы получить количество участников чата.
Документация Telegram: https://core.telegram.org/bots/api#getchatmembercount
- Параметры:
chat_id (
int
orstr
) – Уникальный id чата или username супергруппы или канала (в формате @channelusername)- Результат:
Количество участников чата.
- Тип результата:
int
- get_chat_members_count(**kwargs)¶
Используйте этот метод, чтобы получить текущее значение кнопки menu в приватном чате, или кнопку menu по умолчанию. Возвращает MenuButton в случае успеха.
Документация Telegram: https://core.telegram.org/bots/api#getchatmenubutton
- Параметры:
chat_id (
int
orstr
) – Уникальный id приватного чата. Если не указан, будет возвращена кнопка menu по умолчанию.- Результат:
types.MenuButton
- Тип результата:
- get_custom_emoji_stickers(custom_emoji_ids: List[str]) List[Sticker] ¶
Используйте этот метод, чтобы получить информацию о кастомных эмодзи по их id. Возвращает массив объектов Sticker.
- Параметры:
custom_emoji_ids (
list
ofstr
) – Список id кастомных эмодзи. Можно указать не более 200 id.- Результат:
Возвращает массив объектов Sticker.
- Тип результата:
list
oftelebot.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 файла- Результат:
- 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
orstr
) – Обязательный, если не указан 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
oftelebot.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 в случае успеха.
- Тип результата:
- 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- Результат:
- 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- Результат:
- 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- Результат:
- get_state(user_id: int, chat_id: int | None = None) int | str | State | None ¶
Получает текущее состояние (стейт) пользователя. Не рекомендуется использовать этот метод. Но это удобно для дебага.
- Параметры:
user_id (
int
) – id пользователяchat_id (
int
) – id чата
- Результат:
состояние (стейт) пользователя
- Тип результата:
int
orstr
ortelebot.types.State
- get_sticker_set(name: str) StickerSet ¶
Используйте этот метод, чтобы получить стикерпак. В случае успеха возвращается объект StickerSet.
Документация Telegram: https://core.telegram.org/bots/api#getstickerset
- Параметры:
name (
str
) – Имя стикерпака- Результат:
В случае успеха возвращается объект 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
oftelebot.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.
- Тип результата:
- 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.
- Результат:
- Тип результата:
- get_webhook_info(timeout: int | None = None) WebhookInfo ¶
Используйте этот метод, чтобы получить текущий статус вебхука. Не требует параметров. В случае успеха возвращает объект WebhookInfo. Если бот использует getUpdates, вернёт объект с пустым атрибутом url.
Документация Telegram: https://core.telegram.org/bots/api#getwebhookinfo
- Параметры:
timeout (
int
, optional) – Тайм-аут запроса- Результат:
В случае успеха возвращает объект 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
orstr
) – Уникальный 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
ofstr
) – Список видов апдейтов, которые вы хотите получать. Например, укажите [“message”, “edited_channel_post”, “callback_query”], чтобы получать апдейты только этих видов. Полный список доступных видов апдейтов - util.update_types. Укажите пустой список, чтобы получать все апдейты, кроме chat_member (по умолчанию). Если не задан, будет использована последняя настройка. Пожалуйста учитывайте, что этот параметр не влияет на апдейты, отправленные до вызова get_updates, поэтому нежелательные апдейты могут быть получены в течение короткого периода времени.restart_on_change (
bool
) – Перезапуск при изменении файлов. По умолчанию Falsepath_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
orstr
) – Уникальный 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
. Все хендлеры сообщений проверяются в том порядке, в котором были добавлены.Пример:
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
ofstr
) – Необязательный список строк - команд для обработки.regexp (
str
) – Необязательное регулярное выражение.func (
lambda
) – Необязательная lambda функция. Получает сообщение (объект Message) в качестве первого параметра. Функция должна вернуть True если хендлер должен обработать сообщение.content_types (
list
ofstr
) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]chat_types (
list
ofstr
) – список видов чатов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 перед обработкой апдейтов, будьте аккуратны и проверяйте вид апдейта внутри функции если возможны апдейты разных видов
Пример:
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
ofstr
) – Необязательный список видов апдейтов, которые будут обработаны этим 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
orstr
) – Уникальный 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
ofstr
) – Список видов апдейтов, которые вы хотите получать. Например, укажите [“message”, “edited_channel_post”, “callback_query”], чтобы получать апдейты только этих видов. Полный список доступных видов апдейтов - util.update_types. Укажите пустой список, чтобы получать все апдейты, кроме chat_member (по умолчанию). Если не задан, будет использована последняя настройка. Пожалуйста учитывайте, что этот параметр не влияет на апдейты, отправленные до вызова get_updates, поэтому нежелательные апдейты могут быть получены в течение короткого периода времени.none_stop (
bool
) – deprecated.restart_on_change (
bool
) – Перезапуск при изменении файлов. По умолчанию Falsepath_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
oftelebot.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
orstr
) – Уникальный 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 storiescan_edit_stories (
bool
) – Pass True if the administrator can edit the channel’s storiescan_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
ofstr
) – список командregexp (
str
) – Регулярное выражениеfunc (
function
) – Функция, используемая в качестве фильтраcontent_types (
list
ofstr
) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„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
ofstr
) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]commands (
list
ofstr
) – список команд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
ofstr
) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]commands (
list
ofstr
) – список команд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
ofstr
) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]commands (
list
ofstr
) – список команд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
ofstr
) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]commands (
list
ofstr
) – список команд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
ofstr
) – Обрабатываемые виды контента. Обязан быть списком. По умолчанию [„text“]commands (
list
ofstr
) – список командregexp (
str
) – Регулярное выражениеfunc (
function
) – Функция, используемая в качестве фильтраchat_types (
list
ofstr
) – Список видов чатов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
ofstr
) – Необязательный список видов апдейтов, которые будут обработаны этим 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
orstr
) – Уникальный 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
orstr
) – Уникальный 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 ownername (
str
) – Имя стикерпакаold_sticker (
str
) – File identifier of the replaced stickersticker (
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 (
types.Message
) – Экземпляр классаtelebot.types.Message
text (
str
) – Текст сообщения.kwargs – Дополнительные именованные аргументы, передаваемые в
telebot.TeleBot.send_message()
- Результат:
В случае успеха возвращает отправленное сообщение (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
orstr
) – Уникальный id группы или username супергруппы или канала (в формате @channelusername)user_id (
int
) – Уникальный id сделавшего запрос пользователяuntil_date (
int
ordatetime
, optional) – Дата, когда ограничения будут сняты с пользователя, UNIX timestamp. Если пользователь ограничен более чем на 366 дней или менее чем на 30 секунд с текущего момента, он будет ограничен навсегда (пока ограничения не будут сняты вручную)can_send_messages (
bool
) – deprecatedcan_send_media_messages (
bool
) – deprecatedcan_send_polls (
bool
) – deprecatedcan_send_other_messages (
bool
) – deprecatedcan_add_web_page_previews (
bool
) – deprecatedcan_change_info (
bool
) – deprecatedcan_invite_users (
bool
) – deprecatedcan_pin_messages (
bool
) – deprecateduse_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]
- revoke_chat_invite_link(chat_id: int | str, invite_link: str) ChatInviteLink ¶
Используйте этот метод, чтобы аннулировать ссылку-приглашение, созданную ботом. Примечание: Если аннулируется главная ссылка-приглашение, автоматически генерируется новая. Бот должен быть администратором чата и иметь соответствующие права администратора.
Документация Telegram: https://core.telegram.org/bots/api#revokechatinvitelink
- Параметры:
chat_id (
int
orstr
) – Уникальный id чата или username канала (в формате @channelusername)invite_link (
str
) – Ссылка-приглашение, которую нужно аннулировать
- Результат:
Возвращает новую ссылку-приглашение (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) – Порт, который будет использован для мониторинга вебхуков. По умолчанию 443url_path (
str
, optional) – Путь к вебхуку(по умолчанию /token). По умолчанию Nonecertificate (
str
, optional) – Путь к файлу с SSL сертификатом, по умолчанию Nonecertificate_key (
str
, optional) – Путь к файлу с приватным ключом SSL сертификата, по умолчанию Nonewebhook_url (
str
, optional) – URL вебхука, по умолчанию Nonemax_connections (
int
, optional) – Максимально-допустимое количество одновременных HTTPS подключений к вебхуку для доставки апдейтов, 1-100. По умолчанию 40. Используйте меньшие значения, чтобы уменьшить нагрузку на ваш сервер и большие значения для увеличения пропускной способности вашего бота, по умолчанию None.allowed_updates (
list
, optional) – Список видов апдейтов, которые вы хотите получать, в формате JSON. Например, укажите [“message”, “edited_channel_post”, “callback_query”], чтобы получать апдейты только этих видов. Полный список доступных видов апдейтов - util.update_types. Укажите пустой список, чтобы получать все апдейты, кроме chat_member (по умолчанию). Если не задан, будет использована последняя настройка. По умолчанию Noneip_address (
str
, optional) – Фиксированный IP адрес, который будет использоваться для отправки запросов к вебхуку вместо IP адреса, полученного через DNS, по умолчанию Nonedrop_pending_updates (
bool
, optional) – Передайте True, чтобы удалить все предшествующие запуску бота апдейты, по умолчанию Nonetimeout (
int
, optional) – Тайм-аут запроса, по умолчанию Nonesecret_token (
str
, optional) – Секретный токен для верификации запроса к вебхуку, по умолчанию Nonesecret_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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)animation (
str
ortelebot.types.InputFile
) – Гиф-ка для отправки. Передайте file_id (String), чтобы отправить гифку, которая уже загружена на сервера Telegram (рекомендуется), передайте HTTP URL (String), чтобы отправить гифку из интернета или загрузите новую гифку с помощью multipart/form-data.duration (
int
) – Длительность отправленной гифки в секундахwidth (
int
) – Ширина гифкиheight (
int
) – Высота гифкиthumbnail (
str
ortelebot.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
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.types.ForceReply
) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.disable_notification (
bool
) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.timeout (
int
) – Таймаут запроса в секундах.caption_entities (
list
oftelebot.types.MessageEntity
) – Список отформатированных частей подписи, можно использовать вместо parse_modemessage_thread_id (
int
) – id топика, в который будет отправлено видеоhas_spoiler (
bool
) – Передайте True, если гифку нужно отправить как спойлерthumb (
str
ortelebot.types.InputFile
) – deprecated.reply_parameters (
telebot.types.ReplyParameters
) – Reply parameters.business_connection_id (
str
) – Identifier of a business connection
- Результат:
В случае успеха возвращает отправленное сообщение (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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)audio (
str
ortelebot.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
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.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
ortelebot.types.InputFile
) – Обложка отправленного файла; может быть проигнорирована, если генерация обложки поддерживается на стороне сервера. Обложка должна быть картинкой в формате JPEG и весить менее 200 kB. Ширина и высота обложки не должны превышать 320. Игнорируется, если файл не загружен с помощью multipart/form-data. Обложки не могут быть использованы повторно и могут быть загружены только как новый файл, так что вы можете передать “attach://<file_attach_name>” если обложка была загружена с помощью multipart/form-data под именем <file_attach_name>.caption_entities (
list
oftelebot.types.MessageEntity
) – Список отформатированных частей подписи в формате JSON, можно использовать вместо parse_modeprotect_content (
bool
) – Запретить пересылку и сохранение содержимого сообщенияmessage_thread_id (
int
) – id топика, в который нужно отправить сообщениеthumb (
str
ortelebot.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).
- Тип результата:
- 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
orstr
) – Уникальный 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
orstr
) – Уникальный 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
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.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).
- Тип результата:
- 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)emoji (
str
) – Эмодзи, на котором основана анимация. На текущий момент, должно быть одним из “🎲”, “🎯”, “🏀”, “⚽”, “🎳”, или “🎰”. Значение может быть 1-6 для “🎲”, “🎯” и “🎳”, 1-5 для “🏀” и “⚽”, и 1-64 для “🎰”. По умолчанию “🎲”disable_notification (
bool
) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.reply_markup (
telebot.types.InlineKeyboardMarkup
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.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 messagesbusiness_connection_id (
str
) – Identifier of a business connection, in which the message will be sent
- Результат:
В случае успеха возвращает отправленное сообщение (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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)document (
str
ortelebot.types.InputFile
) – (документ) Файл для отправки. Передайте file_id (String), чтобы отправить файл, который уже загружен на сервера Telegram (рекомендуется), передайте HTTP URL (String), чтобы отправить файл из интернета или загрузите новый с помощью multipart/form-datacaption (
str
) – Подпись к файлу (может быть использована при повторной отправке файла по file_id), 0-1024 символа после форматированияreply_markup (
telebot.types.InlineKeyboardMarkup
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.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
ortelebot.types.InputFile
) – InputFile или String : Обложка отправленного файла; может быть проигнорирована, если генерация обложки поддерживается на стороне сервера. Обложка должна быть картинкой в формате JPEG и весить менее 200 kB. Ширина и высота обложки не должны превышать 320. Игнорируется, если файл не загружен с помощью multipart/form-data. Обложки не могут быть использованы повторно и могут быть загружены только как новый файл, так что вы можете передать “attach://<file_attach_name>” если обложка была загружена с помощью multipart/form-data под именем <file_attach_name>.caption_entities (
list
oftelebot.types.MessageEntity
) – Список отформатированных частей подписи в формате JSON, можно использовать вместо parse_modevisible_file_name (
str
) – позволяет задать имя файла, которое будет показано в Telegram вместо настоящегоdisable_content_type_detection (
bool
) – Отключает автоматическое обнаружение типа файла на стороне сервера для файлов, загруженных с помощью multipart/form-datadata (
str
) – опечатка: не используйтеprotect_content (
bool
) – Запретить пересылку и сохранение содержимого сообщенияmessage_thread_id (
int
) – Топик, в которой сообщение будет отправленоthumb (
str
ortelebot.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).
- Тип результата:
- 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
orstr
) – Уникальный 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 messageallow_sending_without_reply (
bool
) – deprecated. Pass True, if the message should be sent even if the specified replied-to message is not foundreply_markup (
InlineKeyboardMarkup
orReplyKeyboardMarkup
orReplyKeyboardRemove
orForceReply
) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.timeout (
int
) – Тайм-аут в секундах, ожидание ответа от бота.protect_content (
bool
) – Запретить пересылку и сохранение содержимого сообщенияmessage_thread_id (
int
) – id топика, в который будет отправлено сообщение с игрой.reply_parameters (
ReplyParameters
) – Reply parametersbusiness_connection_id (
str
) – Unique identifier of the business connection
- Результат:
В случае успеха возвращает отправленное сообщение (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
orstr
) – Уникальный id приватного чатаtitle (
str
) – Название товара, 1-32 символаdescription (
str
) – Описание товара, 1-255 символовinvoice_payload (
str
) – Дополнительные данные, 1-128 байт. Не будет показано пользователю, используйте во внутренних процессах.provider_token (
str
) – Токен платежной системы, полученный через @BotFathercurrency (
str
) – Трехбуквенный код валюты в формате ISO 4217, см. https://core.telegram.org/bots/payments#supported-currenciesprices (List[
types.LabeledPrice
]) – Детали цены, список компонент (например цена продукта, налог, скидка, стоимость доставки, налог на доставку, бонус и т.д.)start_parameter (
str
) – Уникальный deep-linking параметр, который может быть использован для генерации этого инвойса при использовании в качестве параметра /startphoto_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 messageallow_sending_without_reply (
bool
) – deprecated. Pass True, if the message should be sent even if the specified replied-to message is not foundreply_markup (
str
) – JSON-сериализованный объект inline клавиатуры. Если пустой, будет показана одна кнопка „Pay total price“. Если не пустой, первая кнопка должна быть кнопкой для оплатыprovider_data (
str
) – Данные о инвойсе в формате JSON, которые будут переданы платежной системе. Подробное описание обязательных полей должно быть предоставлено провайдером платежной системы.timeout (
int
) – Тайм-аут запроса, по умолчанию Nonemax_tip_amount (
int
) – Максимальный размер чаевых в наименьших единицах выбранной валютыsuggested_tip_amounts (
list
ofint
) – Массив предлагаемых вариантов чаевых в наименьших единицах выбранной валюты в формате 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).
- Тип результата:
- 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)latitude (
float
) – Широтаlongitude (
float
) – Долготаlive_period (
int
) – Время в секундах, в течение которого местоположение будет обновляться (см. Live Locations), должно быть между 60 и 86400.reply_markup (
telebot.types.InlineKeyboardMarkup
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.types.ForceReply
) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.disable_notification (
bool
) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.reply_to_message_id (
int
) – deprecated.allow_sending_without_reply (
bool
) – deprecated.timeout (
int
) – Таймаут запроса в секундах.horizontal_accuracy (
float
) – Радиус погрешности местоположения, измеряется в метрах; 0-1500heading (
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).
- Тип результата:
- 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)media (
list
oftypes.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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)text (
str
) – Текст сообщения для отправкиparse_mode (
str
) – Режим форматирования в тексте сообщения.entities (Array of
telebot.types.MessageEntity
) – Список отформатированных частей в тексте сообщения, можно использовать вместо parse_modedisable_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
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.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).
- Тип результата:
- 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)photo (
str
ortelebot.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
oftelebot.types.MessageEntity
) – Список отформатированных частей подписи в формате JSON, можно использовать вместо parse_modedisable_notification (
bool
) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.protect_content (
bool
) – Запретить пересылку и сохранение содержимого сообщенияreply_to_message_id (
int
) – deprecated.allow_sending_without_reply (
bool
) – deprecated.reply_markup (
telebot.types.InlineKeyboardMarkup
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.types.ForceReply
) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.timeout (
int
) – Таймаут запроса в секундах.message_thread_id (
int
) – id топика, в который нужно отправить сообщениеhas_spoiler (
bool
) – Передайте True, если фото должно быть отправлено как спойлерreply_parameters (
telebot.types.ReplyParameters
) – Additional parameters for replies to messagesbusiness_connection_id (
str
) – Identifier of a business connection, in which the message will be sent
- Результат:
В случае успеха возвращает отправленное сообщение (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
ofstr
) – JSON-сериализованный список вариантов ответа, 2-10 строк по 1-100 символовis_anonymous (
bool
) – True, если опрос должен быть анонимным, по умолчанию Truetype (
str
) – Вид опроса, “quiz” или “regular”, по умолчанию “regular”allows_multiple_answers (
bool
) – True, если опрос позволяет выбрать несколько вариантов ответа, игнорируется в опросах вида “quiz”, по умолчанию Falsecorrect_option_id (
int
) – Индекс правильного варианта ответа, начиная с 0. Доступно только для опросов вида “quiz”, по умолчанию Noneexplanation (
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 messageallow_sending_without_reply (
bool
) – deprecated. Pass True, if the message should be sent even if the specified replied-to message is not foundreply_markup (
InlineKeyboardMarkup
|ReplyKeyboardMarkup
|ReplyKeyboardRemove
|ForceReply
) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.timeout (
int
) – Тайм-аут в секундах, ожидание ответа от пользователя.explanation_entities (
list
ofMessageEntity
) – JSON-сериализованный список отформатированных частей explanation, можно использовать вместо parse_modeprotect_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).
- Тип результата:
- 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)sticker (
str
ortelebot.types.InputFile
) – Стикер для отправки. Передайте file_id (String), чтобы отправить файл, который уже загружен на сервера Telegram (рекомендуется), передайте HTTP URL (String), чтобы отправить .webp файл из интернета или загрузите новый с помощью multipart/form-data.reply_markup (
telebot.types.InlineKeyboardMarkup
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.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 stickersreply_parameters (
telebot.types.ReplyParameters
) – Reply parameters.business_connection_id (
str
) – Identifier of a business connection, in which the message will be sent
- Результат:
В случае успеха возвращает отправленное сообщение (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
orstr
) – Уникальный id чата или username каналаlatitude (
float
) – Широтаlongitude (
float
) – Долготаtitle (
str
) – Название местаaddress (
str
) – Адрес местаfoursquare_id (
str
) – id места на Foursquarefoursquare_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
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.types.ForceReply
) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.timeout (
int
) – Таймаут запроса в секундах.google_place_id (
str
) – id места на Google Placesgoogle_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).
- Тип результата:
- 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)video (
str
ortelebot.types.InputFile
) – Видео для отправки. Передайте file_id (String), чтобы отправить видео, которое уже загружено на сервера Telegram или загрузите новое с помощью multipart/form-data.duration (
int
) – Длительность отправленного видео в секундахwidth (
int
) – Ширина видеоheight (
int
) – Высота видеоthumbnail (
str
ortelebot.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
oftelebot.types.MessageEntity
) – Список отформатированных частей подписи, можно использовать вместо parse_modesupports_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
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.types.ForceReply
) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.timeout (
int
) – Таймаут запроса в секундах.data (
str
) – опечатка: не используйтеmessage_thread_id (
int
) – id топика, в который будет отправлено видеоhas_spoiler (
bool
) – Передайте True, если видео должно быть отправлено как спойлерthumb (
str
ortelebot.types.InputFile
) – deprecated.reply_parameters (
telebot.types.ReplyParameters
) – Reply parametersbusiness_connection_id (
str
) – Identifier of a business connection
- Результат:
В случае успеха возвращает отправленное сообщение (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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)data (
str
ortelebot.types.InputFile
) – Видео заметка для отправки. Передайте file_id (String), чтобы отправить видео заметку, которая уже загружена на сервера Telegram или загрузите новую с помощью multipart/form-data. На текущий момент, отправка видео заметок по URL не поддерживаетсяduration (
int
) – Длительность отправленного видео в секундахlength (
int
) – Ширина и высота видео (диаметр видео сообщения)reply_markup (
telebot.types.InlineKeyboardMarkup
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.types.ForceReply
) – Дополнительные элементы интерфейса. Inline клавиатура, текстовая клавиатура, запрос на удаление текстовой клавиатуры или запрос на ответ от пользователя.disable_notification (
bool
) – Отправить сообщение, при получении которого пользователи получат уведомление без звука.reply_to_message_id (
int
) – deprecated.allow_sending_without_reply (
bool
) – deprecated.timeout (
int
) – Таймаут запроса в секундах.thumbnail (
str
ortelebot.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
ortelebot.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).
- Тип результата:
- 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)voice (
str
ortelebot.types.InputFile
) – Аудио для отправки. Передайте file_id (String), чтобы отправить аудио, которое уже загружено на сервера Telegram (рекомендуется), передайте HTTP URL (String), чтобы отправить аудио из интернета или загрузите новое с помощью multipart/form-data.caption (
str
) – Подпись к голосовому сообщению, 0-1024 символа после форматированияduration (
int
) – Длительность голосового сообщения в секундахreply_markup (
telebot.types.InlineKeyboardMarkup
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.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
oftelebot.types.MessageEntity
) – Список отформатированных частей подписи в формате JSON, можно использовать вместо parse_modeprotect_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
orstr
) – Уникальный 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)description (
str
) – Str: Новое описание чата, 0-255 символов
- Результат:
True в случае успеха.
- Тип результата:
bool
Используйте этот метод, чтобы изменить кнопку меню в приватном чате или кнопку меню по умолчанию. Возвращает True в случае успеха.
Документация Telegram: https://core.telegram.org/bots/api#setchatmenubutton
- Параметры:
chat_id (
int
orstr
) – Уникальный 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
orstr
) – Уникальный 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
orstr
) – Уникальный 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
orstr
) – Уникальный id чата или username супергруппы (в формате @supergroupusername)sticker_set_name (
str
) – Имя стикерпака для установки в качестве стикерпака группы
- Результат:
Объект 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
orstr
) – Уникальный 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
orstr
) – id пользователяscore (
int
) – Количество очков, должно быть неотрицательнымforce (
bool
) – Передайте True, если количество очков могут быть уменьшено. Может быть полезно при исправлении ошибок или бане читеровchat_id (
int
orstr
) – Обязательный, если не указан 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
orbool
- 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
orstr
) – Уникальный id чата или username супергруппы или канала (в формате @channelusername)message_id (
int
) – Identifier of the message to set reaction toreaction (
list
oftelebot.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
oftelebot.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
orstr
ortelebot.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 identifieremoji_list (
list
ofstr
) – 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
ofstr
) – 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 для отправки апдейтов. Используйте пустую строку, чтобы удалить вебхук, по умолчанию Nonecertificate (
str
, optional) – Загрузите публичный ключ вашего SSL сертификата, чтобы корневой сертификат мог быть проверен, по умолчанию Nonemax_connections (
int
, optional) – Максимально-допустимое количество одновременных HTTPS соединений для доставки апдейтов, 1-100. По умолчанию 40. Используйте меньшие значения для уменьшения нагрузки на ваш сервер и большие значения, чтобы увеличить пропускную способность вашего бота, по умолчанию Noneallowed_updates (
list
, optional) – Список видов апдейтов, которые вы хотите получать, в формате JSON. Например, укажите [“message”, “edited_channel_post”, “callback_query”], чтобы получать апдейты только этих видов. Полный список доступных видов апдейтов - util.update_types. Укажите пустой список, чтобы получать все апдейты, кроме chat_member (по умолчанию). Если не задан, будет использована последняя настройка. Пожалуйста учтите, чтобы этот параметр не влияет на апдейты, отправленные до вызова setWebhooks, поэтому нежелательные апдейты могут быть получены в течение короткого периода времени. По умолчанию Noneip_address (
str
, optional) – Фиксированный IP адрес, который будет использоваться для отправки запросов к вебхуку вместо IP адреса, полученного через DNS, по умолчанию Nonedrop_pending_updates (
bool
, optional) – Передайте True, чтобы удалить все предшествующие запуску бота апдейты, по умолчанию Nonetimeout (
int
, optional) – Тайм-аут запроса, по умолчанию Nonesecret_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
orstr
) – Уникальный 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
ortelebot.types.ReplyKeyboardMarkup
ortelebot.types.ReplyKeyboardRemove
ortelebot.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).
- Тип результата:
- 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
orstr
) – Уникальный 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)sender_chat_id (
int
orstr
) – Уникальный 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
orstr
) – Уникальный id чата или username канала (в формате @channelusername)
- unpin_all_chat_messages(chat_id: int | str) bool ¶
Используйте этот метод, что открепить все закрепленные сообщения в супергруппе. Бот должен быть администратором чата и иметь соответствующие права администратора. Возвращает True в случае успеха.
Документация Telegram: https://core.telegram.org/bots/api#unpinallchatmessages
- Параметры:
chat_id (
int
orstr
) – Уникальный 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
orstr
) – Уникальный 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
orstr
) – Уникальный 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».
- Результат:
В случае успеха возвращается отправленный файл.
- Тип результата:
Файл custom_filters¶
- class telebot.custom_filters.AdvancedCustomFilter¶
Базовые классы:
ABC
Базовый класс Advanced Custom Filter. Создайте класс наследник с методом check(). Принимает два параметра, возвращает bool: True - фильтр пройден, False - фильтр не пройден. message: класс Message text: значение фильтра, полученное в хендлере
Классы наследники должны иметь статический атрибут (property) .key
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
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.
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
Класс для продолжения обработки апдейта в хендлерах. Просто верните экземпляр этого класса в хендлерах, чтобы продолжить обработку.
@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.