Inline-режим у Telegram
Що таке inline-режим у Telegram?
Окрім того, що бот може відповідати на будь-які запити безпосередньо в особистому чаті або групі, за допомогою онлайн-режиму ви можете глобально звертатися до бота в чаті, групі або каналі.
Щоб звернутися до бота, у якого ввімкнено онлайн-режим, просто введіть @*ім'я бота* у Повідомлення .
Найяскравіший і найпопулярніший приклад бота, що працює онлайн, — @gif, за допомогою якого можна вибирати та надсилати gif-зображення:

Бот @gif працюватиме в будь-якому чаті.
Як увімкнути inline-режим?
Щоб бот працював в офлайн-режимі, потрібно ввімкнути цю опцію в налаштуваннях бота в BotFather.
Виберіть потрібного бота та перейдіть до Налаштування бота.

Потім оберіть Inline Mode

Тут потрібно ввімкнути офлайн-режим, якщо він не ввімкнений.

Як змінити placeholder?
За потреби ви можете змінити placeholder, який відображається перед введенням пошукового запиту. За замовчуванням це Пошук…

Щоб змінити його, натисніть Edit Inline Placeholder кнопку:

Вкажіть точний вміст placeholder.

Як налаштувати результати виводу
Після натискання на опцію зі списку в inline-режимі буде надіслано повідомлення, яке вказане в заголовку вибраної опції, і ви можете налаштувати реакцію у funnel на це значення.
Щоб вказати дані для виводу в inline-режимі, потрібно встановити змінну inline_bot. В inline-режимі пошук значень у змінній inline_bot відбувається майже в реальному часі.
Дані в змінній можна вказати трьома способами. Розглянемо від найпростішого до максимальних налаштувань.
Масив із текстовими даними
Наприклад, пошук відбуватиметься по масиву товарів.

Змінна inline_bot вказується в налаштуваннях проєкту. Пошук зіставляє будь-який варіант масиву, який містить введену фразу.


Коли ви вводите '@name__вашого__бота' та початкові літери команд, відкривається меню зі значеннями, які ви вказали в змінній проєкту.
Після натискання на потрібний елемент користувачеве повідомлення буде надіслано боту, для якого можна налаштувати реакцію в боті.
Налаштування блока виглядає так:

Зразок даних:
["Milk", "Bread", "Pasta", "Chocolate", "Eggs", "Butter", "Bun", "Tea", "Vegetables", "Fruit"]
Вивід за відсутності фільтрації
Ви можете задати порожній ключ і призначити йому масив значень у нижньому регістрі або масив словників. Бот звертатиметься до словника за допомогою порожнього ключа та виводитиме кнопки зі значеннями з призначеного масиву.
Inline-кнопка із заданим значенням пошуку
Зверніть увагу!
Inline-кнопки в Telegram — це не callback'и.
Якщо вам потрібно отримувати callback'и, тоді прочитайте про callback-кнопки в Telegram.
Кнопка працює лише в Telegram.
Щоб задати пошукову фразу, додайте параметр inline_query до inline-кнопки зі значенням, яке автоматично вставляється в запит.
Рекомендується використовувати цей варіант для офлайн-режиму, оскільки це дозволить уникнути помилок і працюватиме швидше.
Наприклад, додайте три кнопки, які відповідають прикладу з попереднього розділу.
[{"line":0,"index_in_line":0,"text":"Show the menu","type":"inline","inline_query":"menu"},{"line":0,"index_in_line":1,"text":"Статті","type":"inline","inline_query":"posts"},{"line":2,"index_in_line":0,"text":"List of products","type":"inline","inline_query":"products"}]

Коли ви натиснете на кнопку, наприклад, на Статтю, буде показано знайдений список кнопок (під час додавання ви вказали для цієї кнопки "inline_query":"posts"):

Опції беруться з заданої змінної, як описано вище в "Словник зі списком" :

Примітки
Змінну inline_bot можна задавати не лише в загальних змінних, а й як просту змінну, але в цьому випадку її значення має бути взяте в одинарні лапки.
Приклад у полі калькулятора:
inline_bot = '["Milk", "Bread", "Pasta", "Chocolate", "Eggs", "Butter", "Puff Pastry", "Tea", "Vegetables", "Fruits", "#{aa}"]'
Ви також можете передавати будь-яке значення як змінну для більш гнучкого налаштування.
Наприклад, простий варіант у масиві:

Last updated