Как отправлять документы
Отправить документ 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 — форматирование описания, т.е. выделение текста жирным или курсивом ***
Пример
Давайте рассмотрим пример отправки одного документа, добавив встроенные кнопки и описание к документу:
-
Сначала получите ссылку на ваш документ. Подробное объяснение того, как это сделать, можно найти здесь.
-
Создайте блок и задайте переменные, как показано на скриншоте:

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

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

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

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно генерируйте свои собственные ссылки
Пример кода для отправки одного документа:
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 — ID темы (доступен в супергруппах с функционалом форума)
Пример построения массива audio_list:
'[["Ссылка на аудио 1", "описание", "parse_mode"], ["Ссылка на аудио 2"], ["Ссылка на аудио 3", "описание"]]'
Пример одного аудио:
["Ссылка на аудио", "описание", "parse_mode"]
Порядок параметров важен! При построении массива аудиофайлов кавычки "" можно опускать
Описание параметров:
! Ссылка на аудио - ссылка на аудиофайл в формате .OGG
caption — описание (до 1024 символов)
parse_mode — форматирование текста в описании жирным или курсивом ***
Пример
Как указано выше, функция работает с файлами .OGG. Поэтому первая задача — получить аудиозапись в этом формате.
Если у вас есть файл .MP3, вы можете конвертировать его в .OGG с помощью бота https://t.me/mp3toolsbot.
Затем отправьте полученный файл себе в бота, чтобы получить file_id, следуя алгоритму, описанному здесь.
Теперь соберите функцию:

Отлично! Молодцы!
Пример для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно генерируйте свои собственные ссылки
tg_send_voice(platform_id, "CQACAgIAAxkBAAER70Bi8VkgNhegB-msqDWXm2qHi3n9-AAC-iAAAk6giUvIXkW-XzBN0ikE")
Ошибка при отправке голосовых сообщений
Если сообщение не удается отправить из-за настроек конфиденциальности, возвращается следующая ошибка:
{"ok":false,"error_code":400,"description":"Bad Request: user restricted receiving of voice messages"}
Причина ошибки: в настройках конфиденциальности пользователя есть опция «Не получать голосовые сообщения» (либо от всех, либо разрешено только от определенных пользователей):

