umbot
Version:
Мультиплатформенный фреймворк для создания голосовых навыков и чат-ботов с единой бизнес-логикой. Встроенная поддержка ВКонтакте, Telegram, Viber, MAX, Яндекс Алисы, Маруси и Сбера SmartApp. Архитектура на адаптерах позволяет подключать любые другие платф
55 lines (54 loc) • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buttonProcessing = buttonProcessing;
const utils_1 = require("../Base/utils");
/**
* Получение кнопок в формате Telegram
* @param buttons Кнопки, которые необходимо отобразить
*/
function buttonProcessing(buttons) {
let object = {};
const inlines = [];
const reply = [];
(0, utils_1.getCorrectButtons)(buttons, 40).forEach((button) => {
if (button.url) {
const inline = {
text: button.title,
url: button.url,
};
if (button.payload) {
inline.callback_data = button.payload;
}
inlines.push(inline);
}
else if (button.payload) {
inlines.push({
text: button.title,
callback_data: button.payload,
});
}
else {
const replyBtn = { text: button.title || '' };
if (button.options?.request_contact)
replyBtn.request_contact = true;
if (button.options?.request_location)
replyBtn.request_location = true;
reply.push(replyBtn);
}
});
const rCount = reply.length;
const rInline = inlines.length;
if (rCount || rInline) {
if (rInline) {
object.inline_keyboard = inlines;
}
if (rCount) {
object.keyboard = reply;
}
}
else {
// Удаляем клавиатуру из-за ненадобности
object = { remove_keyboard: true };
}
return object;
}