Налаштування чату та месенджера Telegram

Робота з platform ID у MaviBot

У MaviBot усі Telegram-об’єкти (користувачі, групи, канали) ідентифікуються за універсальною platform_id змінною. Ця змінна не розрізняє типи об’єктів.

Проблема: Щоб використовувати функції на кшталт accept або reject які вимагають конкретних типів об’єктів, потрібно знати і chat ID, і user ID окремо.

Рішення: Коли ви отримуєте callback або повідомлення, одразу збережіть platform_id значення у дві окремі змінні з відповідними назвами:

  • chat_id — для збереження ID групи/каналу.

  • user_id — для збереження ID окремого користувача.

Це дозволяє пізніше звертатися до правильного ID у логіці вашого застосунку.

Як змінити назву чату через Telegram-бота

chevron-rightОписhashtag

tg_set_group_title(platform_id, title) -

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! title

нова назва чату

Як змінити опис чату через Telegram-бота

chevron-rightОписhashtag

tg_set_chat_description(platform_id, description)

Параметр
Опис

! platform_id

ID чату в Telegram *

! description

нова назва чату

Як встановити аватар у групі/чаті в Telegram

chevron-rightОписhashtag

tg_set_chat_photo(platform_id, photo)

Параметр
Опис

! platform_id

ID чату в Telegram *, в якому ви хочете встановити аватар

! фото

посилання на фото

Як видалити аватар у групі/чаті в Telegram

chevron-rightОписhashtag

tg_delete_chat_photo(platform_id)

Параметр
Опис

! platform_id

ID чату в Telegram *, в якому потрібно встановити аватар

Як забанити Telegram-групу

chevron-rightОписhashtag

