@taoya785/feishu_bot
Version:
61 lines (57 loc) • 1.7 kB
JavaScript
'use strict';
const piecesFramework = require('@activepieces/pieces-framework');
const piecesCommon = require('@activepieces/pieces-common');
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;