Функции для отправки вложений в сообщениях

Как отправлять документы

chevron-rightОтправить документ tg_send_document() hashtag

! Эти функции позволяют отправлять файлы любого типа. Рекомендуемые форматы: GIF, PDF, ZIP до 2 ГБ.

! Работа с бизнес-аккаунтом Telegram

tg_send_document(platform_id, document, caption, reply_markup, parse_mode,reply_to_message_id, protect_content, disable_notification, message_thread_id, entities)

Параметры:

! platform_id — идентификатор клиента в Telegram, которому должно быть отправлено сообщение *

! document - ссылка на документ на сервере Telegram. О том, как получить ссылку через tg_request, объясняется здесь.

caption - описание, до 1024 символов

reply_markup — настройки кнопок **

parse_mode — форматирование текста в подписи (жирный или курсив) ***. Возможные значения: html, markdown, markdownV2. ссылка

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''.

disable_notification — флаг для управления звуковыми уведомлениями (по умолчанию: 0). 1 - отправить без уведомления, 0 - отправить с уведомлением

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума) entities — позволяет повторно использовать предварительно отформатированный текст со стилями. Просто укажите смещение символа и диапазон для форматирования. Пример доступен в tg_request в соответствующем поле. Нужно передать словарь. Пример передачи параметра: entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}] В этом примере показан только словарь, тогда как сам текст сообщения определён в отдельной переменной.

Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак.

chevron-rightОтправить несколько документов или других файлов tg_send_some_document()hashtag

! Эти функции позволяют отправлять файлы любого типа. Рекомендуемые форматы: GIF, PDF, ZIP до 2 ГБ.

tg_send_some_document(platform_id, document_list, disable_notification, protect_content, reply_to_message_id, message_thread_id)

Параметры:

! platform_id — идентификатор клиента в Telegram, которому должно быть отправлено сообщение *

! document_list - массив документов. Пример формирования такого массива приведён ниже

disable_notification — флаг управления звуковыми уведомлениями (по умолчанию: 0). 1 - отправить без уведомления, 0 - отправить с уведомлением

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''.

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума)

Пример формирования массива document_list: '[["Ссылка на документ", "подпись", "parse_mode"], ["Ссылка на документ 2"], ["Ссылка на документ 3", "подпись"]]'

Пример форматирования данных для одного документа ["Ссылка на документ", "подпись", "parse_mode"]

Порядок параметров важен! При создании массива документов кавычки " " можно опустить.

Описание параметров для массива document_list: ! Ссылка на документ - ссылка на документ с сервера Telegram. О том, как получить ссылку через tg_request, объясняется здесь caption — описание до 1024 символов parse_mode — форматирование описания, то есть выделение текста жирным или курсивом ***

chevron-rightПримерhashtag

Давайте разберём пример отправки одного документа, добавив к нему inline-кнопки и описание:

  1. Сначала получите ссылку на ваш документ. Подробное объяснение того, как это сделать, можно найти здесь.

  2. Создайте блок и задайте переменные, как показано на скриншоте:

  3. Отправьте блок себе и посмотрите на результат нашей работы:

Теперь рассмотрим отправку нескольких документов.

  1. Здесь тоже нужно получить внутреннюю ссылку Telegram для каждого документа и сформировать массив. lnkdoc='[["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Document1"],["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Document2"]]'

  2. Наконец, соберите функцию для отправки документов:

3. И посмотрите на результат работы:

chevron-rightПример кода для копированияhashtag

Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки

Пример кода для отправки одного документа:

lnkdoc= "BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ"
opts = {"inline_keyboard": [[{"text": "Отлично","callback_data":"Answer1"}, {"text": "Не принято","callback_data":"Answer2"}]]}
soob=tg_send_document(platform_id, lnkdoc, "Отправка документа", opts) 

Пример кода для отправки нескольких документов:

lnkdoc='[["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Document1"],["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Document2"]]'
soob=tg_send_some_document(platform_id, lnkdoc)

Как отправить аудио / голосовое аудио

chevron-rightОтправить аудиосообщение tg_send_voice()hashtag

! Эта функция позволяет отправлять голосовые файлы типа .OGG, закодированные с помощью OPUS, размером до 2 ГБ.

