Функции для отправки вложений в сообщениях
Как отправлять документы
Отправить документ tg_send_document()
! Эти функции позволяют отправлять файлы любого типа. Рекомендуемые форматы: 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"}]
В этом примере показан только словарь, тогда как сам текст сообщения определён в отдельной переменной.
Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак.
Отправить несколько документов или других файлов tg_send_some_document()
! Эти функции позволяют отправлять файлы любого типа. Рекомендуемые форматы: 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 — форматирование описания, то есть выделение текста жирным или курсивом ***
Пример
Давайте разберём пример отправки одного документа, добавив к нему inline-кнопки и описание:
Сначала получите ссылку на ваш документ. Подробное объяснение того, как это сделать, можно найти здесь.
Создайте блок и задайте переменные, как показано на скриншоте:

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

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

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

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки
Пример кода для отправки одного документа:
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)Как отправить аудио / голосовое аудио
Отправить аудиосообщение tg_send_voice()
! Эта функция позволяет отправлять голосовые файлы типа .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"}]
В примере показан только словарь, тогда как сам текст сообщения хранится в переменной.
Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак
Отправить несколько аудиосообщений tg_send_some_audio()
! Эта функция позволяет отправлять аудиофайлы типа .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 —форматирование текста в подписи: жирный или курсив ***
Пример
Как уже было сказано выше, функция работает с файлами .OGG. Поэтому сначала нужно получить аудиозапись в этом формате. Если у вас есть .MP3-файл, вы можете конвертировать его в .OGG с помощью https://t.me/mp3toolsbot бота.
Далее отправьте полученный файл себе в боте, чтобы получить file_id по алгоритму описанному здесь.
Теперь соберём функцию:

Отлично! Хорошая работа!
Пример для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки
Ошибка при отправке голосовых сообщений
Если сообщение не удаётся отправить из-за настроек приватности, возвращается следующая ошибка:
{"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}
После этого данные пользователя обновятся, и голосовые сообщения будут отправляться корректно.
Как отправлять анимации
Отправить анимацию tg_send_animation()
! Эта функция позволяет отправлять 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"}]
В этом примере показан только словарь, тогда как сам текст сообщения хранится в переменной
Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак
Пример
Давайте усложним задачу и отправим анимацию с копированием и защитой от спойлера.
Как всегда, процесс начинается с получения внутренней ссылки Telegram для выбранной анимации (подробности здесь).

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

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

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки
Как отправлять видео
Отправить видео через API Telegram tg_send_video()
! Эта функция позволяет отправлять файлы 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"}]
В этом примере показан только словарь, тогда как сам текст сообщения хранится в переменной
Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак
Отправить несколько видео через API Telegram tg_send_some_video()
! Работа с бизнес-аккаунтом 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.
Пример
Итак, начните с получения ссылки на файл, который мы хотим отправить, а затем заполните необходимые параметры функции:


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

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки
Как отправлять круглое видео
Отправить круглое видео tg_send_video_note()
! Начиная с версии 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 — идентификатор темы (доступен в супергруппах с функциональностью форума)
Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак
Пример
Если у вас есть квадратное видео, вы можете преобразовать его в круглое с помощью https://t.me/roundNoteBot бота:

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

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки
Как отправлять местоположение
Отправить геолокацию tg_send_venue()
! Работа с 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 — идентификатор темы (доступен в супергруппах с функциональностью форума)
Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак
Пример
Итак, начнём с определения координат места. Получить их можно с помощью Google Maps

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

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


Как отправлять контакты
Отправить контакт tg_send_contact()
! Работа с бизнес-аккаунтом 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 — идентификатор темы (доступен в супергруппах с функциональностью форума)
Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак
Пример
Заполните параметры: номер телефона, имя и фамилию.

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

Как отправить стикер
Отправить стикер tg_send_sticker()
! Работа с бизнес-аккаунтом 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 — идентификатор темы (доступен в супергруппах с функциональностью форума)
Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак
Пример
Отправка стикера ничем не отличается от отправки любого другого вложения: 1. Получите внутреннюю ссылку Telegram (подробнее здесь) 2. Заполните параметры функции 3. Отправьте блок себе и проверьте результат

Результат:

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки
Как отправить фото
Понимание параметра caption параметра
caption параметраТекст caption параметр предоставляет описательный текст для изображения (например, краткое резюме или пояснение). Он работает следующим образом:
При одном изображении: если задана подпись, сообщение будет содержать и изображение, и описательный текст.
При нескольких изображениях: каждое изображение может иметь свою собственную подпись. В этом случае каждое изображение будет отправлено вместе со своим описанием.
Опыт пользователя: текст подписи обычно отображается, когда пользователь нажимает или касается изображения.
Для получения подробных технических характеристик и поведения API, пожалуйста, обратитесь к официальной документации Telegram.
Примечание: если вы следуете видеоуроку, пожалуйста, внимательно проверьте шаги, так как настройки и интерфейсы со временем могут обновляться.
Отправить фото tg_send_photo()
! Фотография должна быть не больше 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"}]
В этом примере показан только словарь, тогда как сам текст сообщения хранится в переменной
Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак
Отправить несколько фото tg_send_some_photo()
! Фотография должна быть не больше 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 — форматирование текста в подписи: жирный или курсив ***
Пример
Рассмотрим пример функции отправки нескольких изображений:
сначала создайте массив изображений

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

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

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки для видео
Как отправить игральную кость
Отправить эмодзи со случайным выбором (Dice) tg_send_dice()
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 с информацией о счёте и о том, какое эмодзи было использовано.
Пример
Самый простой вариант — вызвать функцию только с одним обязательным параметром:

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

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

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



Как отправить группу медиа
Отправить группу медиа tg_send_media_group()
! Работа с бизнес-аккаунтом 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-files
caption — заголовок отправляемого файла, 0–1024 символа.
parse_mode — форматирование текста в подписи: жирный или курсив
Подробнее: https://core.telegram.org/bots/api#sending-files
Пример массива media_list:
[{"type": "photo", "media": "AgACAgIAAxkBAAIKa2W6HqQG151EaWOKnCyy8feBi8p_AAIH1zEbicvYSfi2QYj-CMreAQADAgADeAADNAQ", "caption": "видео с призраками"}, {"type": "video", "media": "BAACAgIAAxkBAAIKpGW6P_HGDoVz7u4blDF6925WO-hmAALVPQACicvYSYwIWCJKwKIWNAQ", “caption”: “видео с зайцем”}]
Пример
Рассмотрим пример функции отправки нескольких изображений:
сначала создайте массив изображений

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

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

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки для видео
Как отправлять большие файлы-вложения
Пример
В Telegram (как для бизнес-аккаунтов, так и для обычных аккаунтов) можно отправлять вложения по ссылке:
Вы можете отправлять вложения любого размера, обходя ограничения на размер файлов.
Вы также можете отправлять вложения любого нужного вам типа.
Как это сделать:
Скопируйте ссылку на вложение, которое уже доступно публично:

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

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