1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var recime_bot_extension_1 = require("recime-bot-extension");
|
4 | var Message = (function () {
|
5 | function Message(platform) {
|
6 | this.__ = recime_bot_extension_1.default[platform];
|
7 | }
|
8 | Message.prototype.normalizeButton = function (__, content) {
|
9 | if (content.buttons) {
|
10 | return content.buttons.map(function (button) {
|
11 | switch (button.type) {
|
12 | case 'reply': {
|
13 | return __.postbackButton(button.title || button.reply, "reply-" + button.reply);
|
14 | }
|
15 | case 'phone_number': {
|
16 | button.payload = button.payload.replace(/[\s()-]+/ig, '');
|
17 | return button;
|
18 | }
|
19 | case 'element_share': {
|
20 | return __.shareButton(button.content);
|
21 | }
|
22 | default: {
|
23 | return button;
|
24 | }
|
25 | }
|
26 | });
|
27 | }
|
28 | return void 0;
|
29 | };
|
30 | Message.prototype.eval = function (message) {
|
31 | var _this = this;
|
32 | var __ = this.__;
|
33 | switch (message.type) {
|
34 | case 'text': {
|
35 | if (message.content && message.content.text.trim()) {
|
36 | return __.text(message.content.text, this.normalizeButton(__, message.content));
|
37 | }
|
38 | }
|
39 | case 'image':
|
40 | case 'audio':
|
41 | case 'video':
|
42 | case 'file': {
|
43 | return __[message.type](message.content.url, this.normalizeButton(__, message.content), message.content.assetId);
|
44 | }
|
45 | case 'button-template': {
|
46 | return __.buttonTemplate(message.content.text, this.normalizeButton(__, message.content));
|
47 | }
|
48 | case 'card-template':
|
49 | case 'wechat-article':
|
50 | case 'generic-template': {
|
51 | return __.genericTemplate(message.content.elements.map(function (e) {
|
52 | return __.genericItem(e.title, e.digest || e.subtitle, e.imageUrl, e.contentSourceUrl || e.actionUrl, _this.normalizeButton(__, e), e.assetId, e.content, e.author);
|
53 | }));
|
54 | }
|
55 | }
|
56 | };
|
57 | return Message;
|
58 | }());
|
59 | exports.Message = Message;
|