Функції для надсилання вкладень у повідомленнях

Як надсилати документи

chevron-rightНадіслати документ tg_send_document() hashtag

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

! Працює з бізнес-акаунтом Telegram

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

Параметри:

! platform_id — ідентифікатор клієнта в Telegram, якому потрібно надіслати повідомлення *

! document - посилання на документ на сервері Telegram. Отримання посилання через tg_request пояснюється тут.

caption - опис, до 1024 символів

reply_markup — налаштування кнопок **

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

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''.

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

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

Щоб спростити опис набору кнопок, можна використати таку хитрість.

chevron-rightНадіслати кілька документів або інших файлів tg_send_some_document()hashtag

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

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

Параметри:

! platform_id — ідентифікатор клієнта в Telegram, якому потрібно надіслати повідомлення *

! document_list - масив документів. Приклад побудови такого масиву наведено нижче

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

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''.

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

message_thread_id — ідентифікатор гілки (доступний у супергрупах із функцією форуму)

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

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

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

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

chevron-rightПрикладhashtag

Розгляньмо приклад надсилання одного документа, додавання inline-кнопок і опису до документа:

  1. Спочатку отримайте посилання на свій документ. Детальне пояснення того, як це зробити, можна знайти тут.

  2. Створіть блок і встановіть змінні, як показано на скріншоті:

  3. Надішліть блок собі та подивіться на результат нашої роботи:

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

  1. Тут також потрібно отримати внутрішнє посилання Telegram для кожного документа і сформувати масив. lnkdoc='[["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Document1"],["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Document2"]]'

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

3. І перевірте результат роботи:

chevron-rightПриклад коду для копіюванняhashtag

Пам’ятайте, що посилання унікальні для кожного бота, тож переконайтеся, що ви згенерували власні посилання

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

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

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

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

Як надсилати аудіо / голосове аудіо

chevron-rightНадіслати аудіоповідомлення tg_send_voice()hashtag

! Ця функція дає змогу надсилати голосові файли типу .OGG, закодовані OPUS, розміром до 2 ГБ.

! Працює лише з бізнес-акаунтом Telegram

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

Параметри:

! platform_id — ідентифікатор клієнта в Telegram, якому слід надіслати повідомлення *

! voice - посилання на голосове повідомлення у форматі .OGG

caption - опис до 1024 символів

reply_markup — налаштування кнопок **

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

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''.

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

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

Щоб спростити опис набору кнопок, можна використати таку хитрість

chevron-rightНадіслати кілька аудіоповідомлень tg_send_some_audio()hashtag

! Ця функція дає змогу надсилати аудіофайли типу .MP3 або .M4A максимальною розміром 2 ГБ.

! Працює з бізнес-акаунтом Telegram

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

Параметри:

! platform_id — ідентифікатор клієнта в Telegram, якому слід надіслати повідомлення *

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

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

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''.

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

message_thread_id — ідентифікатор теми (доступний у супергрупах із функціоналом форуму)

Приклад побудови масиву audio_list: '[["Посилання на аудіо 1", "caption", "parse_mode"], ["Посилання на аудіо 2"], ["Посилання на аудіо 3", "caption"]]'

Приклад одного аудіо: ["Посилання на аудіо", "caption", "parse_mode"]

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

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

chevron-rightПрикладhashtag

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

Далі надішліть отриманий файл собі в бот, щоб отримати file_id за алгоритмом описаним тут.

Тепер зберімо функцію:

Чудово! Молодець!

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

Пам’ятайте, що посилання унікальні для кожного бота, тож переконайтеся, що ви згенерували власні посилання

chevron-rightПомилка під час надсилання голосових повідомленьhashtag

Якщо повідомлення не вдалося надіслати через налаштування конфіденційності, повертається така помилка:

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

Причина помилки: у налаштуваннях конфіденційності користувача є опція «Не отримувати голосові повідомлення» (або від усіх, або лише від певних користувачів):

Навіть якщо користувач вимкне це обмеження конфіденційності, помилка все одно буде з’являтися.

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

Рішення:

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

Після цього дані користувача буде оновлено, і голосові повідомлення надсилатимуться коректно.

Як надсилати анімації

chevron-rightНадіслати анімацію tg_send_animation()hashtag

! Ця функція дає змогу надсилати GIF або відео H.264/MPEG-4 AVC без звуку розміром до 2 ГБ.