tg_ban_chat_sender_chat(platform_id, sender_chat_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *, яку потрібно забанити

! sender_chat_id

ID чату, який буде забанено

Водночас власник забаненого чату не зможе писати від імені своїх інших чатів, доки його не буде розбанено.

Як розбанити Telegram-групу

chevron-rightОписhashtag

tg_unban_chat_sender_chat(platform_id, sender_chat_id)

Параметр:

Параметр
Опис

! platform_id

ID чату в Telegram *, у якому ви розбанюєте

! sender_chat_id

ID чату, який ви розбанюєте

Як створити посилання-запрошення для приєднання до Telegram-чату

chevron-rightОписhashtag

tg_create_chat_invite_link(platform_id, member_limit, hours, request, name)

Параметр:

Параметр
Опис

! platform_id

ID чату в Telegram *

member_limit

ліміт кількості учасників

hours

час дії посилання (у годинах)

request

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

name

назва посилання

circle-info

Під час передавання member_limit параметра значення request параметра автоматично змінюється на False. Якщо вам потрібно приймати заявки на вступ, тоді залиште member_limit параметр порожнім.

Створення посилання-запрошення до чату

Як видалити посилання-запрошення до чату в Telegram

chevron-rightОписhashtag

tg_revoke_chat_invite_link(platform_id, invite_link)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! invite_link

посилання, яке потрібно видалити

Як деактивувати всі наявні посилання й замінити їх одним посиланням

chevron-rightОписhashtag

tg_export_chat_link(platform_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! invite_link

посилання, яке потрібно видалити

У результаті — це посилання буде єдиним способом потрапити до групи, доки додаткові посилання не буде створено іншими способами.

circle-exclamation

Як прийняти запит і додати користувача в Telegram-канал/чат

chevron-rightОписhashtag

tg_approve_chat_join_request(chat_id, user_id)

Параметри:

! chat_id

ID групи/каналу в Telegram *

! user_id

ID користувача в Telegram *

Прийняття запиту:

Як відхилити запит у Telegram-каналі/чаті

chevron-rightОписhashtag

tg_decline_chat_join_request(chat_id, user_id)

Параметри:

! chat_id

ID групи/каналу в Telegram *

! user_id

ID користувача в Telegram *

Відхилення запиту

Як заблокувати користувача в Telegram

chevron-rightОписhashtag

tg_ban_chat_member(chat_id, user_id, hours)

Параметри:

Параметр
Опис

! chat_id

ID чату в Telegram *

! user_id

ID користувача в Telegram * для блокування

hours

Тривалість блокування в годинах. За замовчуванням блокування є постійним. Якщо ви вкажете тривалість блокування понад 366 днів, блокування буде встановлено як постійне.

Як розблокувати користувача в Telegram

chevron-rightОписhashtag

tg_unban_chat_member(chat_id, user_id)

Параметри:

Параметр
Опис

! chat_id

ID чату в Telegram *

! user_id

ID користувача в Telegram *, якого потрібно розблокувати

Як перевірити статус підписки в Telegram

chevron-rightОписhashtag

tg_get_chat_member(chat_id, user_id)

Параметри:

Параметр
Опис

! chat_id

ID чату в Telegram *

! user_id

ID користувача в Telegram *, чию підписку ми перевіряємо

Як визначити кількість учасників у каналі/чаті

chevron-rightОписhashtag

tg_get_chat_member_count(platform_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

Як перевірити, чи є учасник чату у певному списку

chevron-rightsome_client_in_list(list_id, recepient)hashtag

Параметри:

Параметр
Опис

! list_id

номер списку

! recepient

ID користувача в Telegram *. Для клієнтів чату це значення міститься у змінній chat_member_id.

Як показати користувачеві дії бота (друк/вибір стікера тощо)

chevron-rightОписhashtag

tg_send_chat_action(platform_id, bot_action, message_thread_id)

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

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! bot_action

дія бота зі списку

message_thread_id

ID теми (доступно для супергруп, якщо увімкнено функціонал форуму).

chevron-rightСписок доступних дій bot_actionhashtag

typing для текстових повідомлень, upload_photo для фото, record_video або upload_video для відео, record_voice або upload_voice для голосових нотаток, upload_document для звичайних документів, choose_sticker для стікерів, find_location для даних про місцезнаходження, record_video_note або upload_video_note для відеонотатки.

circle-info

Це сповіщення буде відображатися, доки не буде отримано будь-яку відповідь від бота, але не довше ніж 5 секунд.

Як показати користувачеві Alert-сповіщення

chevron-rightОписhashtag

tg_answer_callback_query(callback_query_id, text,show_alert,cache_time)

Параметр
Опис

! callback_query_id (обов’язково)

Цей ID дозволяє вам визначити людину, яка натиснула кнопку, і показати їй Alert-сповіщення.

! text (обов’язково)

Текст Alert-сповіщення.

show_alert

Ознака зникаючого сповіщення (False — спливаюча підказка, що зникає, True — постійне віконне сповіщення)

cache_time

Максимальний час у секундах, протягом якого результат callback-запиту може кешуватися на боці клієнта. Додатки Telegram підтримуватимуть кешування, починаючи з версії 3.14. Значення за замовчуванням — 0

chevron-rightПрикладhashtag

Alert-сповіщення показуються лише в результаті натискання на кнопку callback у Telegram.

Наприклад, використаємо такі кнопки:

[{"line":0,"index_in_line":0,"text":"111","type":"inline","callback":"first"}, {"line":1,"index_in_line":0,"text":"222","type":"inline","callback":"second"}, {"line":2,"index_in_line":0,"text":"333","type":"inline","callback":"third"}]

Після натискання кнопки приходить callback із текстом, що міститься у відповідному полі. Коли ви натиснете кнопку “111”, ви отримаєте callback із текстом “first".

Давайте створимо блок Start і вкажемо потрібний текст у тригері. У нашому випадку: "first

Якщо в полі Matches ви оберете Ігнорування помилок і неточностей, цей блок надалі можна буде повторно використовувати для всіх схожих варіантів, які відрізняються на 1–2 символи. Наприклад, щоб подякувати користувачеві за надану оцінку за допомогою такої кнопки.

Далі в калькуляторі використайте tg_answer_callback_query функцію та передайте такі параметри: callback_query_id - цей ID дозволяє вам визначити користувача, який натиснув кнопку, і показати йому Alert - сповіщення text - текст Alert-сповіщення.

Приклад коду для копіювання:

tg_answer_callback_query('#{callback_query_id}', "Ви натиснули кнопку 111")

circle-exclamation

Якщо все налаштовано правильно, натискання кнопки призведе до Alert - сповіщення із зазначеним текстом. У мобільній версії ім’я бота відображатиметься як заголовок над текстом.

Якщо ви хочете показати просте спливаюче повідомлення натомість, передайте False як третій параметр, як показано в прикладі нижче: tg_answer_callback_query('#{callback_query_id}', "Ви натиснули кнопку 222", False)

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

Додавання переходу до бота за допомогою тегу як відповіді на кнопку callback

chevron-rightОписhashtag

tg_callback_url_open(callback_query_id, url, cache_time)

Параметри:

Параметри
Опис

! callback_query_id

Цей ID дозволяє вам визначити людину, яка натиснула кнопку, і показати їй Alert-сповіщення.

! url

URL, що веде до бота та параметр (формат: t.me/your_bot?start=XXXX, де your_bot — це ім’я бота)

cache_time

Максимальний час у секундах, протягом якого результат callback-запиту може кешуватися на боці клієнта. Додатки Telegram підтримуватимуть кешування, починаючи з версії 3.14. Значення за замовчуванням — 0

chevron-rightПрикладhashtag

У відповіді на кнопку callback можна додати перехід до бота за допомогою тега tg_callback_url_open('#{callback_query_id}', 't.me/bot_name?start=XXXX')

Наприклад, використаємо такі кнопки:

[{"line":0,"index_in_line":0,"text":"111","type":"inline","callback":"first"}, {"line":1,"index_in_line":0,"text":"222","type":"inline","callback":"second"}, {"line":2,"index_in_line":0,"text":"333","type":"inline","callback":"third"}]

Після натискання кнопки приходить callback із текстом, що міститься у відповідному полі. Коли ви натиснете кнопку “111”, ви отримаєте callback із текстом “first".

Створіть блок із перевіркою основної умови та вкажіть потрібний текст в умові. У нашому випадку: “first”:

Якщо в полі Варіант збігу ви оберете Ігнорувати помилки та неточності, цей блок надалі можна буде повторно використовувати для всіх схожих варіантів, які відрізняються на 1–2 символи. Наприклад, щоб подякувати користувачеві за надану оцінку за допомогою такої кнопки.

Далі в калькуляторі блоку вкажіть tg_callback_url_open('#{callback_query_id}', 't.me/bot_name?start=XXXX'):

Як підвищити користувача до адміністратора в супергрупі або каналі

chevron-rightОписhashtag

tg_promote_user(platform_id, user_id, promote_options_list)

Параметри:

Параметр
Опис

! platform_id

ідентифікатор супергрупи або, якщо використовується в каналі, ім’я користувача каналу у форматі @channelusername в Telegram *

! user_id

ідентифікатор користувача в Telegram. *

! promote_options_list

список дозволів, які потрібно ввімкнути.

chevron-rightОбов’язковий параметр: promote_options_listhashtag

У параметрі promote_options_list :

  1. is_anonymous — приховує присутність адміністратора в чаті,

  2. can_manage_chat — адміністратор може отримати доступ до журналу подій чату, статистики чату, статистики повідомлень у каналах, переглядати учасників каналу, переглядати анонімних адміністраторів у супергрупах і обходити повільний режим. Це право надається за замовчуванням, якщо вказано будь-які з наступних привілеїв

  3. can_post_messages — адміністратор може створювати публікації в каналі (лише канали)

  4. can_edit_messages — адміністратор може редагувати повідомлення інших користувачів і закріплювати повідомлення (лише канали)

  5. can_delete_messages — адміністратор може видаляти повідомлення інших користувачів

  6. can_manage_video_chats — адміністратор може керувати відеочатами,

  7. can_restrict_members — адміністратор може обмежувати учасників, банити/розбанювати їх у чаті,

  8. can_promote_members — адміністратор може призначати нових адміністраторів із частиною власних привілеїв або понижувати адміністраторів, яких він призначив безпосередньо чи опосередковано (наприклад, адміністраторів, призначених ним)

  9. can_change_info — адміністратор може змінювати назву чату, фото та інші налаштування

  10. can_invite_users — адміністратор може запрошувати нових користувачів до чату

  11. can_pin_messages — адміністратор може закріплювати повідомлення (лише супергрупи).

chevron-rightПрикладhashtag

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

У цьому прикладі, окрім зазначених дозволів, за замовчуванням буде надано дозвіл can_manage_chat.

Призначення дозволів користувачеві
Встановлення власного заголовка адміністратора

Приклад коду для копіювання

Як змінити титул адміністратора за допомогою бота в Telegram

chevron-rightОписhashtag

tg_set_administrator_title(platform_id, user_id, title)

Параметри:

Параметр
Опис

! platform_id

ідентифікатор супергрупи в Telegram *

! user_id

ідентифікатор користувача в Telegram *

! title

титул адміністратора

Обмеження для титулу:

Довжина: 0–16 символів, емодзі не дозволені

circle-exclamation

Приклад коду для копіювання:

Загальні обмеження для звичайних учасників чату або конкретних користувачів Telegram

chevron-rightОписhashtag

tg_chat_permission(platform_id, permission, media_permissions)

Параметри:

Параметр
Опис

! platform_id

ідентифікатор чату в Telegram *

! permission

масив значень зі списку обмежень (див. нижче).

1 = дія дозволена

0 = дія заборонена

Індекс масиву відповідає позиції у списку обмежень

! media_permissions

масив значень, що визначає дозволи, пов’язані з медіа (детальніше нижче).

1 = дія дозволена

0 = дія заборонена

Індекс масиву відповідає позиції у списку медіадозволів

chevron-rightСписок обмежень для потрібного параметра permissionhashtag

Список обмежень для permission: 1. ! can_send_messages - дозвіл надсилати текстові повідомлення, контакти, місцезнаходження та місця. 2. ! can_send_media_messages - дозвіл надсилати аудіо, документи, фото, відео, відеонотатки та голосові нотатки. Потрібно can_send_messages 3. ! can_send_polls - дозвіл надсилати опитування. Потрібно can_send_messages 4. ! can_send_other_messages - дозвіл надсилати анімації, ігри, стікери та використовувати inline-ботів. Потрібно can_send_media_messages 5. ! can_add_web_page_previews - дозвіл додавати попередній перегляд вебсторінок до повідомлень. Потрібно can_send_media_messages 6. ! can_change_info - дозвіл змінювати назву чату, фото та інші налаштування. Це ігнорується в публічних супергрупах. 7. ! can_invite_users - дозвіл запрошувати користувачів 8. ! can_pin_messages - дозвіл закріплювати повідомлення. Це ігнорується в публічних супергрупах. 9. can_manage_topics - дозвіл створювати теми у форумних групах. Якщо використати у групі неправильного типу, функція завершиться помилкою та поверне помилку.

chevron-rightСписок значень для потрібного параметра media_permissionshashtag

Значення для надання медіапов’язаних дозволів media_permissions:

1. can_send_audios - дозвіл надсилати аудіофайли 2. can_send_documents - дозвіл надсилати документи 3. can_send_photos - дозвіл надсилати фото 4. can_send_videos - дозвіл надсилати відео 5. can_send_video_notes - дозвіл надсилати круглі відеоповідомлення 6. can_send_voice_notes - дозвіл надсилати голосові повідомленняя

Обмеження Telegram Personal для звичайних користувачів чату або для конкретних користувачів Telegram

chevron-rightОписhashtag

tg_restrict_chat_member(platform_id, user_id, minutes, permission, media_permissions).

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! user_id

ID користувача в Telegram *

minutes

кількість хвилин, протягом яких обмеження залишатиметься активним. Якщо ви не вкажете значення, за замовчуванням буде 3600, що дорівнює 60 годинам. Якщо ви встановите його на 0, обмеження стане постійним

permission

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

media_permissions

список значень для надання медіапов’язаних дозволів

chevron-rightСписок обмежень для потрібного параметра permissionhashtag

Список обмежень для permission: 1. ! can_send_messages - дозвіл надсилати текстові повідомлення, контакти, місцезнаходження та місця. 2. ! can_send_media_messages - дозвіл надсилати аудіо, документи, фото, відео, відеонотатки та голосові нотатки. Потрібно can_send_messages 3. ! can_send_polls - дозвіл надсилати опитування. Потрібно can_send_messages 4. ! can_send_other_messages - дозвіл надсилати анімації, ігри, стікери та використовувати inline-ботів. Потрібно can_send_media_messages 5. ! can_add_web_page_previews - дозвіл додавати попередній перегляд вебсторінок до повідомлень. Потрібно can_send_media_messages 6. ! can_change_info - дозвіл змінювати назву чату, фото та інші налаштування. Це ігнорується в публічних супергрупах. 7. ! can_invite_users - дозвіл запрошувати користувачів 8. ! can_pin_messages - дозвіл закріплювати повідомлення. Це ігнорується в публічних супергрупах. 9. can_manage_topics - дозвіл створювати теми у форумних групах. Якщо використати у групі неправильного типу, функція завершиться помилкою та поверне помилку.

chevron-rightСписок значень для потрібного параметра media_permissionshashtag

Значення для надання медіапов’язаних дозволів media_permissions:

1. can_send_audios - дозвіл надсилати аудіофайли 2. can_send_documents - дозвіл надсилати документи 3. can_send_photos - дозвіл надсилати фото 4. can_send_videos - дозвіл надсилати відео 5. can_send_video_notes - дозвіл надсилати круглі відеоповідомлення 6. can_send_voice_notes - дозвіл надсилати голосові повідомленняя

chevron-rightПрикладhashtag

Приклад використання функції, де користувача обмежено в усьому на 3 хвилини:

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

Приклад коду для копіювання:

Як закріпити повідомлення

chevron-rightОписhashtag

tg_pin_chat_message(platform_id, message_id, disable_notification)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

message_id

ID повідомлення, яке потрібно закріпити

disable_notification

Параметр визначає, чи слід надсилати сповіщення всім учасникам чату про нове закріплене повідомлення (у каналах і приватних чатах сповіщення завжди вимкнені). Якщо ви не хочете надсилати сповіщення, встановіть параметр disable_notification на 1. Інакше встановіть його на 0.

Як відкріпити повідомлення

chevron-rightОписhashtag

tg_unpin_chat_message(platform_id, message_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

message_id

ID повідомлення, яке слід відкріпити. Якщо message_id не вказано, буде відкріплено найновіше закріплене повідомлення (за датою надсилання)

Як відкріпити всі закріплені повідомлення

chevron-rightОписhashtag

tg_unpin_all(platform_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

circle-exclamation

Як створити опитування в Telegram

chevron-rightОписhashtag

tg_send_poll(platform_id, question, options, is_anonymous, allows_multiple_answers, reply_markup, disable_notification, protect_content, token, reply_to_message_id, message_thread_id, business_connection_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! question

question

! options

масив варіантів відповіді

is_anonymous

1 - анонімне опитування , '' - не анонімне

allows_multiple_answers

1 - доступно кілька відповідей, '' - одна відповідь

reply_markup

клавіатура або '' - без клавіатури

disable_notification

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

protect_content

1 — щоб захистити від копіювання та знімків екрана, '' — без захисту

token

токен бота; якщо не вказано, використовується поточний

reply_to_message_id

ID цитованого повідомлення

message_thread_id

ID теми (доступно для супергруп, якщо функція форуму активна)

business_connection_id

значення під час підключення бота (Business ID). Відображається в каналах. Потрібно вказати, якщо використовується токен бота, а повідомлення має бути надіслане через обліковий запис користувача, підключений до бота

chevron-rightВажливо знати!hashtag

Примітки

1. Функція повертає відповідь від Telegram з message_id. Її краще зберегти. Використовуючи message_id, ви можете зупинити опитування за допомогою tg_stop_poll (див. опис нижче) і отримати результат.

2. Якщо користувач додає опитування в месенджері, до чату надсилається callback:

poll_added - незмінна частина YOUR QUESTION - текст питання з опитування

Приклад колбеку при додаванні опитування в канал

Приклад колбеку при додаванні опитування в чат

Другий колбек після poll_added містить цифри — це не що інше, як ідентифікатор користувача в Telegram, який додав опитування.

circle-exclamation

3. У каналі можна створювати лише анонімні опитування

circle-info

Увага, рекомендується надсилати в групу лише анонімні опитування!

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

chevron-rightПрикладhashtag

Відгуки клієнтів є ключем до нашого зростання. Опитування пропонують простий спосіб зібрати цей зворотний зв’язок і перетворити його на конкретні бізнес-висновки.

Приклад коду для копіювання:

Функція для створення опитування в Telegram:

Опитування, яке ми створили в Telegram

Як створити вікторину в Telegram

chevron-rightОписhashtag

tg_send_quiz_poll(platform_id, question, options, explanation, correct_option_id, is_anonymous, reply_markup, parse_mode, protect_content, disable_notification, token, reply_to_message_id, message_thread_id )

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! question

question

! options

масив варіантів відповіді

! explanation

текст, який показується, коли користувач обирає неправильну відповідь або натискає на іконку лампочки у вікторинному опитуванні, 0–200 символів, не більше двох переносів рядка після парсингу сутностей.

! correct_option_id

номер правильної відповіді, нумерація з 1

is_anonymous

1 - анонімне опитування , '' - не анонімне

reply_markup

клавіатура або '' - без клавіатури

parse_mode

формат пояснення: markdown, html, або '' (порожній рядок, якщо форматування не потрібне)

protect_content

1 — щоб захистити від копіювання та знімків екрана, '' — без захисту

disable_notification

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

token

токен бота; якщо не вказано, використовується поточний

reply_to_message_id

ID цитованого повідомлення

message_thread_id

ID теми (доступно в супергрупах з активними функціями форуму)

chevron-rightВажливо знати!hashtag

Примітки

1. Збережіть message_id

Функція API повертає відповідь Telegram, що містить message_id. Завжди зберігайте цей ID, оскільки він потрібен для:

  • Завершення вікторини за допомогою tg_stop_poll функції (див. опис нижче).

  • Отримання фінальних результатів.

2. Callback poll_added

Якщо користувач додає опитування до каналу, бот отримує callback:

  • Формат: poll_added + Питання опитування

  • Якщо додано до групового чату: callback також містить Telegram User ID особи, яка додала опитування.

circle-exclamation

3. Обмеження каналу

Лише анонімні вікторини можна створювати в каналах.

4. Callback poll_answer (Голосування користувача)

Коли користувач голосує у вікторині, надісланій до приватного чату або group, до діалогу бота з цим клієнтом надсилається callback:

  • Формат: poll_answer + ID опитування + [Індекс відповіді]

  • Приклад: poll_answer 5325838371359031648 [3]

  • Примітка: нумерація відповідей починається з 0. [3] означає, що користувач обрав четвертий варіант відповіді.

5. Webhook для неанонімних групових опитувань

Для неанонімних опитувань у групах, де бот є адміністратором, webhook надсилається для кожного голосу. Після отримання його бот пересилає poll_answer callback (як у пункті 4) до свого діалогу з відповідним клієнтом.

6. Вимога активації та найкраща практика

  • Вимога: бот не може сам ініціювати розмову. Якщо клієнт ніколи не звертався до бота, ви не можете надіслати йому пряме повідомлення у відповідь на його голосування, доки він спочатку не активує бота (наприклад, надіславши /start команду).

circle-info

Рекомендація: щоб уникнути цього обмеження, настійно рекомендується надсилати в групи лише анонімні вікторини.

7. Відстежуйте свої опитування

Одразу після створення вікторини збережіть її унікальний ID опитування у змінну. Це дозволяє визначити, до якого саме опитування належить вхідний callback.

chevron-rightПрикладhashtag

Приклад коду для копіювання.

Приклад: створення вікторини.

Як завершити опитування

chevron-rightОписhashtag

tg_stop_poll(platform_id, message_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! message_id

ID повідомлення опитування/вікторини. Його можна отримати з webhook

circle-info

Виклик цієї функції для завершення опитування/вікторини повертає словник, що містить фінальні результати.

Як працювати з темами в Telegram

circle-exclamation

Як перейменувати загальну тему групи

chevron-rightОписhashtag

tg_edit_general_forum_topic(platform_id, topic_name)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! topic_name

нова назва теми

bot_name

необов’язковий параметр: ім’я бота.

Під час роботи з темами ви можете вказати, який бот має виконувати функцію. Це корисно, якщо ваш проєкт використовує кілька ботів Telegram. Ім’я бота можна знайти в розділі "Channels", у полі "Group ID".

chevron-rightПрикладhashtag

Загальну тему групи можна змінити за допомогою tg_edit_general_forum_topic() функції. Вона потребує двох обов’язкових параметрів: ID чату та нової назви теми групи:

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

перейменувати чат загальної теми/ answer = tg_edit_general_forum_topic(-1001839380031, 'General')

Як закрити загальну тему

chevron-rightОписhashtag

tg_close_general_forum_topic(platform_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

bot_name

необов’язковий параметр: ім’я бота.

Під час роботи з темами ви можете вказати, який бот має виконувати функцію. Це корисно, якщо ваш проєкт використовує кілька ботів Telegram. Ім’я бота можна знайти в розділі "Channels", у полі "Group ID".

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

/закрити чат загальної теми/ answer = tg_close_general_forum_topic(-1001839380031)

Як знову відкрити раніше закриту загальну тему

chevron-rightОписhashtag

tg_reopen_general_forum_topic(platform_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

bot_name

необов’язковий параметр: ім’я бота.

Під час роботи з темами ви можете вказати, який бот має виконувати функцію. Це корисно, якщо ваш проєкт використовує кілька ботів Telegram. Ім’я бота можна знайти в розділі "Channels", у полі "Group ID".

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

/знову відкрити чат загальної теми/ answer = tg_reopen_general_forum_topic(-1001839380031)

Як приховати загальну тему

chevron-rightОписhashtag

tg_hide_general_forum_topic(platform_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

bot_name

необов’язковий параметр: ім’я бота.

Під час роботи з темами ви можете вказати, який бот має виконувати функцію. Це корисно, якщо ваш проєкт використовує кілька ботів Telegram. Ім’я бота можна знайти в розділі "Channels", у полі "Group ID".

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

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

/приховати чат загальної теми/ answer = tg_hide_general_forum_topic(-1001839380031)

Як показати загальну тему або відновити її видимість

chevron-rightОписhashtag

tg_unhide_general_forum_topic(platform_id)

Параметри:

Параметр
Опис

! platform_id

ID теми всередині Telegram *

bot_name

необов’язковий параметр: ім’я бота.

Під час роботи з темами ви можете вказати, який бот має виконувати функцію. Це корисно, якщо ваш проєкт використовує кілька ботів Telegram. Ім’я бота можна знайти в розділі "Channels", у полі "Group ID".

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

/показати чат загальної теми/ answer = tg_unhide_general_forum_topic(-1001839380031)

Як створити нову тему в Telegram

chevron-rightОписhashtag

tg_create_forum_topic(platform_id, name, icon, icon_color)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! name

нова назва теми

icon

ID емодзі, який буде встановлено для теми. Передається як рядок. Ви можете використовувати лише емодзі зі списку, отриманого за допомогою tg_get_forum_icon функцію.

icon_color

колір емодзі зі списку: 7322096, 16766590, 13338331, 9367192, 16749490, 16478047. Не всі емодзі підтримують зміну кольору.

bot_name

необов’язковий параметр: ім’я бота.

Під час роботи з темами ви можете вказати, який бот має виконувати функцію. Це корисно, якщо ваш проєкт використовує кілька ботів Telegram. Ім’я бота можна знайти в розділі "Channels", у полі "Group ID".

circle-info

Встановлений колір не можна змінити; колір можна призначити лише під час створення теми.

Після виконання функція поверне відповідь із параметрами нової теми, включно з ID теми (потрібним для різних функцій).

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

Щоб створити додатковий чат теми answer = tg_create_forum_topic(-1001839380031, 'second_bot_topic', None, 7322096)

Щоб зберегти ID створеного додаткового чату теми answer={"ok":true,"result":{"message_thread_id":254,"name":"second_bot_topic","icon_color":7322096}}/ idtema1=answer['result']['message_thread_id']

Як редагувати тему. Як перейменувати та/або змінити емодзі для теми

chevron-rightОписhashtag

tg_edit_forum_topic(platform_id, message_thread_id, name, icon)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! message_thread_id

ID додаткового чату теми

name

нова назва теми

icon

ID емодзі, який буде встановлено для теми. Передається як рядок. Ви можете використовувати лише емодзі зі списку, отриманого за допомогою tg_get_forum_icon функцію.

bot_name

необов’язковий параметр: ім’я бота.

Під час роботи з темами ви можете вказати, який бот має виконувати функцію. Це корисно, якщо ваш проєкт використовує кілька ботів Telegram. Ім’я бота можна знайти в розділі "Channels", у полі "Group ID".

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

answer = tg_edit_forum_topic(-1001839380031, 254)

Як закрити вибрану тему

chevron-rightОписhashtag

Закриття теми означає переведення її в режим лише для читання; писати в закритій темі не можна.

tg_close_forum_topic(platform_id, message_thread_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! message_thread_id

ID додаткового чату теми

bot_name

необов’язковий параметр: ім’я бота.

Під час роботи з темами ви можете вказати, який бот має виконувати функцію. Це корисно, якщо ваш проєкт використовує кілька ботів Telegram. Ім’я бота можна знайти в розділі "Channels", у полі "Group ID".

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

answer = tg_close_forum_topic(-1001839380031, 254)

Як знову відкрити раніше закриту тему

chevron-rightОписhashtag

tg_reopen_forum_topic(platform_id, message_thread_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! message_thread_id

ID додаткового чату теми

bot_name

необов’язковий параметр: ім’я бота.

Під час роботи з темами ви можете вказати, який бот має виконувати функцію. Це корисно, якщо ваш проєкт використовує кілька ботів Telegram. Ім’я бота можна знайти в розділі "Channels", у полі "Group ID".

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

answer = tg_reopen_forum_topic(-1001839380031, 254)

Як видалити тему та всі її повідомлення

chevron-rightОписhashtag

tg_delete_forum_topic(platform_id, message_thread_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! message_thread_id

ID додаткового чату теми

bot_name

необов’язковий параметр: ім’я бота.

Під час роботи з темами ви можете вказати, який бот має виконувати функцію. Це корисно, якщо ваш проєкт використовує кілька ботів Telegram. Ім’я бота можна знайти в розділі "Channels", у полі "Group ID".

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

answer = tg_delete_forum_topic(-1001839380031, 254)

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

chevron-rightОписhashtag

tg_unpin_topic_messages(platform_id, message_thread_id)

Параметри:

Параметр
Опис

! platform_id

ID чату в Telegram *

! message_thread_id

ID додаткового чату теми

bot_name

необов’язковий параметр: ім’я бота.

Під час роботи з темами ви можете вказати, який бот має виконувати функцію. Це корисно, якщо ваш проєкт використовує кілька ботів Telegram. Ім’я бота можна знайти в розділі "Channels", у полі "Group ID".

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

answer = tg_unpin_topic_messages(-1001839380031, 254)

Як отримати список емодзі для теми Telegram

chevron-rightОписhashtag

Як отримати список емодзі

tg_get_forum_icon() – ця функція повертає список емодзі, доступних для використання як іконки форумних тем. Результат потрібно присвоїти змінній, оскільки вона повертає словник, де кожен ключ — це емодзі, а відповідне значення — унікальний ідентифікатор емодзі (id).

Параметри: немає.

chevron-rightВміст списку емодзіhashtag

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

Функція поверне список емодзі у своїй відповіді. Це означає, що змінна answer міститиме словник як своє значення.

{'📰': '5434144690511290129', '💡': '5312536423851630001', '⚡️': '5312016608254762256', '🎙': '5377544228505134960', '🔝': '5418085807791545980', '🗣': '5368697802761185083', '🆒': '5420216386448270341', '❗️': '5379748062124056162', '📝': '5357193964787081133', '📆': '5433614043006903194', '📁': '5357315181649076022', '🔎': '5309965701241379366', '📣': '5309984423003823246', '🔥': '5312241539987020022', '❤️': '5312138559556164615', '❓': '5377316857231450742', '📈': '5350305691942788490', '📉': '5350713563512052787', '💎': '5309958691854754293', '💰': '5350452584119279096', '💸': '5309929258443874898', '\U0001fa99': '5377690785674175481', '💱': '5310107765874632305', '⁉️': '5377438129928020693', '🎮': '5309950797704865693', '💻': '5350554349074391003', '📱': '5409357944619802453', '🚗': '5312322066328853156', '🏠': '5312486108309757006', '💘': '5310029292527164639', '🎉': '5310228579009699834', '‼️': '5377498341074542641', '🏆': '5312315739842026755', '🏁': '5408906741125490282', '🎬': '5368653135101310687', '🎵': '5310045076531978942', '🔞': '5420331611830886484', '📚': '5350481781306958339', '👑': '5357107601584693888', '⚽️': '5375159220280762629', '🏀': '5384327463629233871', '📺': '5350513667144163474', '👀': '5357121491508928442', '\U0001fae6': '5357185426392096577', '🍓': '5310157398516703416', '💄': '5310262535021142850', '👠': '5368741306484925109', '✈️': '5348436127038579546', '\U0001f9f3': '5357120306097956843', '🏖': '5310303848311562896', '⛅️': '5350424168615649565', '🦄': '5413625003218313783', '🛍': '5350699789551935589', '👜': '5377478880577724584', '🛒': '5431492767249342908', '🚂': '5350497316203668441', '🛥': '5350422527938141909', '🏔': '5418196338774907917', '🏕': '5350648297189023928', '🤖': '5309832892262654231', '\U0001faa9': '5350751634102166060', '🎟': '5377624166436445368', '🏴\u200d☠️': '5386395194029515402', '🗳': '5350387571199319521', '🎓': '5357419403325481346', '🔭': '5368585403467048206', '🔬': '5377580546748588396', '🎶': '5377317729109811382', '🎤': '5382003830487523366', '🕺': '5357298525765902091', '💃': '5357370526597653193', '\U0001fa96': '5357188789351490453', '💼': '5348227245599105972', '\U0001f9ea': '5411138633765757782', '👨\u200d👩\u200d👧\u200d👦': '5386435923204382258', '👶': '5377675010259297233', '🤰': '5386609083400856174', '💅': '5368808634392257474', '🏛': '5350548830041415279', '\U0001f9ee': '5355127101970194557', '🖨': '5386379624773066504', '👮\u200d♂️': '5377494501373780436', '\U0001fa7a': '5350307998340226571', '💊': '5310094636159607472', '💉': '5310139157790596888', '\U0001f9fc': '5377468357907849200', '\U0001faaa': '5418115271267197333', '🛃': '5370947704199323325', '🍽': '5350344462612570293', '🐟': '5384574037701696503', '🎨': '5310039132297242441', '🎭': '5350658016700013471', '🎩': '5357504778685392027', '🔮': '5350367161514732241', '🍹': '5350520238444126134', '🎂': '5310132165583840589', '☕️': '5350392020785437399', '🍣': '5350406176997646350', '🍔': '5350403544182694064', '🍕': '5350444672789519765', '\U0001f9a0': '5312424913615723286', '💬': '5417915203100613993', '🎄': '5312054580060625569', '🎃': '5309744892677727325'}

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

Last updated