@lskjs/bots-plugin-portal
Version:
LSK.js plugin for @lskjs/bots module for telegram, slack, discord, whatsapp, twitter, instagram and vk bots creation
68 lines (67 loc) • 2.05 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = parseExtra;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _flattenDeep = _interopRequireDefault(require("lodash/flattenDeep"));
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
var parseButton = function parseButton(button) {
var text = button.text,
callbackData = button.callback_data,
url = button.url;
if (url) {
return {
type: 'sender',
text: text
};
}
var _URL = new URL("www://test.ru".concat(callbackData)),
pathname = _URL.pathname,
_URL$searchParams = _URL.searchParams,
searchParams = _URL$searchParams === void 0 ? {} : _URL$searchParams;
var params = {};
new URLSearchParams(searchParams).forEach(function (value, key) {
params[key] = value;
});
if (pathname === '/portal_answer') {
return {
type: 'answer',
text: text
};
}
if (pathname === '/portal_sender') {
return {
type: 'sender',
text: text
};
}
if (pathname === '/portal_like') {
var type = params.type;
return (0, _defineProperty2["default"])({}, type, {
title: text.replace(/ \d*$/, ''),
value: text.match(/\d*$/)
});
}
return {};
};
function parseExtra(keyboard) {
var parsedButtons = [];
var likes = {
type: 'like',
buttons: {}
};
(0, _flattenDeep["default"])(keyboard).forEach(function (button) {
var parsedButton = parseButton(button);
var disslike = parsedButton.disslike,
like = parsedButton.like,
type = parsedButton.type;
if (like) likes.buttons.like = parsedButton.like;
if (disslike) likes.buttons.disslike = parsedButton.disslike;
if (type) parsedButtons.push(parsedButton);
});
if (!(0, _isEmpty["default"])(likes.buttons)) parsedButtons.unshift(likes);
return parsedButtons;
}
//# sourceMappingURL=parseExtra.js.map