! Працює з бізнес-акаунтом Telegram

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

Параметри:

! platform_id — ідентифікатор клієнта Telegram, якому потрібно надіслати повідомлення. *

! animation- посилання на анімацію. Як отримати посилання через tg_request пояснюється тут

caption - опис до 1024 символів

reply_markup — налаштування кнопок **

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

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''.

has_spoiler — вмикає спойлер. Щоб увімкнути, встановіть True.

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

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

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

Щоб спростити описи наборів кнопок, можна використати таку хитрість

chevron-rightПрикладhashtag

Ускладнімо завдання та надішлемо анімацію з копіюванням і захистом спойлером.

Як завжди, процес починається з отримання внутрішнього посилання Telegram для вибраної анімації (деталі тут).

Нарешті, зберіть функцію:

І перевірте результат роботи:

chevron-rightПриклад коду для копіюванняhashtag

Пам’ятайте, що посилання унікальні для кожного бота, тож переконайтеся, що ви згенерували власні посилання

Як надсилати відео

chevron-rightНадіслати відео через API Telegram tg_send_video()hashtag

! Ця функція дає змогу надсилати файли MPEG4 розміром до 2 ГБ. (Інші формати можна надсилати як файли за допомогою tg_send_document())

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

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

Параметри:

! platform_id — ідентифікатор клієнта Telegram, якому потрібно надіслати повідомлення *

! video - посилання на відео. Як отримати посилання через tg_request див. тут

caption - опис до 1024 символів

reply_markup — налаштування кнопок **

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

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''.

has_spoiler — вмикає спойлер. Щоб увімкнути, встановіть True

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

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

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

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

Щоб спростити описи наборів кнопок, можна використати таку хитрість

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

! Працює з бізнес-акаунтом Telegram

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

Параметри:

! platform_id — ідентифікатор клієнта Telegram, якому потрібно надіслати повідомлення *

! video_list - масив відеофайлів (деталі нижче)

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

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

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

message_thread_id — ідентифікатор теми (доступний у супергрупах із функціоналом форуму)

Приклад створення масиву відео video_list: '[["Посилання на відео1", "caption", "parse_mode"], ["Посилання на відео2"], ["Посилання на відео3", "caption"]]'

Приклад створення одного аудіо: ["Посилання на відео", "caption", "parse_mode"]

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

Опис параметрів: ! Посилання на відео — внутрішня URL-адреса відео Telegram. Отримання посилання через tg_request описано тут. caption — текстовий підпис до 1024 символів parse_mode — форматування тексту в підписі жирним або курсивом ***. Можливі значення: html, markdown, markdownV2.

chevron-rightПрикладhashtag

Отже, спочатку отримаймо посилання на файл, який хочемо надіслати, а потім заповнімо потрібні параметри функції:

Отримання посилання на відео через tg_request
Надсилання параметра відео

Після перевірки отримуємо відео:

chevron-rightПриклад коду для копіюванняhashtag

Пам’ятайте, що посилання унікальні для кожного бота, тож переконайтеся, що ви згенерували власні посилання

Як надсилати кругле відео

chevron-rightНадіслати кругле відео tg_send_video_note()hashtag

! Починаючи з версії 4.0, Telegram підтримує надсилання круглих відео MPEG4 тривалістю до однієї хвилини.

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

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

Параметри:

! platform_id — ідентифікатор клієнта Telegram, якому потрібно надіслати повідомлення *

! video_note - посилання на відео. Як отримати посилання через tg_request описано тут reply_markup — налаштування кнопок **

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

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

message_thread_id — ідентифікатор теми (доступний у супергрупах із функціоналом форуму)

Щоб спростити описи наборів кнопок, можна використати таку хитрість

chevron-rightПрикладhashtag

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

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

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

chevron-rightПриклад коду для копіюванняhashtag

Пам’ятайте, що посилання унікальні для кожного бота, тож переконайтеся, що ви згенерували власні посилання

Як надсилати місцезнаходження

chevron-rightНадіслати геолокацію tg_send_venue()hashtag

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

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

Параметри:

! platform_id — ідентифікатор клієнта Telegram, якому потрібно надіслати повідомлення *

! широта —latitude

! довгота — довгота

! title — назва

! address — адреса

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''

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

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

reply_markup — налаштування кнопок **

