Функция для добавления кнопок в чат Telegram
В данной статье вы создадите две функции для отображения кнопок в чате Telegram. Функции необходимо будет подключить к каналу и направить в них сообщения клиентов.
Telegram поддерживает два вида кнопок: Inline-кнопки (кнопки в тексте) и Reply-кнопки (обычные или клавиатурные). В примерах ниже мы рассмотрим функции для добавления разного вида кнопок в чат.
Добавление Inline-кнопок
В первом примере на уровне функции будет реализовано отображение Inline-кнопок.
Каждая Inline-кнопка должна содержать обязательное поле text (текст кнопки) и одно из необязательных полей url или callback_data. Если кнопка содержит только callback_data, при ее нажатии происходит вызов функции и выводится текст из callback_data. Если у кнопки есть url и callback_data, либо только url, кнопка работает как ссылка.
Предположим, что клиент обратился в чат разработчика коммуникационных сервисов и приложений в поисках решения для своего контакт-центра. По условиям функции, если клиент пишет сообщение Привет, бот выводит клавиатуру с кнопками:
Кнопка с переходом на сайт voximplant.ru, чтобы предоставить клиенту возможность озаномиться со всей продуктовой линейкой компании
Кнопка с переходом на сайт voximplant.ru/kit, чтобы клиент перешел в раздел разработки умных КЦ
Кнопка для перевода обращения на оператора
Если клиент пишет сообщение Привет. Без клавиатуры, бот клавиатуру с кнопками не показывает.
- Создайте канал Telegram, как показано здесь.
- Перейдите в раздел Управление > Функции > Управление.
- Нажмите кнопку Новая функция.

- Скопируйте следующий код и вставьте его в функцию.
- Нажмите Создать.

- Перейдите в Настройка > Диалоги > Каналы и выберите нужный канал Telegram.
- В поле Перенаправление сообщений канала выберите Функция.
- Из раскрывающего списка выберите добавленную ранее функцию.

- Нажмите Сохранить изменения.
Теперь после приветственного сообщения бот отобразит клиенту клавиатуру с кнопками.

Добавление Reply-кнопок
Далее добавим функцию для отображения Reply-кнопок. Это могут быть обычные кнопки или кнопки, содержащие местоположение или контакт.
Предполижим, клиент написал в сервис знакомств Найти друга рядом. По условиям функции, если клиент пишет сообщение Привет, бот выводит клавиатуру с кнопками:
Кнопка, которая поделится местоположением, чтобы система смогла найти людей рядом
Кнопка, которая поделится контактом, чтобы найти конкретного человека
Кнопка скрытия клавиатуры (если клиент хочет остаться в чате)
Если клиент пишет Удалить клавиатуру или нажимает соответствующую кнопку, клавиатура скрывается.
По условиям функции, если сообщение клиента содержит Без клавиатуры, бот клавиатуру не показывает.
Информацию по опциональным настройкам клавиатуры можно посмотреть здесь.
- Перейдите в раздел Управление > Функции > Управление.
- Нажмите кнопку Новая функция.

- Скопируйте следующий код и вставьте его в функцию.
- Нажмите Создать.

- В настройках канала Telegram в поле Перенаправление сообщений канала выберите Функция.
- Из раскрывающего списка выберите добавленную функцию.

- Нажмите Сохранить изменения.
Теперь после приветственного сообщения бот отобразит клиенту клавиатуру с кнопками.

Предложенные клиенту варианты кнопок или выбранный вариант можно увидеть в разделах История > История сообщений и Отчетность > Live мониторинг > Диалоги.