Кнопки в одну строку
- Используйте маркер ##INLINE:…##, чтобы указать кнопки.
- Кнопки разделяются символом ;.
- Каждая строка кнопок заключается в квадратные скобки […].
##INLINE:(На какую дату вы хотели бы записаться?)[Сегодня;Завтра;Другая]##
Несколько строк кнопок
Каждая пара квадратных скобок […] создаёт новую строку. Кнопки внутри одних скобок располагаются рядом.
##INLINE:[Кнопка 1; Кнопка 2][Открыть сайт(url:https://example.com)]##
Результат:
- Первая строка: «Кнопка 1» и «Кнопка 2».
- Вторая строка: «Открыть сайт».
А вот пример с приветствием и двумя строками-кнопками:
##INLINE:(Я могу очень многое, выбирай нужный пункт меню)[Эксперт по настройке ботов][Анализатор ошибок в логах]##
Типы кнопок
Простая текстовая кнопка
Формат: Текст
Пример: Кнопка 1
Кнопка с текстом «Кнопка 1» отправляет callback_data = "Кнопка 1". Для callback_data используются только первые 31 символ текста или команды.
Кнопка с URL
Формат: Текст(url:ссылка)
Пример: Открыть сайт(url:https://example.com)
Кнопка открывает указанную ссылку.
##INLINE:[Открыть сайт(url:https://example.com)]##
Кнопка с веб-приложением (WebApp)
Формат: Текст(webapp:ссылка)
Пример: Открыть приложение(webapp:https://example.com)
Открывает Telegram WebApp по ссылке прямо внутри бота.
Кнопка с командой
Формат: Текст(cmd:команда)
Пример: Показать погоду(cmd:weather)
Кнопка отправляет боту callback_data = "weather".
Кнопка для запроса контакта
Формат: Текст(contact)
Пример: Отправить контакт(contact)
Открывает у пользователя диалог с предложением поделиться своим контактом.
Формат v2 со стрелкой
Более простой и читаемый формат: Текст -> тип:значение
Примеры
- Открыть сайт -> url:https://example.com
- Показать погоду -> cmd:weather
- Открыть приложение -> webapp:https://example.com
Полный пример
##INLINE:[Открыть сайт -> url:https://example.com; Показать погоду -> cmd:weather]##
Результат:
- Кнопка «Открыть сайт» — со ссылкой.
- Кнопка «Показать погоду» — с командой weather.
Полезные советы
- Используйте квадратные скобки […] для создания строк кнопок.
- Если нужно добавить текст перед кнопками, используйте формат (Текст)[…]. Пример: ##INLINE:(Выберите действие)[Кнопка 1; Кнопка 2]##
- Для callback_data используются только первые 31 символ текста или команды.
- Внутри одних скобок […] кнопки идут в один ряд; каждая следующая пара скобок — это новая строка.