Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Message Box
iconnone
titleНа этой странице:
typegeneric
Оглавление
Подсказка
titleTwin LiveDemo

Данный кейс поддерживается телеграм ботом LiveDemo – ID этого кейса: 139952299. 

Подробнее про LiveDemo

В этой В данной статье мы разберем, каким образом можно отправить сообщение с inline-кнопками в Telegram.

Что такое inline-кнопка

...

В отличие от обычных кнопок, которые используются для выбора вариантов ответов в диалоге с ботом, inline-кнопки используются для перехода по ссылкам, и . Они размещаются прямо под сообщением бота.
Пример того, как выглядит сообщение Сообщение с inline-кнопками:
Image Removed
Image Added

Типы inline-кнопок

API Telegram позволяет создавать inline-кнопки двух типов:1)

  • Кнопка для перехода по ссылке

...

  • . Ссылка, связанная с кнопкой, будет открыта во внешнем браузере.

...


  • Кнопка для открытия веб-приложения (WebApp)

...

  • . Ссылка, связанная с кнопкой, будет открыта как веб-приложение внутри встроенного в Telegram окна.

Как отправить сообщение с inline-кнопкой

...

Для отправки такого сообщения потребуется нужно использовать метод отправки сообщения в блоке запроса к серверу. Разберем подробнее:

Фрагмент сценария

Image RemovedImage Added

Примечание

Важно, чтобы перед данным этим фрагментом не было блоков информации - он может стоять после блоков вопроса, либо в начале сценария, так как при установке блоков информации прямо перед данным фрагментом , потому что в таком случае порядок отправки сообщений будет нарушен. 

Параметры блоков

1). Перед блоком запроса к серверу требуется установить поставьте блок результата, так как для отправки сообщения с помощью API потребуется нужно создать несколько переменных и присвоить им значения:

  • bot_token

...

  • токен бота Telegram, который можно получить при создании бота в BotFather.

...


  • Подсказка

    Подробнее о создании бота в Telegram

...

...

  • идентификатор чата, в который будет отправлено сообщение. Существует два возможных значения: для отправки сообщения в текущий чат, используется системная переменная {messengerUserId}. Для отправки сообщения в другой чат, можно ввести идентификатор нужного чата. Получить его можно с помощью IDBot в Telegram.

  • text

...

  • – текст отправляемого сообщения.

...


  • Image Added



2). Затем необходимо установить поставьте блок запроса к серверу со следующими параметрами:

ПараметрЗначение
Тип запросаPOST
URLhttps://api.telegram.org/bot{bot_token}/sendMessage?chat_id={chat_id}
&parse_mode=Markdown
&text={text}
Тип содержимогоjson

Image Added


В теле запроса передается текст кнопки, и ссылка, которая открывается при нажатии кнопки. Для каждой кнопки требуются два поля в теле запроса:

Для кнопки перехода по ссылке:

Название поляЗначение поля
reply_markup.inline_keyboard.0.0.textТекст кнопки.
reply_markup.inline_keyboard.0.0.urlСсылка, которая откроется при нажатии кнопки.

Для кнопки открытия веб-приложения:

Название поляЗначение поля
reply_markup.inline_keyboard.0.0.textТекст кнопки.
reply_markup.inline_keyboard.0.0.web_app.urlСсылка, которая откроется как веб-приложение внутри Telegram при нажатии кнопки.

Для отправки нескольких кнопок, необходимо добавить добавьте для них по два своих поля в теле запроса, заменяя в их названии второй ноль на нумерацию кнопки. Счет начинается с нуля, поэтому у первой кнопки будет номер 0. Например, для Для отправки двух кнопок в одну строку поля будут такие:

Название поля
reply_markup.inline_keyboard.0.0.text
reply_markup.inline_keyboard.0.0.url
reply_markup.inline_keyboard.0.1.text
reply_markup.inline_keyboard.0.1.url

Image Added

Для распределения кнопок в несколько строк,
необходимо заменить замените первый ноль на номер строки. Нумерация строк также начинается с нуля. В каждой строке своя нумерация кнопок. Например, для отправки двух кнопок в две строки поля будут такие:

Название поля
reply_markup.inline_keyboard.0.0.text
reply_markup.inline_keyboard.0.0.url
reply_markup.inline_keyboard.1.0.text
reply_markup.inline_keyboard.1.0.url

...

Таким образом можно добавлять по несколько кнопок в каждую строку. Например, с 3 кнопками и нумерацией 0.0, 0.1, 1.0 можно получить такой результат:

Image Added



Так вы можете отправить сообщение с inline-кнопками в Telegram.

Пример работы

...

Image Removed


Нажатие Нажмите на кнопку со ссылкой на сайт:.

Image Removed

При подтверждении ссылка откроется в браузере.

Нажатие на кнопку веб-приложения:

Image Removed

При подтверждении ссылка откроется как веб-приложение внутри Telegram:

Image Added


Откроется окошко подтверждения, нажмите ОК, чтобы открыть веб-приложение внутри Telegram.

Image Added


Откроется веб-приложение.

Image AddedImage Removed