Как показать кнопки клавиатуры в боте Telegram, интегрированном с api.ai?

У меня есть образец Telegram Bot, который я интегрировал в свой аккаунт api.ai. Я хотел отобразить кнопки клавиатуры, как показано ниже, но похоже, что api.ai отправляет только основной текст ответа телеграмме. Любая идея, как я могу достичь того, что я только что описал выше? Посоветуйте пожалуйста указания и / или решения. Спасибо!

Я хотел отобразить пользовательские кнопки клавиатуры для Telegram при отправке ответа от api.ai

У меня есть URL веб-крючка Fulfillment, который возвращает этот json при вызове моего образца Intent

{
"id": "af681b42-9ced-4f8f-ab0c-0559b210dc1a",
"timestamp": "2016-07-15T01:47:30.896Z",
"result": {
"source": "agent",
"resolvedQuery": "Hello",
"action": "show-main",
"actionIncomplete": false,
"parameters": {},
"contexts": [],
"metadata": {
"intentId": "e477976e-2412-4066-b320-48d7dedd5dfe",
"webhookUsed": "true",
"intentName": "Adobo"},
"fulfillment": {
"speech": "Hello world!",
"source": "index.php",
"data": {
"chat_id": 1,
"text": "hi there",
"parse_mode": "HTML",
"reply_markup": {
"keyboard": [
"A1",
"A2"],
"one_time_keyboard": true,
"resize_keyboard": true
}
}
},
"score": 1
},
"status": {
"code": 200,
"errorType": "success"},
"sessionId": "4cb02864-9925-4d4c-a0f1-14dbab44add7"}

Я добавил в формате JSON для разметки ответа клавиатуры в разделе «данные».

2

Решение

Вы могли отправлять текст самостоятельно (без клавиатуры) раньше?

Я думаю, что это ошибка синтаксиса. "keyboard" поле должно быть массивом массивов. Пожалуйста, попробуйте заменить это поле приведенным ниже фрагментом.

"reply_markup": {
"keyboard": [
["Day", "Week", "Month"],
["Users", "Retention"],
["sessions", "Events"],
["Back"]
],
"one_time_keyboard": true,
"resize_keyboard": true
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]