message_thread_id — ідентифікатор теми (доступний у супергрупах із функціоналом форуму)

Щоб спростити описи наборів кнопок, можна використати таку хитрість

chevron-rightПрикладhashtag

Отже, спочатку визначмо координати місця. Їх можна отримати за допомогою Google Maps arrow-up-right

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

Тепер перейдемо до заповнення параметрів функції та отримання потрібного результату:

chevron-rightПриклад коду для копіюванняhashtag

Як надсилати контакти

chevron-rightНадіслати контакт tg_send_contact()hashtag

! Працює з бізнес-акаунтом Telegram

Telegram пропонує швидкий спосіб ділитися контактами з вашої адресної книги. Месенджер підтримує надсилання vCard — електронної візитної картки

Функція tg_send_contact дає змогу надсилати номер телефону з ім’ям (або назвою організації), а також додавати кнопки й вмикати захист вмісту для повідомлення.

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

! - обов’язковий параметр функції

Параметри:

! platform_id — ідентифікатор клієнта Telegram, якому потрібно надіслати повідомлення *

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

! ім’я та прізвище - ім’я та прізвище

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''

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

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

reply_markup — налаштування кнопок **

message_thread_id — ідентифікатор теми (доступний у супергрупах із функціоналом форуму)

Щоб спростити описи наборів кнопок, можна використати таку хитрість

chevron-rightПрикладhashtag

Заповніть параметри: номер телефону, ім’я та прізвище.

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

Подивіться на результат:

chevron-rightПриклад коду для копіюванняhashtag

Як надсилати стікер

chevron-rightНадіслати стікер tg_send_sticker()hashtag

! Працює з бізнес-акаунтом Telegram

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

Параметри:

! platform_id — ідентифікатор клієнта Telegram, якому потрібно надіслати повідомлення *

! sticker_id - ID стікера. Як отримати посилання через tg_request пояснюється тут

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''

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

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

reply_markup — налаштування кнопок **

message_thread_id — ідентифікатор теми (доступний у супергрупах із функціоналом форуму)

Щоб спростити описи наборів кнопок, можна використати таку хитрість

chevron-rightПрикладhashtag

Надсилання стікера нічим не відрізняється від надсилання будь-якого іншого вкладення: 1. Отримайте внутрішнє посилання Telegram (деталі тут) 2. Заповніть параметри функції 3. Надішліть блок собі та перевірте результат

Надсилання стікера

Результат:

chevron-rightПриклад коду для копіюванняhashtag

Пам’ятайте, що посилання унікальні для кожного бота, тож переконайтеся, що ви згенерували власні посилання

Як надсилати фото

circle-exclamation

Розуміння caption параметра

chevron-rightНадіслати фото tg_send_photo()hashtag

! Фотографія має бути не більшою за 10 МБ. Загальна ширина й висота не повинні перевищувати 10 000 пікселів. Співвідношення ширини до висоти не повинно перевищувати 20.

! Працює з бізнес-акаунтом Telegram

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

Параметри:

! platform_id — ідентифікатор клієнта Telegram, якому потрібно надіслати повідомлення *

! фото - посилання на зображення. Як отримати посилання через tg_request пояснюється тут.

caption - опис до 1024 символів

reply_markup — налаштування кнопок **

parse_mode — форматування тексту в підписі жирним або курсивом ***

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''

has_spoiler — вмикає форматування спойлера, встановіть True для активації

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

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

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

Щоб спростити описи наборів кнопок, можна використати таку хитрість

chevron-rightНадіслати кілька фото tg_send_some_photo()hashtag

! Фотографія має бути не більшою за 10 МБ. Загальна ширина й висота не повинні перевищувати 10 000 пікселів. Співвідношення ширини до висоти не повинно перевищувати 20.

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

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

Параметри:

! platform_id — ідентифікатор клієнта Telegram, якому потрібно надіслати повідомлення *

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

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

protect_content — прапорець для захисту вмісту від копіювання (необов’язковий параметр, для ввімкнення передайте значення 1)

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

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

message_thread_id — ідентифікатор теми (доступний у супергрупах із функціоналом форуму)

Приклад image_list:

'[["Посилання на зображення 1", "caption", "parse_mode"], ["Посилання на зображення 2"], ["Посилання на зображення 3", "caption"]]'

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

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

Опис параметрів:

