Функції для надсилання вкладень у повідомленнях
Як надсилати документи
Надіслати документ 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: '[["Посилання на документ", "caption", "parse_mode"], ["Посилання на документ 2"], ["Посилання на документ 3", "caption"]]'
Приклад форматування даних для одного документа ["Посилання на документ", "caption", "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", "caption", "parse_mode"], ["Посилання на аудіо 2"], ["Посилання на аудіо 3", "caption"]]'
Приклад одного аудіо: ["Посилання на аудіо", "caption", "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", "caption", "parse_mode"], ["Посилання на відео2"], ["Посилання на відео3", "caption"]]'
Приклад створення одного аудіо: ["Посилання на відео", "caption", "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, якому потрібно надіслати повідомлення *
! широта —latitude
! довгота — довгота
! 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, якому потрібно надіслати повідомлення *
! фото - посилання на зображення. Як отримати посилання через 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", "caption", "parse_mode"], ["Посилання на зображення 2"], ["Посилання на зображення 3", "caption"]]'
Приклад даних для одного зображення: ["Посилання на зображення 1", "caption", "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 (як для бізнес-акаунтів, так і для звичайних акаунтів) ви можете надсилати вкладення за посиланням:
Ви можете надсилати вкладення будь-якого розміру, обходячи обмеження на розмір файлу.
Ви також можете надсилати будь-який тип вкладення, який вам потрібен.
Як це зробити:
Скопіюйте посилання на вкладення, яке вже є у відкритому доступі:

Потім вставте скопійоване посилання у функцію вкладення у вашому блоці:

Готово. Так ви можете надсилати вкладення будь-якого типу та розміру.
Last updated