! Работает только с бизнес-аккаунтом Telegram

tg_send_voice(platform_id, voice, caption, reply_markup, parse_mode, reply_to_message_id, protect_content, disable_notification, message_thread_id, entities)

Параметры:

! platform_id — идентификатор клиента в Telegram, которому должно быть отправлено сообщение *

! voice - ссылка на голосовое сообщение в формате .OGG

caption - описание до 1024 символов

reply_markup — настройки кнопок **

parse_mode — форматирование текста в описании: жирный или курсив ***. Возможные значения: html, markdown, markdownV2.

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''.

disable_notification — флаг для отправки сообщения со звуковым уведомлением (по умолчанию 0) 1 - отправить без уведомления, 0 - отправить с уведомлением

message_thread_id — идентификатор темы (доступен в супергруппах, если включена функция форума). entities — с этим параметром можно просто копировать форматированный текст со всеми его возможностями и указать, с какого по какой символ он будет отображаться с определённым стилем. Пример можно посмотреть в tg_request в соответствующем поле. Параметр должен быть словарём. Пример передачи параметра: entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}] В примере показан только словарь, тогда как сам текст сообщения хранится в переменной.

Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак

chevron-rightОтправить несколько аудиосообщений tg_send_some_audio()hashtag

! Эта функция позволяет отправлять аудиофайлы типа .MP3 или .M4A максимальным размером 2 ГБ.

! Работа с бизнес-аккаунтом Telegram

tg_send_some_audio(platform_id, audio_list, disable_notification, protect_content, reply_to_message_id, message_thread_id)

Параметры:

! platform_id — идентификатор клиента в Telegram, которому должно быть отправлено сообщение *

! audio_list - массив аудиофайлов (подробности ниже)

disable_notification — флаг отправки сообщения со звуковым уведомлением или без него (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''.

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума)

Пример формирования массива audio_list: '[["Ссылка на аудио 1", "подпись", "parse_mode"], ["Ссылка на аудио 2"], ["Ссылка на аудио 3", "подпись"]]'

Пример одного аудио: ["Ссылка на аудио", "подпись", "parse_mode"]

Порядок параметров важен! При формировании массива аудиофайлов кавычки "" можно опустить

Описание параметров: ! Ссылка на аудио - ссылка на аудиофайл в формате .OGG caption — описание (до 1024 символов) parse_mode —форматирование текста в подписи: жирный или курсив ***

chevron-rightПримерhashtag

Как уже было сказано выше, функция работает с файлами .OGG. Поэтому сначала нужно получить аудиозапись в этом формате. Если у вас есть .MP3-файл, вы можете конвертировать его в .OGG с помощью https://t.me/mp3toolsbotarrow-up-right бота.

Далее отправьте полученный файл себе в боте, чтобы получить file_id по алгоритму описанному здесь.

Теперь соберём функцию:

Отлично! Хорошая работа!

chevron-rightПример для копированияhashtag

Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки

chevron-rightОшибка при отправке голосовых сообщенийhashtag

Если сообщение не удаётся отправить из-за настроек приватности, возвращается следующая ошибка:

{"ok":false,"error_code":400,"description":"Bad Request: user restricted receiving of voice messages"}

Причина ошибки: в настройках приватности пользователя включена опция «Не получать голосовые сообщения» (либо от всех, либо только от определённых пользователей):

Даже если пользователь отключит это ограничение приватности, ошибка всё равно продолжит появляться.

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

Решение:

После того как пользователь изменит настройки приватности, нужно подождать паузу 30–60 секунд (пока серверы мессенджера обработают изменения), и только затем отправлять API-запрос в Telegram через бота: https://api.telegram.org/bot<TOKEN>/getChat?chat_id=#{platform_id}

После этого данные пользователя обновятся, и голосовые сообщения будут отправляться корректно.

Как отправлять анимации

chevron-rightОтправить анимацию tg_send_animation()hashtag

! Эта функция позволяет отправлять GIF или видео H.264/MPEG-4 AVC без звука размером до 2 ГБ.

! Работа с бизнес-аккаунтом Telegram

tg_send_animation(platform_id, animation, caption, reply_markup, parse_mode, reply_to_message_id, protect_content, has_spoiler, disable_notification, message_thread_id, entities, show_caption_above_media)