Даже если пользователь отключит это ограничение конфиденциальности, ошибка будет продолжать появляться.
На самом деле, только полное удаление клиента из базы данных Mavibot помогает преодолеть эту ошибку, даже если пользователь уже включил разрешения.
Решение:
После того как пользователь изменил настройки конфиденциальности, необходимо выдержать паузу в 30–60 секунд (пока серверы мессенджера обработают изменения), и только затем отправить API-запрос к Telegram через бота:
https://api.telegram.org/bot\/getChat?chat_id=#{platform_id}
После этого данные пользователя обновятся, и голосовые сообщения будут отправляться корректно.
Как отправлять анимации
Отправить анимацию tg_send_animation()
! Эта функция позволяет отправлять GIF или видео H.264/MPEG-4 AVC без звука максимальным размером 2 ГБ.
! Работа с Telegram business-account
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** — ID клиента Telegram, которому должно быть отправлено сообщение. *
!** animation** — ссылка на анимацию. Как получить ссылку через tg_request, описано здесь
caption — описание до 1024 символов
reply_markup — конфигурация кнопок **
parse_mode — форматирование текста в caption жирным или курсивом *****. Возможные значения: html, markdown, markdownV2
reply_to_message_id — ID сообщения, на которое нужно ответить (т.е. цитирование)
protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, отличное от 0, False или пустых кавычек ''.
has_spoiler — включает спойлер. Чтобы включить, установите True.
disable_notification — флаг отправки сообщения со звуковым уведомлением или без (по умолчанию: 0). 1 — отправить без уведомления, 0 — отправить с уведомлением
message_thread_id — 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 для выбранной анимации (подробнее здесь).

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

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

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно генерируйте свои собственные ссылки
animation="CgACAgIAAxkBAAIQDWO9Dbb0QODBmI_CUMhKHoWch7MDAAJBIQACtjXoScUjA-n5kGCYLQQ"
caption = "С Новым годом!"
soob=tg_send_animation(platform_id, animation, caption, None, None, None, True,True)
Как отправлять видео
Отправить видео через 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** — ID клиента Telegram, которому должно быть отправлено сообщение *
!** video** — ссылка на видео. Как получить ссылки через tg_request, см. здесь
caption — описание до 1024 символов
reply_markup — настройки кнопок **
parse_mode — форматирование текста в caption жирным или курсивом *****. Возможные значения: html, markdown, markdownV2.
reply_to_message_id — ID сообщения, на которое нужно ответить (т.е. цитирование)
protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, отличное от 0, False или пустых кавычек ''.
has_spoiler — включает спойлер. Чтобы включить, установите True
disable_notification — флаг отправки сообщения со звуковым уведомлением (по умолчанию: 0).
1 — отправить без уведомления, 0 — отправить с уведомлением
message_thread_id — 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 business-account
tg_send_some_video(platform_id, video_list, disable_notification, protect_content, reply_to_message_id, has_spoiler, message_thread_id)
Параметры:
!** platform_id** — ID клиента Telegram, которому должно быть отправлено сообщение *
!** video_list** — массив видеофайлов (подробнее ниже)
disable_notification — флаг отправки сообщения со звуковым уведомлением (по умолчанию: 0).
1 — отправить без уведомления, 0 — отправить с уведомлением
reply_to_message_id — ID сообщения, на которое нужно ответить (т.е. цитирование)
has_spoiler — включает форматирование спойлера (необязательно; установите True для активации)
message_thread_id — ID ветки (доступно в супергруппах с функционалом форума)
Пример построения массива видео video_list:
'[["Ссылка на видео1", "caption", "parse_mode"], ["Ссылка на видео2"], ["Ссылка на видео3", "caption"]]'
Пример построения одного аудио:
["Ссылка на видео", "caption", "parse_mode"]
Порядок параметров важен! При построении массива видеофайлов кавычки "" можно опускать
Описание параметров:
!** Ссылка на видео** — внутренний URL видео в Telegram. Получение ссылки через tg_request описано здесь.
caption — текстовая подпись до 1024 символов
parse_mode — форматирование текста в caption жирным или курсивом *****. Возможные значения: html, markdown, markdownV2.
Пример
Итак, начните с получения ссылки на файл, который хотите отправить, а затем заполните необходимые параметры функции:


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

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно генерируйте свои собственные ссылки
video="BAACAgIAAxkBAAIQFmO9Ycbt5JDIr9HKQh-XkhS9FqTxAALQIwACtjXoSXKlqfbH-I_gLQQ"
soob=tg_send_video(platform_id, video
Как отправить круглое видео
Отправить круглое видео 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** — 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 — ID ветки (доступно в супергруппах с функционалом форума)
Чтобы упростить описание наборов кнопок, можно использовать следующий лайфхак
Пример
Если у вас есть квадратное видео, вы можете преобразовать его в круглое с помощью бота https://t.me/roundNoteBot:

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

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно генерируйте свои собственные ссылки
tg_send_video_note(platform_id, 'DQACAgIAAxkBAAER6cVi6OzIezJo9FWu6WyZPzDgQX8B3QACcxsAArR3SUtRizDeiHWLNikE','','1')
Как отправить местоположение
Отправить геолокацию 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, на который должно быть отправлено сообщение *
! latitude — широта
! longitude — долгота
! title — название
! address — адрес
protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, отличное от 0, False или пустых кавычек ''
disable_notification — флаг отправки сообщения со звуковым уведомлением (по умолчанию: 0).
1 — отправить без уведомления, 0 — отправить с уведомлением
reply_to_message_id - ID сообщения, на которое нужно ответить (т.е. цитировать)
reply_markup — настройки кнопок **
message_thread_id — ID ветки (доступно в супергруппах с функционалом форума)
Чтобы упростить описание наборов кнопок, вы можете использовать следующий лайфхак
Пример
Итак, начнем с определения координат места. Вы можете получить их с помощью Google Maps

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

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


Пример кода для копирования
soob=tg_send_venue(platform_id, "48°52′", "2°4′", "Dreams come true!", "Paris, Eiffel Tower")
Как отправлять контакты
Отправить контакт tg_send_contact()
! Работа с Telegram business - аккаунт
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
! first_name и last_name - имя и фамилия
protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, отличное от 0, False или пустых кавычек ''
disable_notification — флаг отправки сообщения со звуковым уведомлением (по умолчанию: 0).
1 — отправить без уведомления, 0 — отправить с уведомлением
reply_to_message_id - ID сообщения, на которое нужно ответить (т.е. цитировать)
reply_markup — настройки кнопок **
message_thread_id — ID ветки (доступно в супергруппах с функционалом форума)
Чтобы упростить описание наборов кнопок, вы можете использовать следующий лайфхак
Пример
Заполните параметры: номер телефона, имя и фамилию.

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

Пример кода для копирования
soob=tg_send_contact(platform_id, "+79999999999", "Ann", "Test", 1)
Как отправлять стикер
Отправить стикер tg_send_sticker()
! Работа с Telegram business - аккаунт
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 — ID ветки (доступно в супергруппах с функционалом форума)
Чтобы упростить описание наборов кнопок, вы можете использовать следующий лайфхак
Пример
Отправка стикера ничем не отличается от отправки любого другого вложения:\
- Получите внутреннюю ссылку Telegram (подробнее здесь) \
- Заполните параметры функции\
- Отправьте блок себе и проверьте результат

Результат:

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно генерируйте свои собственные ссылки
soob=tg_send_sticker(platform_id, 'CAACAgIAAxkBAAEawJ5jmNeyat8uPGBMP3JzubRNXGjH3wACrw4AAsYg4UqePobN94_jkywE')
Как отправлять фото
Понимание параметра
captionПараметр
captionпредоставляет описательный текст для изображения (например, краткое резюме или объяснение). Он работает следующим образом:
- С одним изображением: если указана подпись, сообщение будет содержать как изображение, так и описательный текст.
- С несколькими изображениями: каждое изображение может иметь свою собственную подпись. В этом случае каждое изображение будет отправлено вместе со своим конкретным описанием.
Пользовательский опыт: текст подписи обычно отображается, когда пользователь нажимает или касается изображения.
Подробные технические характеристики и поведение API см. в официальной документации Telegram.
Примечание: если вы следуете видеоуроку, внимательно просмотрите шаги, так как настройки и интерфейсы могут обновляться со временем.
Отправить фото tg_send_photo()
! Фото должно быть не более 10 МБ. Общая ширина и высота не должны превышать 10 000 пикселей. Соотношение ширины к высоте не должно превышать 20.
! Работа с Telegram business - аккаунт
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 — 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-аккаунт
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 — ID ветки (доступно в супергруппах с функционалом форума)
Пример image_list:
'[["Ссылка на изображение 1", "подпись", "parse_mode"], ["Ссылка на изображение 2"], ["Ссылка на изображение 3", "подпись"]]'
Пример данных для одного изображения:
["Ссылка на изображение 1", "подпись", "parse_mode"]
Порядок параметров важен! При построении массива файлов изображений кавычки "" можно опустить
Описание параметров:
! Ссылка на изображение 1 - ссылка на изображение. Как получить ссылку через tg_request, объясняется здесь
подпись — подпись до 1024 символов
parse_mode — форматирование текста в подписи жирным или курсивом ***
Пример
Рассмотрим пример функции для отправки нескольких изображений:
сначала создайте массив изображений

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

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

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки для видео
image_list='[["https://faktoria-print.ru/wp-content/uploads/2022/07/syre-dlya-bumagi.jpg"], ["https://www.solbum.ru/upload/medialibrary/2d1/2d18bd473d50fe9c2fe6a1eb401b4fe3.JPG"], ["https://www.solbum.ru/upload/medialibrary/bb7/bb786b67b57d9ab44ef5f7b8400810bb.jpg"], ["https://obumage.net/wp-content/uploads/2017/05/tual_bumaga.jpg"]]'
soob=tg_send_some_photo(platform_id, image_list)
Как отправить игральную кость
Отправить эмодзи со случайным выбором (Игральная кость) tg_send_dice()
tg_send_dice(platform_id, emoji, reply_markup, disable_notification, reply_to_message_id, protect_content, message_thread_id)
! Работает с Telegram Business - аккаунтом
Параметры:
! platform_id — ID клиента Telegram, которому нужно отправить сообщение *
emoji — эмодзи для отправки. Если оставить параметр пустым, по умолчанию будет отправлена игральная кость. Можно передать как сам эмодзи в виде строки, так и ключевое слово, используемое для его обозначения
reply_markup — настройка кнопок **
disable_notification — флаг отправки сообщения со звуковым уведомлением (по умолчанию: 0).
1 — отправить без уведомления, 0 — отправить с уведомлением
reply_to_message_id - ID сообщения, на которое нужно ответить (т.е. цитирование)
protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, отличное от 0, False или пустых кавычек ''
message_thread_id — ID темы (доступно в супергруппах с функционалом форума)
Чтобы упростить описание набора кнопок, можно использовать следующий лайфхак
Список возможных эмодзи: \
- 'darts' или '🎯', значения от 1 до 6 \
- 'dice' или '🎲', значения от 1 до 6 \
- 'bowling' или '🎳', значения от 1 до 6 \
- 'basketball' или '🏀', значения от 1 до 5 \
- 'football' или '⚽', значения от 1 до 5 \
- 'slots' или '🎰', значения от 1 до 64
Кроме того, если клиент отправит боту один из этих эмодзи, вы получите обратный вызов, содержащий информацию о результате и о том, какой эмодзи был использован.
Пример
Самый простой вариант — вызвать функцию только с одним обязательным параметром:

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

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

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



Пример кода для копирования
Первый пример:
soob=tg_send_dice(platform_id)
Второй пример:
/* Первый пример */
tg_send_message(platform_id,'Нажмите на игровой автомат, чтобы испытать удачу!')
opts='{"inline_keyboard": [[{"text": " 👓 ","callback_data":"Play"}]]}'
soob=tg_send_dice(platform_id, 'slots', opts)
/* Второй блок - Текстовое сообщение */
#{res[1]} выпало очков
/* Второй блок - Калькулятор */
res=splitter('#{question}', ' ')
balls=if(balls==None,0,balls) + int(res[1])
/* Третий блок - Текстовое сообщение */
У вас всего #{balls} очков
Как отправить медиагруппу
Отправить медиагруппу tg_send_media_group()
! Работает с Telegram Business - аккаунтом
Метод для отправки группы фотографий, видео, документов или аудиофайлов в виде альбома. В случае успеха возвращается массив отправленных файлов.
Примечание: документы и аудиофайлы нельзя группировать с другими типами файлов!
tg_send_media_group(platform_id, media_list, disable_notification, protect_content, reply_to_message_id, message_thread_id)
Параметры:
! platform_id — ID клиента Telegram, которому нужно отправить сообщение
! media_list - массив, содержащий от 2 до 10 фотографий, видео, документов или аудиофайлов (подробнее ниже);
disable_notification — флаг отправки сообщения со звуковым уведомлением (по умолчанию: 0).
1 — отправить без уведомления, 0 — отправить с уведомлением
protect_content — флаг защиты контента от копирования. Чтобы включить, передайте любое значение, отличное от 0, False или пустых кавычек ''
reply_to_message_id - ID сообщения, на которое нужно ответить (т.е. цитирование)
message_thread_id — 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": "ghosts video"}, {"type": "video", "media": "BAACAgIAAxkBAAIKpGW6P_HGDoVz7u4blDF6925WO-hmAALVPQACicvYSYwIWCJKwKIWNAQ", “caption”: “hare video”}]
Пример
Рассмотрим пример функции для отправки нескольких изображений:
сначала создайте массив изображений

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

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

Пример кода для копирования
Помните, что ссылки уникальны для каждого бота, поэтому обязательно создавайте свои собственные ссылки для видео
image_list='[["https://faktoria-print.ru/wp-content/uploads/2022/07/syre-dlya-bumagi.jpg"], ["https://www.solbum.ru/upload/medialibrary/2d1/2d18bd473d50fe9c2fe6a1eb401b4fe3.JPG"], ["https://www.solbum.ru/upload/medialibrary/bb7/bb786b67b57d9ab44ef5f7b8400810bb.jpg"], ["https://obumage.net/wp-content/uploads/2017/05/tual_bumaga.jpg"]]'
soob=tg_send_some_photo(platform_id, image_list)
Как отправлять большие вложения
Пример
В Telegram (как для бизнес-аккаунтов, так и для обычных) можно отправлять вложения по ссылке:
- Вы можете отправлять вложения любого размера, обходя ограничения на размер файла.
- Вы также можете отправлять любые необходимые типы вложений.
Как это сделать:
Скопируйте ссылку на вложение, которое уже находится в открытом доступе:
Затем вставьте скопированную ссылку в функцию вложения в вашем блоке:
Готово. Таким образом вы можете отправлять вложения любого типа и размера.