В настоящее время я работаю над сервисом определения местоположения в viber chatbot на Node, но либо viber docs отсутствует информация, либо я не понимаю что-то важное.
Методы, которые мне нужны, это 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 для управления запросами