Параметры:

! platform_id — идентификатор клиента Telegram, которому должно быть отправлено сообщение. *

! animation- ссылка на анимацию. О том, как получить ссылку через tg_request, объясняется здесь

caption - описание до 1024 символов

reply_markup — настройка кнопок **

parse_mode —форматирование текста в подписи: жирный или курсив ***. Возможные значения: html, markdown, markdownV2

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''.

has_spoiler — включает спойлер. Чтобы включить, установите True.

disable_notification — флаг для отправки сообщения со звуковым уведомлением или без него (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума) entities — с этим параметром можно просто копировать форматированный текст со всеми его возможностями и указать, с какого по какой символ он будет отображаться с определённым стилем. Пример можно посмотреть в tg_request в соответствующем поле. Параметр должен быть словарём.

show_caption_above_media - если установлено True, подпись сообщения будет отображаться над медиа Пример передачи параметра: entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}] В этом примере показан только словарь, тогда как сам текст сообщения хранится в переменной

Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак

chevron-rightПримерhashtag

Давайте усложним задачу и отправим анимацию с копированием и защитой от спойлера.

Как всегда, процесс начинается с получения внутренней ссылки Telegram для выбранной анимации (подробности здесь).

Наконец, соберём функцию:

И посмотрим на результат работы:

chevron-rightПример кода для копированияhashtag

Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки

Как отправлять видео

chevron-rightОтправить видео через API Telegram tg_send_video()hashtag

! Эта функция позволяет отправлять файлы MPEG4 размером до 2 ГБ. (Другие форматы можно отправлять как файлы с помощью tg_send_document())

! Работа с Telegram business-account

tg_send_video(platform_id, video, caption, reply_markup, parse_mode, reply_to_message_id, protect_content, has_spoiler, disable_notification, message_thread_id, entities, show_caption_above_media, cover )

Параметры:

! platform_id — идентификатор клиента Telegram, которому должно быть отправлено сообщение *

! video - ссылка на видео. О том, как получить ссылки через tg_request, см. здесь

caption - описание до 1024 символов

reply_markup — настройки кнопок **

parse_mode — форматирование текста в подписи: жирный или курсив ***. Возможные значения: html, markdown, markdownV2.

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''.

has_spoiler — включает спойлер. Чтобы включить, установите True

disable_notification — флаг для отправки сообщения со звуковым уведомлением (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума) entities — с этим параметром можно просто копировать форматированный текст со всеми его возможностями и указать, с какого по какой символ он будет отображаться с определённым стилем. Пример можно посмотреть в tg_request в соответствующем поле. Параметр должен быть словарём.

show_caption_above_media - если установлено True, текст сообщения будет отображаться над медиа.

cover - изображение обложки видео в сообщении. Получение URL через tg_request здесь. Пример передачи параметра: entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}] В этом примере показан только словарь, тогда как сам текст сообщения хранится в переменной

Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак

chevron-rightОтправить несколько видео через API Telegram tg_send_some_video()hashtag

! Работа с бизнес-аккаунтом Telegram

tg_send_some_video(platform_id, video_list, disable_notification, protect_content, reply_to_message_id, has_spoiler, message_thread_id)

Параметры:

! platform_id — идентификатор клиента Telegram, которому должно быть отправлено сообщение *

! video_list - массив видеофайлов (подробности ниже)

disable_notification — флаг для отправки сообщения со звуковым уведомлением (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

has_spoiler — включает форматирование спойлера (необязательно; для активации установите True)

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума)

Пример формирования массива video_list: '[["Ссылка на видео 1", "подпись", "parse_mode"], ["Ссылка на видео 2"], ["Ссылка на видео 3", "подпись"]]'

Пример формирования одного аудио : ["Ссылка на видео", "подпись", "parse_mode"]

Порядок параметров важен! При формировании массива видеофайлов кавычки "" можно опустить

Описание параметров: ! Ссылка на видео — внутренний URL видео Telegram. О том, как получить ссылку через tg_request, описано здесь. caption — текст подписи до 1024 символов parse_mode — форматирование текста в подписи: жирный или курсив ***. Возможные значения: html, markdown, markdownV2.

chevron-rightПримерhashtag

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

