UNPKG

n8n-nodes-wechat-pad-pro

Version:

n8n node for WeChatPadPro, allowing you to automate WeChat messaging and interactions within your n8n workflows. Support WeChatPadPro0859

74 lines 2.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TextMessageTrigger = void 0; class TextMessageTrigger { constructor() { this.description = { displayName: 'WeChatPadPro Text Message Trigger', name: 'weChatPadProTextMessageTrigger', icon: 'file:wechatPadPro.svg', group: ['trigger'], version: 1, description: 'Triggers when a text message is received from WeChatPadPro', defaults: { name: 'WeChatPadPro Text Message Trigger', }, inputs: [], outputs: ["main"], credentials: [ { name: 'weChatPadProApi', required: true, }, ], properties: [], }; } async trigger() { const credentials = await this.getCredentials('weChatPadProApi'); if (credentials === undefined) { throw new Error('No credentials got returned!'); } const { baseUrl, authKey } = credentials; const webSocketUrl = `ws://${baseUrl}/ws/GetSyncMsg?key=${authKey}`; const socket = new WebSocket(webSocketUrl); const manualTriggerFunction = async () => { return new Promise((resolve) => { socket.onopen = () => { this.logger.debug('WebSocket connected'); }; socket.onmessage = (event) => { try { const data = JSON.parse(event.data); if (data.msg_type === 1) { this.emit([this.helpers.returnJsonArray([data])]); } } catch (error) { this.logger.error('Error processing message', error); } }; socket.onclose = () => { this.logger.debug('WebSocket disconnected'); resolve(true); }; socket.onerror = (error) => { this.logger.error('WebSocket error', error); resolve(false); }; }); }; if (this.getMode() === 'trigger') { await manualTriggerFunction(); } const closeFunction = async () => { socket.close(); }; return { closeFunction, manualTriggerFunction, }; } } exports.TextMessageTrigger = TextMessageTrigger; //# sourceMappingURL=TextMessageTrigger.node.js.map