UNPKG

n8n-nodes-zalo-nnt

Version:

Unofficial Zalo integration for n8n - Send messages, manage groups, user operations with QR login. No API key required, works via browser simulation.

72 lines 2.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildMessageContent = buildMessageContent; const validator_1 = require("./validator"); function buildQuote(quoteData) { (0, validator_1.validateQuote)(quoteData); return { content: quoteData.content, msgType: quoteData.msgType || 'webchat', propertyExt: {}, uidFrom: quoteData.uidFrom, msgId: quoteData.msgId, cliMsgId: quoteData.cliMsgId, ts: parseInt(quoteData.ts), ttl: quoteData.ttl || 0, }; } function buildMentions(mentions) { return mentions .filter(m => m.uid && m.len > 0) .map(m => ({ pos: m.pos || 0, uid: m.uid, len: m.len || 0, })); } function buildStyles(styles) { return styles.map(s => { const style = { start: s.start, len: s.len, st: s.st, }; if (s.indentSize !== undefined) { style.indentSize = s.indentSize; } return style; }); } function buildMessageContent(params, logger) { const messageContent = { msg: params.message, }; if (params.urgency !== undefined && params.urgency !== 0) { messageContent.urgency = params.urgency; logger.info(`Added urgency: ${params.urgency}`); } if (params.ttl !== undefined && params.ttl > 0) { messageContent.ttl = params.ttl; logger.info(`Added TTL: ${params.ttl}ms`); } if (params.quote) { messageContent.quote = buildQuote(params.quote); logger.info(`Quote configured: msgId=${params.quote.msgId}, uidFrom=${params.quote.uidFrom}`); } if (params.mentions && params.mentions.length > 0) { (0, validator_1.validateMentions)(params.mentions, params.message.length); messageContent.mentions = buildMentions(params.mentions); logger.info(`Added ${messageContent.mentions.length} mentions`); } if (params.styles && params.styles.length > 0) { (0, validator_1.validateStyles)(params.styles, params.message.length); messageContent.styles = buildStyles(params.styles); logger.info(`Added ${messageContent.styles.length} styles`); } if (params.attachments && params.attachments.length > 0) { messageContent.attachments = params.attachments; logger.info(`Added ${params.attachments.length} attachments`); } return messageContent; } //# sourceMappingURL=messageBuilder.js.map