Получение ссылки на видео через tg_request
Параметр отправки видео

После проверки мы получаем видео:

chevron-rightПример кода для копированияhashtag

Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки

Как отправлять круглое видео

chevron-rightОтправить круглое видео tg_send_video_note()hashtag

! Начиная с версии 4.0, Telegram поддерживает отправку круглых видео MPEG4 длительностью до одной минуты.

! Работа с Telegram business-account

tg_send_video_note(platform_id, video_note, reply_markup, protect_content, reply_to_message_id, disable_notification, message_thread_id)

Параметры:

! platform_id — идентификатор клиента Telegram, которому должно быть отправлено сообщение *

! video_note - ссылка на видео. Как получить ссылку через tg_request, описано здесь reply_markup — настройки кнопок **

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

disable_notification — флаг для отправки сообщения со звуковым уведомлением (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума)

Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак

chevron-rightПримерhashtag

Если у вас есть квадратное видео, вы можете преобразовать его в круглое с помощью https://t.me/roundNoteBotarrow-up-right бота:

Получение бота для округления видео через @roundNoteBot (https://t.me/roundNoteBot)

Как только у вас будет круглое видео, отправьте его себе в боте, чтобы получить ссылку (подробности здесь), а затем настройте функцию для отправки круглого видео:

chevron-rightПример кода для копированияhashtag

Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки

Как отправлять местоположение

chevron-rightОтправить геолокацию tg_send_venue()hashtag

! Работа с Telegram business-account

tg_send_venue(platform_id, latitude, longitude, title, address, protect_content, disable_notification, reply_to_message_id, reply_markup, message_thread_id)

Параметры:

! platform_id — идентификатор клиента Telegram, которому должно быть отправлено сообщение *

! широта —широта

! долгота — долгота

! title — название

! address — адрес

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''

disable_notification — флаг для отправки сообщения со звуковым уведомлением (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

reply_markup — настройки кнопок **

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума)

Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак

chevron-rightПримерhashtag

Итак, начнём с определения координат места. Получить их можно с помощью Google Maps arrow-up-right

Затем преобразуйте полученные координаты из десятичных градусов в географический формат с помощью любого онлайн конвертера координатarrow-up-right:

Теперь перейдём к заполнению параметров функции и получению желаемого результата:

chevron-rightПример кода для копированияhashtag

Как отправлять контакты

chevron-rightОтправить контакт tg_send_contact()hashtag

! Работа с бизнес-аккаунтом Telegram

Telegram предоставляет быстрый способ поделиться контактами из вашей адресной книги. Мессенджер поддерживает отправку vCard — электронной визитной карточки

Функция tg_send_contact позволяет отправить номер телефона с именем (или названием организации), а также добавить кнопки и включить защиту контента для сообщения.

tg_send_contact(platform_id, phone, first_name, last_name, protect_content, disable_notification, reply_to_message_id, reply_markup, message_thread_id)

! - обязательный параметр функции

Параметры:

! platform_id — идентификатор клиента Telegram, которому должно быть отправлено сообщение *

! phone — номер телефона в международном формате. Например, для России: +7XXXXXXXXXX

! имя и фамилию - имя и фамилия

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''

disable_notification — флаг для отправки сообщения со звуковым уведомлением (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

reply_markup — настройки кнопок **

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума)

Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак

chevron-rightПримерhashtag

Заполните параметры: номер телефона, имя и фамилию.

Пример заполнения параметров функции отправки контакта.

Посмотрите результат:

chevron-rightПример кода для копированияhashtag

Как отправить стикер

chevron-rightОтправить стикер tg_send_sticker()hashtag

! Работа с бизнес-аккаунтом Telegram

tg_send_sticker(platform_id, sticker_id, protect_content, disable_notification, reply_to_message_id, reply_markup, message_thread_id)

Параметры:

! platform_id — идентификатор клиента Telegram, которому должно быть отправлено сообщение *

! sticker_id - ID стикера. О том, как получить ссылку через tg_request, объясняется здесь

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''

disable_notification — флаг для отправки сообщения со звуковым уведомлением (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

reply_markup — настройки кнопок **

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума)

Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак

chevron-rightПримерhashtag

Отправка стикера ничем не отличается от отправки любого другого вложения: 1. Получите внутреннюю ссылку Telegram (подробнее здесь) 2. Заполните параметры функции 3. Отправьте блок себе и проверьте результат

Отправка стикера

Результат:

chevron-rightПример кода для копированияhashtag

Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки

Как отправить фото

circle-exclamation

Понимание параметра caption параметра

chevron-rightОтправить фото tg_send_photo()hashtag

! Фотография должна быть не больше 10 МБ. Общая ширина и высота не должны превышать 10 000 пикселей. Соотношение ширины к высоте не должно превышать 20.

! Работа с бизнес-аккаунтом Telegram

tg_send_photo(platform_id, photo, caption, reply_markup, parse_mode, reply_to_message_id, protect_content, has_spoiler, disable_notification, message_thread_id, entities, show_caption_above_media)

Параметры:

! platform_id — идентификатор клиента Telegram, которому должно быть отправлено сообщение *

! photo - ссылка на изображение. О том, как получить ссылку через tg_request, объясняется здесь.

caption - описание до 1024 символов

reply_markup — настройки кнопок **

parse_mode — форматирование текста в подписи: жирный или курсив ***

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''

has_spoiler — включает форматирование спойлера, установите True для активации

disable_notification — флаг для отправки сообщения со звуковым уведомлением (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума) entities — с этим параметром можно просто копировать форматированный текст со всеми его возможностями и указать, с какого по какой символ он будет отображаться с определённым стилем. Пример можно посмотреть в tg_request в соответствующем поле. Параметр должен быть словарём.

show_caption_above_media - если установлено True, текст сообщения будет отображаться над медиа Пример передачи параметра: entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}] В этом примере показан только словарь, тогда как сам текст сообщения хранится в переменной

Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак

