UNPKG

asksuite-core

Version:
55 lines (49 loc) 1.4 kB
function isChangeLanguageFacebook(postback) { try { const data = JSON.parse(JSON.parse(postback.payload.split('=')[1]).data); return Object.keys(data).length === 1 && data.language != null; } catch (e) { return false; } } module.exports = { get: item => { if (!item) { return {}; } return { dialog: item.defaultDialog || item.dialog, events: item.events, }; }, getFromType: message => { const BUTTON_TAG = 'botaction?'; if (message) { if (message.type === 'open_chat' || message.fromType === 'open_chat') { return 'open_chat'; } else if ( message.event && message.event.action && message.event.action.includes(BUTTON_TAG) ) { // Button MsBot return 'button'; } else if (message.quick_reply) { // Button Facebook return 'button'; } else if (message.type === 'button' || message.fromType === 'button') { // Button Whatsapp return 'button'; } else if (message.type === 'form' || message.fromType === 'form') { return 'form'; } else if (message.postback && process.env.PLATFORM === 'facebook') { if (isChangeLanguageFacebook(message.postback)) { // Change Language Facebook return 'change_language'; } return 'button'; } } return 'text'; }, };