В настоящее время я работаю над сервисом на основе местоположения в чат-боте Viber на Node, но либо документы viber отсутствует информация или я не понимаю что-то важное. Методы, которые мне нужны, это location-picker
, чтобы сделать кнопку для обмена местоположением с моим ботом, и open-map
, чтобы открыть приложение карты по умолчанию для пользовательского устройства и отображать там информацию при нажатии кнопки. Мне не удалось найти ни одного рабочего примера этой функциональности, ни реальных данных о том, как должны выглядеть запросы клавиатуры для них.
Я попытался сделать такой объект:
"Buttons": {
"Columns":6,
"Rows":3,
"ActionType": "open-map",
"Map": {
"Latitude": data.latitude,
"Longitude": data.longitude
},
"Image": data.image
},
Но это возвращает UnhandledPromiseRejectionWarning при отправке его в viber.
(Конечно, это не весь объект клавиатуры, а его «нерабочая» часть; если я изменю ActionType на «ответить» и добавлю текст ответа, он будет работать нормально)
Для выбора местоположения я пробовал
"Buttons": {
"Columns": 6,
"Rows": 1,
"BgColor": "#26CF94",
"BgLoop": true,
"ActionType": "location-picker",
"Text": "Share location",
},
Но это возвращает UnhandledPromiseRejectionWarning.
С этого момента проблема очевидна, что-то не так с отправленным объектом клавиатуры, но я не могу понять, что именно не так. Так как же правильно это сделать?
p.s. Я использую библиотеку viber-bot для управления запросами