chevron-rightОтправить несколько фото tg_send_some_photo()hashtag

! Фотография должна быть не больше 10 МБ. Общая ширина и высота не должны превышать 10 000 пикселей. Соотношение ширины к высоте не должно превышать 20.

! Работа с Telegram business-account

tg_send_some_photo(platform_id, image_list, disable_notification=0, protect_content=False, reply_to_message_id=0, has_spoiler=False,message_thread_id)

Параметры:

! platform_id — идентификатор клиента Telegram, которому должно быть отправлено сообщение *

! image_list - массив файлов изображений (подробности ниже)

disable_notification — флаг для отправки сообщения со звуковым уведомлением (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением

protect_content — флаг защиты контента от копирования (необязательный параметр, чтобы включить, передайте 1 в качестве значения)

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

has_spoiler — включает форматирование спойлера (необязательно; для активации установите True)

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума)

Пример image_list:

'[["Ссылка на изображение 1", "подпись", "parse_mode"], ["Ссылка на изображение 2"], ["Ссылка на изображение 3", "подпись"]]'

Пример данных для одного изображения: ["Ссылка на изображение 1", "подпись", "parse_mode"]

Порядок параметров важен! При формировании массива файлов изображений кавычки "" можно опустить

Описание параметров:

! Ссылка на изображение 1 - ссылка на изображение. О том, как получить ссылку через tg_request, объясняется здесь

caption — подпись до 1024 символов

parse_mode — форматирование текста в подписи: жирный или курсив ***

chevron-rightПримерhashtag

Рассмотрим пример функции отправки нескольких изображений:

сначала создайте массив изображений

Затем заполните параметры функции

Отправьте блок себе и наслаждайтесь результатом

chevron-rightПример кода для копированияhashtag

Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки для видео

Как отправить игральную кость

chevron-rightОтправить эмодзи со случайным выбором (Dice) tg_send_dice() hashtag

tg_send_dice(platform_id, emoji, reply_markup, disable_notification, reply_to_message_id, protect_content, message_thread_id)

! Работа с бизнес-аккаунтом Telegram

Параметры:

! platform_id — идентификатор клиента Telegram, которому должно быть отправлено сообщение *

emoji - эмодзи, которое нужно отправить. Если параметр оставить пустым, по умолчанию будет отправлена кость. Можно передать либо само эмодзи в виде строки, либо ключевое слово, используемое для его обозначения

reply_markup — настройка кнопок **