! Посилання на зображення 1 - посилання на зображення. Як отримати посилання через tg_request пояснюється тут

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

parse_mode — форматування тексту в підписі жирним або курсивом ***

chevron-rightПрикладhashtag

Розгляньмо приклад функції для надсилання кількох зображень:

спочатку створіть масив зображень

Далі заповніть параметри функції

Надішліть блок собі та насолоджуйтеся результатом

chevron-rightПриклад коду для копіюванняhashtag

Пам’ятайте, що посилання унікальні для кожного бота, тож переконайтеся, що ви згенерували власні посилання для відео

Як надсилати кубик

chevron-rightНадіслати емодзі з випадковим вибором (Dice) tg_send_dice() hashtag

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

! Працює з бізнес-акаунтом Telegram

Параметри:

! platform_id — ідентифікатор клієнта Telegram, якому потрібно надіслати повідомлення *

emoji - емодзі, яке потрібно надіслати. Якщо параметр залишити порожнім, за замовчуванням буде надіслано кубик. Ви можете передати або саме емодзі як рядок, або ключове слово, яке його позначає

reply_markup — налаштування кнопок **

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

reply_to_message_id -ID повідомлення, на яке потрібно відповісти (тобто процитувати)

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''

message_thread_id — ідентифікатор теми (доступний у супергрупах із функціоналом форуму)

Щоб спростити описи наборів кнопок, можна використати таку хитрість

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

Крім того, якщо клієнт надішле боту одне з цих емодзі, ви отримаєте callback із інформацією про рахунок і про те, яке саме емодзі було використано.

chevron-rightПрикладhashtag

Найпростіший варіант — викликати функцію лише з одним обов’язковим параметром:

У цьому випадку клієнт отримає кубик:

Якщо клієнт кине кубик (натиснувши на отримане емодзі), бот отримає callback із кількістю випалих очок:

Ви можете експериментувати з цією функцією. Наприклад, створімо слот-машину та додамо Очки кнопку. Коли кнопку буде натиснуто, ми отримаємо загальну кількість очок клієнта:

Перше повідомлення: Запропонувати зіграти
Приклад бота
chevron-rightПриклад коду для копіюванняhashtag

Перший приклад:

Другий приклад:

Як надіслати медіагрупу

chevron-rightНадіслати медіагрупу tg_send_media_group()hashtag

! Працює з бізнес-акаунтом Telegram

Метод для надсилання групи фотографій, відео, документів або аудіофайлів як альбому. У разі успіху повертається масив надісланих файлів.

Примітка: документи та аудіофайли не можна групувати з іншими типами файлів!

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

Параметри:

! platform_id — ідентифікатор клієнта Telegram, якому потрібно надіслати повідомлення

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

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

protect_content — прапорець для захисту вмісту від копіювання. Щоб увімкнути, передайте будь-яке значення, крім 0, False або порожніх лапок ''

reply_to_message_id - ID повідомлення, на яке потрібно відповісти (тобто процитувати)

message_thread_id — ідентифікатор теми (доступний у супергрупах із функціоналом форуму);

Вміст елементів масиву media_list:

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

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

Дізнатися більше: https://core.telegram.org/bots/api#sending-filesarrow-up-right

caption — назва файлу, що надсилається, 0–1024 символи.

parse_mode — форматування тексту в підписі жирним або курсивом

Дізнатися більше: https://core.telegram.org/bots/api#sending-filesarrow-up-right

Приклад масиву media_list:

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

chevron-rightПрикладhashtag

Розгляньмо приклад функції для надсилання кількох зображень:

спочатку створіть масив зображень

Далі заповніть параметри функції

Надішліть блок собі та насолоджуйтеся результатом

chevron-rightПриклад коду для копіюванняhashtag

Пам’ятайте, що посилання унікальні для кожного бота, тож переконайтеся, що ви згенерували власні посилання для відео

Як надсилати великі вкладення файлів

chevron-rightПрикладhashtag

У Telegram (як для бізнес-акаунтів, так і для звичайних акаунтів) ви можете надсилати вкладення за посиланням:

  1. Ви можете надсилати вкладення будь-якого розміру, обходячи обмеження на розмір файлу.

  2. Ви також можете надсилати будь-який тип вкладення, який вам потрібен.

Як це зробити:

Скопіюйте посилання на вкладення, яке вже є у відкритому доступі:

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

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

Last updated