UNPKG

@taoya785/feishu_bot

Version:

61 lines (57 loc) 1.7 kB
'use strict'; const piecesCommon = require('@activepieces/pieces-common'); const piecesFramework = require('@activepieces/pieces-framework'); const index = require('../../index.js'); const genSign = require('../common/gen-sign.js'); const sendCardAction = piecesFramework.createAction({ name: "feishu_robot_send_card", displayName: "\u53D1\u9001\u98DE\u4E66\u5361\u7247", description: "", auth: index.feishuBotAuth, requireAuth: true, props: { template_id: piecesFramework.Property.ShortText({ displayName: "\u6A21\u677Fid", description: "", required: true }), template_version_name: piecesFramework.Property.ShortText({ displayName: "\u6A21\u677F\u7248\u672C\u53F7", description: "", required: true }), template_variable: piecesFramework.Property.Json({ displayName: "\u7ED1\u5B9A\u53D8\u91CF", description: "", required: false }) }, async run({ auth, propsValue }) { let template_variable = {}; try { template_variable = propsValue.template_variable; } catch (e) { template_variable = {}; } return await piecesCommon.httpClient.sendRequest({ method: piecesCommon.HttpMethod.POST, url: auth.webhook_url, body: { ...genSign.genSign(auth.secret), msg_type: "interactive", card: { type: "template", data: { template_id: propsValue.template_id, template_version_name: propsValue.template_version_name, template_variable } } }, headers: { "Content-Type": "application/json" } }); } }); exports.sendCardAction = sendCardAction;