disable_notification — флаг для отправки сообщения со звуковым уведомлением (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением

reply_to_message_id -ID сообщения, на которое нужно ответить (то есть процитировать)

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума)

Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак

Список возможных эмодзи: 1) 'darts' или '🎯', значения от 1 до 6 2) 'dice' или '🎲', значения от 1 до 6 3) 'bowling' или '🎳', значения от 1 до 6 4) 'basketball' или '🏀', значения от 1 до 5 5) 'football' или '⚽', значения от 1 до 5 6) 'slots' или '🎰', значения от 1 до 64

Кроме того, если клиент отправит боту одно из этих эмодзи, вы получите callback с информацией о счёте и о том, какое эмодзи было использовано.

chevron-rightПримерhashtag

Самый простой вариант — вызвать функцию только с одним обязательным параметром:

В этом случае клиент получит кость:

Если клиент бросит кость (нажав на полученное эмодзи), бот получит callback с количеством выпавших очков:

Вы можете поэкспериментировать с этой функцией. Например, создадим слот-машину и добавим Очки кнопку. При нажатии на кнопку мы получим суммарные очки клиента:

Первое сообщение: Предложить сыграть
Пример бота
chevron-rightПример кода для копированияhashtag

Первый пример:

Второй пример:

Как отправить группу медиа

chevron-rightОтправить группу медиа tg_send_media_group()hashtag

! Работа с бизнес-аккаунтом Telegram

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

Примечание: документы и аудиофайлы нельзя объединять с другими типами файлов!

tg_send_media_group(platform_id, media_list, disable_notification, protect_content, reply_to_message_id, message_thread_id)

Параметры:

! platform_id — идентификатор клиента Telegram, которому должно быть отправлено сообщение

! media_list - массив, содержащий от 2 до 10 фотографий, видео, документов или аудиофайлов (подробности ниже);

disable_notification — флаг отправки сообщения со звуковым уведомлением (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением

protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, кроме 0, False или пустых кавычек ''

reply_to_message_id - ID сообщения, на которое нужно ответить (то есть процитировать)

message_thread_id — идентификатор темы (доступен в супергруппах с функциональностью форума);

Содержимое элементов массива media_list:

! type - тип файла, “photo”, “video”, “audio” или ”document”

! media - файл для отправки. Передайте file_id, чтобы отправить файл, который уже существует на серверах Telegram (рекомендуется), HTTP URL, по которому Telegram загрузит файл из Интернета, или «attach://<file_attach_name>», чтобы загрузить новый файл с помощью multipart/form-data с именем <file_attach_name>.

Подробнее: https://core.telegram.org/bots/api#sending-filesarrow-up-right

caption — заголовок отправляемого файла, 0–1024 символа.

parse_mode — форматирование текста в подписи: жирный или курсив

Подробнее: https://core.telegram.org/bots/api#sending-filesarrow-up-right

Пример массива media_list:

[{"type": "photo", "media": "AgACAgIAAxkBAAIKa2W6HqQG151EaWOKnCyy8feBi8p_AAIH1zEbicvYSfi2QYj-CMreAQADAgADeAADNAQ", "caption": "видео с призраками"}, {"type": "video", "media": "BAACAgIAAxkBAAIKpGW6P_HGDoVz7u4blDF6925WO-hmAALVPQACicvYSYwIWCJKwKIWNAQ", “caption”: “видео с зайцем”}]

chevron-rightПримерhashtag

Рассмотрим пример функции отправки нескольких изображений:

сначала создайте массив изображений

Затем заполните параметры функции

Отправьте блок себе и наслаждайтесь результатом

chevron-rightПример кода для копированияhashtag

Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки для видео

Как отправлять большие файлы-вложения

chevron-rightПримерhashtag

В Telegram (как для бизнес-аккаунтов, так и для обычных аккаунтов) можно отправлять вложения по ссылке:

  1. Вы можете отправлять вложения любого размера, обходя ограничения на размер файлов.

  2. Вы также можете отправлять вложения любого нужного вам типа.

Как это сделать:

Скопируйте ссылку на вложение, которое уже доступно публично:

Затем вставьте скопированную ссылку в функцию вложения в вашем блоке:

Готово. Таким образом можно отправлять вложения любого типа и размера.

Последнее обновление