@luka-cat-mimi/n8n-nodes-feishu 0.9.25 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -9
- package/dist/nodes/FeishuNode/FeishuNodeTrigger.node.js +8 -50
- package/dist/nodes/FeishuNode/FeishuNodeTrigger.node.js.map +1 -1
- package/dist/nodes/FeishuNode/FeishuWebhookTrigger.node.d.ts +5 -0
- package/dist/nodes/FeishuNode/FeishuWebhookTrigger.node.js +186 -0
- package/dist/nodes/FeishuNode/FeishuWebhookTrigger.node.js.map +1 -0
- package/dist/nodes/FeishuNode/RespondToFeishu.node.d.ts +0 -1
- package/dist/nodes/FeishuNode/RespondToFeishu.node.js +41 -25
- package/dist/nodes/FeishuNode/RespondToFeishu.node.js.map +1 -1
- package/dist/nodes/FeishuNode/resource/chat/ChatUpdateOperate.js +2 -2
- package/dist/nodes/FeishuNode/resource/chat/ChatUpdateOperate.js.map +1 -1
- package/dist/package.json +2 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -12,28 +12,45 @@
|
|
|
12
12
|
|
|
13
13
|
## 功能列表
|
|
14
14
|
|
|
15
|
-
### 🚀 飞书 Trigger
|
|
15
|
+
### 🚀 飞书 Trigger
|
|
16
16
|
|
|
17
17
|
通过 **WebSocket 长连接**方式监听飞书事件,当事件发生时自动启动工作流。
|
|
18
18
|
|
|
19
19
|
**主要特点:**
|
|
20
20
|
|
|
21
|
-
-
|
|
21
|
+
- 默认订阅**所有事件**,也可按需选择具体事件类型
|
|
22
22
|
- 两种响应模式:
|
|
23
23
|
- **Immediately**:事件触发后立即响应
|
|
24
|
-
- **Using '飞书响应' Node
|
|
24
|
+
- **Using '飞书响应' Node**:配合飞书响应节点同步返回自定义响应(超时固定 3 秒)
|
|
25
25
|
|
|
26
26
|
> ⚠️ 由于飞书 API 限制,每个飞书应用同时只能有一个 Trigger 在运行。
|
|
27
27
|
|
|
28
|
-
###
|
|
28
|
+
### 🌐 飞书 Webhook Trigger ✨ 新增
|
|
29
|
+
|
|
30
|
+
通过 **Webhook** 方式接收飞书事件回调,适用于「将回调发送至开发者服务器」订阅模式。
|
|
31
|
+
|
|
32
|
+
**主要特点:**
|
|
33
|
+
|
|
34
|
+
- 自动处理 URL 验证(`url_verification`)与加密推送解密
|
|
35
|
+
- 支持 Verification Token 校验与 app_id 匹配
|
|
36
|
+
- 默认订阅**所有事件**,也可按需选择具体事件类型
|
|
37
|
+
- 两种响应模式(与长链接触发器文案一致):
|
|
38
|
+
- **Immediately**:事件触发后立即响应
|
|
39
|
+
- **Using '飞书响应' Node**:配合飞书响应节点同步返回自定义响应
|
|
40
|
+
|
|
41
|
+
> 将节点生成的 Webhook URL 配置到飞书开放平台「事件与回调 - 订阅方式」中即可。
|
|
42
|
+
|
|
43
|
+
### 🔄 飞书响应
|
|
29
44
|
|
|
30
|
-
配合**飞书 Trigger** 使用,用于同步响应飞书事件(如卡片交互、链接预览回调)。
|
|
45
|
+
配合**飞书 Trigger** 或 **飞书 Webhook Trigger** 使用,用于同步响应飞书事件(如卡片交互、链接预览回调)。
|
|
31
46
|
|
|
32
47
|
**主要特点:**
|
|
33
48
|
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
49
|
+
- 两种同步响应模式:
|
|
50
|
+
- **长链接同步响应**:配合「飞书 Trigger」(长链接触发器)使用
|
|
51
|
+
- **Webhook 同步响应**:配合「飞书 Webhook Trigger」(Webhook 触发器)使用
|
|
52
|
+
- 响应内容支持 **No Data**(空响应体)或 **JSON**(自定义 JSON 响应)
|
|
53
|
+
- 节点输出与返回给飞书的 JSON 内容一致,不再额外包裹字段
|
|
37
54
|
- 可选启用响应输出分支
|
|
38
55
|
|
|
39
56
|
---
|
|
@@ -136,7 +153,7 @@
|
|
|
136
153
|
- 回复消息
|
|
137
154
|
- 编辑消息
|
|
138
155
|
- **获取指定消息的内容** ✨ 新增
|
|
139
|
-
- **获取会话历史消息** ✨
|
|
156
|
+
- **获取会话历史消息** ✨ 新增
|
|
140
157
|
- 转发消息
|
|
141
158
|
- 撤回消息
|
|
142
159
|
- 批量发送消息
|
|
@@ -6,6 +6,7 @@ const ws_client_1 = require("../help/utils/feishu-sdk/ws-client");
|
|
|
6
6
|
const event_handler_1 = require("../help/utils/feishu-sdk/handler/event-handler");
|
|
7
7
|
const logger_1 = require("../help/utils/feishu-sdk/logger");
|
|
8
8
|
const properties_1 = require("../help/utils/properties");
|
|
9
|
+
const consts_1 = require("../help/utils/feishu-sdk/consts");
|
|
9
10
|
const SYNC_RESPONSE_EVENTS = new Set([
|
|
10
11
|
'card.action.trigger',
|
|
11
12
|
'url.preview.get',
|
|
@@ -58,7 +59,10 @@ class FeishuNodeTrigger {
|
|
|
58
59
|
type: 'notice',
|
|
59
60
|
default: '',
|
|
60
61
|
},
|
|
61
|
-
|
|
62
|
+
{
|
|
63
|
+
...properties_1.triggerEventProperty,
|
|
64
|
+
default: [consts_1.ANY_EVENT],
|
|
65
|
+
},
|
|
62
66
|
{
|
|
63
67
|
displayName: '响应模式',
|
|
64
68
|
name: 'responseMode',
|
|
@@ -78,39 +82,6 @@ class FeishuNodeTrigger {
|
|
|
78
82
|
default: 'immediately',
|
|
79
83
|
description: '选择何时向飞书发送响应',
|
|
80
84
|
},
|
|
81
|
-
{
|
|
82
|
-
displayName: '选项',
|
|
83
|
-
name: 'options',
|
|
84
|
-
type: 'collection',
|
|
85
|
-
placeholder: '添加选项',
|
|
86
|
-
default: {},
|
|
87
|
-
options: [
|
|
88
|
-
{
|
|
89
|
-
displayName: '回调提示信息',
|
|
90
|
-
name: 'callbackToast',
|
|
91
|
-
type: 'string',
|
|
92
|
-
default: '',
|
|
93
|
-
description: '设置回调触发时显示给用户的提示信息。如果不设置,则不显示任何提示。仅在 Immediately 模式下有效。',
|
|
94
|
-
displayOptions: {
|
|
95
|
-
show: {
|
|
96
|
-
'/responseMode': ['immediately'],
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
displayName: '响应超时时间',
|
|
102
|
-
name: 'responseTimeout',
|
|
103
|
-
type: 'number',
|
|
104
|
-
default: 3000,
|
|
105
|
-
description: '等待飞书响应节点响应的最大时间(毫秒),超时后将返回空响应',
|
|
106
|
-
displayOptions: {
|
|
107
|
-
show: {
|
|
108
|
-
'/responseMode': ['responseNode'],
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
},
|
|
112
|
-
],
|
|
113
|
-
},
|
|
114
85
|
],
|
|
115
86
|
};
|
|
116
87
|
}
|
|
@@ -121,9 +92,7 @@ class FeishuNodeTrigger {
|
|
|
121
92
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), '缺少必要的飞书凭证配置');
|
|
122
93
|
}
|
|
123
94
|
const responseMode = this.getNodeParameter('responseMode', 'immediately');
|
|
124
|
-
const
|
|
125
|
-
const callbackToast = options.callbackToast || undefined;
|
|
126
|
-
const responseTimeout = options.responseTimeout || 3000;
|
|
95
|
+
const responseTimeout = 3000;
|
|
127
96
|
const appId = credentials['appid'];
|
|
128
97
|
const appSecret = credentials['appsecret'];
|
|
129
98
|
const baseUrl = credentials['baseURL'];
|
|
@@ -141,31 +110,20 @@ class FeishuNodeTrigger {
|
|
|
141
110
|
};
|
|
142
111
|
const startWsClient = async () => {
|
|
143
112
|
const events = this.getNodeParameter('events', []);
|
|
144
|
-
const isAnyEvent = events.includes(
|
|
113
|
+
const isAnyEvent = events.includes(consts_1.ANY_EVENT);
|
|
145
114
|
const handlers = {};
|
|
146
115
|
for (const event of events) {
|
|
147
116
|
handlers[event] = async (data) => {
|
|
148
117
|
var _a;
|
|
149
118
|
const actualEventType = isAnyEvent ? data.event_type : event;
|
|
150
119
|
const isSyncEvent = SYNC_RESPONSE_EVENTS.has(actualEventType);
|
|
151
|
-
const enrichedData = {
|
|
152
|
-
...data,
|
|
153
|
-
responseMode,
|
|
154
|
-
};
|
|
120
|
+
const enrichedData = { ...data };
|
|
155
121
|
if (!isSyncEvent) {
|
|
156
122
|
this.emit([this.helpers.returnJsonArray(enrichedData)]);
|
|
157
123
|
return {};
|
|
158
124
|
}
|
|
159
125
|
if (responseMode === 'immediately') {
|
|
160
126
|
this.emit([this.helpers.returnJsonArray(enrichedData)]);
|
|
161
|
-
if (callbackToast) {
|
|
162
|
-
return {
|
|
163
|
-
toast: {
|
|
164
|
-
type: 'info',
|
|
165
|
-
content: callbackToast,
|
|
166
|
-
},
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
127
|
return {};
|
|
170
128
|
}
|
|
171
129
|
const responsePromise = this.helpers.createDeferredPromise();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeishuNodeTrigger.node.js","sourceRoot":"","sources":["../../../nodes/FeishuNode/FeishuNodeTrigger.node.ts"],"names":[],"mappings":";;;AAAA,+CASsB;AAEtB,kEAA8D;AAC9D,kFAAiF;AACjF,4DAAqE;AACrE,yDAAgE;
|
|
1
|
+
{"version":3,"file":"FeishuNodeTrigger.node.js","sourceRoot":"","sources":["../../../nodes/FeishuNode/FeishuNodeTrigger.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { INodeType, INodeTypeDescription, IWebhookFunctions, IWebhookResponseData } from 'n8n-workflow';
|
|
2
|
+
export declare class FeishuWebhookTrigger implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
webhook(this: IWebhookFunctions): Promise<IWebhookResponseData>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FeishuWebhookTrigger = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const FeishuDecryptUtils_1 = require("../help/utils/FeishuDecryptUtils");
|
|
6
|
+
const properties_1 = require("../help/utils/properties");
|
|
7
|
+
const consts_1 = require("../help/utils/feishu-sdk/consts");
|
|
8
|
+
class FeishuWebhookTrigger {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.description = {
|
|
11
|
+
displayName: '飞书 Webhook Trigger',
|
|
12
|
+
name: 'feishuWebhookTrigger',
|
|
13
|
+
icon: 'file:icon.svg',
|
|
14
|
+
group: ['trigger'],
|
|
15
|
+
version: 1,
|
|
16
|
+
subtitle: '=已订阅 {{$parameter["events"].length}} 个事件',
|
|
17
|
+
description: '通过 Webhook 接收飞书事件回调,自动解密并处理 URL 验证',
|
|
18
|
+
defaults: {
|
|
19
|
+
name: '飞书 Webhook Trigger',
|
|
20
|
+
},
|
|
21
|
+
usableAsTool: undefined,
|
|
22
|
+
inputs: [],
|
|
23
|
+
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
24
|
+
credentials: [
|
|
25
|
+
{
|
|
26
|
+
name: "feishuNodeCredentialsApi",
|
|
27
|
+
required: true,
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
webhooks: [
|
|
31
|
+
{
|
|
32
|
+
name: 'default',
|
|
33
|
+
httpMethod: 'POST',
|
|
34
|
+
responseMode: '={{$parameter["responseMode"]}}',
|
|
35
|
+
path: 'webhook',
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
properties: [
|
|
39
|
+
{
|
|
40
|
+
displayName: '将下方生成的 Webhook URL 配置到飞书开放平台「事件与回调 - 订阅方式」中,选择「将回调发送至开发者服务器」。<a href="https://open.feishu.cn/document/event-subscription-guide/callback-subscription/step-1-choose-a-subscription-mode/send-callbacks-to-developers-server" target="_blank">参考文档</a>',
|
|
41
|
+
name: 'feishuWebhookNotice',
|
|
42
|
+
type: 'notice',
|
|
43
|
+
default: '',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
...properties_1.triggerEventProperty,
|
|
47
|
+
default: [consts_1.ANY_EVENT],
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
displayName: 'Encrypt Key',
|
|
51
|
+
name: 'encryptKey',
|
|
52
|
+
type: 'string',
|
|
53
|
+
typeOptions: {
|
|
54
|
+
password: true,
|
|
55
|
+
},
|
|
56
|
+
default: '',
|
|
57
|
+
description: '飞书开放平台应用的 Encrypt Key。若在飞书后台开启了加密推送,则必须填写此项用于解密请求体中的 encrypt 字段;若未开启加密可留空。',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
displayName: '验证应用标识',
|
|
61
|
+
name: 'verifyToken',
|
|
62
|
+
type: 'boolean',
|
|
63
|
+
default: false,
|
|
64
|
+
description: 'Whether to verify the Verification Token in the callback data. When enabled, the token is required and each request is validated, otherwise no verification is performed.',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
displayName: 'Verification Token',
|
|
68
|
+
name: 'verificationToken',
|
|
69
|
+
type: 'string',
|
|
70
|
+
typeOptions: {
|
|
71
|
+
password: true,
|
|
72
|
+
},
|
|
73
|
+
required: true,
|
|
74
|
+
default: '',
|
|
75
|
+
description: '飞书开放平台应用的 Verification Token,用于校验回调数据中的 token 是否匹配。',
|
|
76
|
+
displayOptions: {
|
|
77
|
+
show: {
|
|
78
|
+
verifyToken: [true],
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
displayName: '响应模式',
|
|
84
|
+
name: 'responseMode',
|
|
85
|
+
type: 'options',
|
|
86
|
+
options: [
|
|
87
|
+
{
|
|
88
|
+
name: 'Immediately',
|
|
89
|
+
value: 'onReceived',
|
|
90
|
+
description: '事件触发后立即响应',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: "Using '飞书响应' Node",
|
|
94
|
+
value: 'responseNode',
|
|
95
|
+
description: '使用飞书响应节点同步返回响应',
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
default: 'onReceived',
|
|
99
|
+
description: '选择何时向飞书发送响应',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
displayName: '请在工作流中使用「飞书响应」节点返回数据。官方「Respond to Webhook」节点仅支持 n8n 内置 Webhook,不支持本触发器。',
|
|
103
|
+
name: 'feishuResponseNotice',
|
|
104
|
+
type: 'notice',
|
|
105
|
+
default: '',
|
|
106
|
+
displayOptions: {
|
|
107
|
+
show: {
|
|
108
|
+
responseMode: ['responseNode'],
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
async webhook() {
|
|
116
|
+
var _a;
|
|
117
|
+
const res = this.getResponseObject();
|
|
118
|
+
const body = this.getBodyData();
|
|
119
|
+
const encryptKey = (this.getNodeParameter('encryptKey', '') || '').trim();
|
|
120
|
+
const verifyToken = this.getNodeParameter('verifyToken', false);
|
|
121
|
+
const verificationToken = verifyToken
|
|
122
|
+
? (this.getNodeParameter('verificationToken', '') || '').trim()
|
|
123
|
+
: '';
|
|
124
|
+
let payload;
|
|
125
|
+
if (typeof body.encrypt === 'string') {
|
|
126
|
+
if (!encryptKey) {
|
|
127
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), '请求体已加密(包含 encrypt 字段),但未配置 Encrypt Key,无法解密');
|
|
128
|
+
}
|
|
129
|
+
const decrypted = (0, FeishuDecryptUtils_1.decryptFeishuEvent)(encryptKey, body.encrypt);
|
|
130
|
+
if (!decrypted) {
|
|
131
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), '解密失败,请检查 Encrypt Key 是否与飞书后台配置一致');
|
|
132
|
+
}
|
|
133
|
+
try {
|
|
134
|
+
payload = JSON.parse(decrypted);
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), '解密后的数据不是有效的 JSON 格式');
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
payload = body;
|
|
142
|
+
}
|
|
143
|
+
if (verifyToken && verificationToken) {
|
|
144
|
+
const header = payload.header || {};
|
|
145
|
+
const token = (_a = payload.token) !== null && _a !== void 0 ? _a : header.token;
|
|
146
|
+
if (token !== verificationToken) {
|
|
147
|
+
res.status(200).json({ msg: 'invalid verification token' });
|
|
148
|
+
return { noWebhookResponse: true };
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (payload.type === 'url_verification') {
|
|
152
|
+
res.status(200).json({ challenge: payload.challenge });
|
|
153
|
+
return { noWebhookResponse: true };
|
|
154
|
+
}
|
|
155
|
+
const credentials = await this.getCredentials("feishuNodeCredentialsApi");
|
|
156
|
+
const credentialAppId = (credentials.appid || '').trim();
|
|
157
|
+
const header = payload.header || {};
|
|
158
|
+
const event = payload.event || {};
|
|
159
|
+
const payloadAppId = payload.schema === '2.0' ? header.app_id : event.app_id;
|
|
160
|
+
if (!credentialAppId || !payloadAppId || payloadAppId !== credentialAppId) {
|
|
161
|
+
res.status(200).json({ msg: 'success' });
|
|
162
|
+
return { noWebhookResponse: true };
|
|
163
|
+
}
|
|
164
|
+
const eventType = payload.schema === '2.0' ? header.event_type : event.type;
|
|
165
|
+
const events = this.getNodeParameter('events', []);
|
|
166
|
+
const isAnyEvent = events.includes(consts_1.ANY_EVENT);
|
|
167
|
+
const isMatched = isAnyEvent || (!!eventType && events.includes(eventType));
|
|
168
|
+
if (!isMatched) {
|
|
169
|
+
res.status(200).json({ msg: 'success' });
|
|
170
|
+
return { noWebhookResponse: true };
|
|
171
|
+
}
|
|
172
|
+
const responseMode = this.getNodeParameter('responseMode', 'onReceived');
|
|
173
|
+
if (responseMode === 'onReceived') {
|
|
174
|
+
res.status(200).json({ msg: 'success' });
|
|
175
|
+
return {
|
|
176
|
+
workflowData: [[{ json: payload }]],
|
|
177
|
+
noWebhookResponse: true,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
return {
|
|
181
|
+
workflowData: [[{ json: payload }]],
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
exports.FeishuWebhookTrigger = FeishuWebhookTrigger;
|
|
186
|
+
//# sourceMappingURL=FeishuWebhookTrigger.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeishuWebhookTrigger.node.js","sourceRoot":"","sources":["../../../nodes/FeishuNode/FeishuWebhookTrigger.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
-
export declare const FEISHU_RESPONSE_KEY = "customFeishuResponse";
|
|
3
2
|
export declare class RespondToFeishu implements INodeType {
|
|
4
3
|
description: INodeTypeDescription;
|
|
5
4
|
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RespondToFeishu =
|
|
3
|
+
exports.RespondToFeishu = void 0;
|
|
4
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
5
|
const outputs_1 = require("../help/utils/outputs");
|
|
6
|
-
|
|
6
|
+
const MODE_WEBSOCKET = 'websocket';
|
|
7
|
+
const MODE_WEBHOOK = 'webhook';
|
|
7
8
|
class RespondToFeishu {
|
|
8
9
|
constructor() {
|
|
9
10
|
this.description = {
|
|
@@ -14,27 +15,46 @@ class RespondToFeishu {
|
|
|
14
15
|
version: 1,
|
|
15
16
|
usableAsTool: undefined,
|
|
16
17
|
subtitle: '={{$parameter["respondWith"] === "noResponse" ? "不返回任何响应" : "返回自定义 JSON 数据"}}',
|
|
17
|
-
description: '同步响应飞书 Trigger 的请求',
|
|
18
|
+
description: '同步响应飞书 Trigger 或飞书 Webhook Trigger 的请求',
|
|
18
19
|
defaults: {
|
|
19
20
|
name: '飞书响应',
|
|
20
21
|
},
|
|
21
22
|
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
22
23
|
outputs: `={{(${outputs_1.configuredOutputs})($nodeVersion, $parameter)}}`,
|
|
23
24
|
properties: [
|
|
25
|
+
{
|
|
26
|
+
displayName: '同步响应模式',
|
|
27
|
+
name: 'mode',
|
|
28
|
+
type: 'options',
|
|
29
|
+
options: [
|
|
30
|
+
{
|
|
31
|
+
name: '长链接同步响应',
|
|
32
|
+
value: 'websocket',
|
|
33
|
+
description: '通过长链接(WebSocket)同步返回响应,需配合「飞书 Trigger」(长链接触发器)使用',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'Webhook 同步响应',
|
|
37
|
+
value: 'webhook',
|
|
38
|
+
description: '通过 Webhook 的 HTTP 响应同步返回,需配合「飞书 Webhook Trigger」(Webhook 触发器)使用',
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
default: 'websocket',
|
|
42
|
+
description: '选择同步响应的方式:「长链接同步响应」需使用「飞书 Trigger」(长链接触发器);「Webhook 同步响应」需使用「飞书 Webhook Trigger」(Webhook 触发器)。请确保此处选择与工作流中使用的触发器类型一致。',
|
|
43
|
+
},
|
|
24
44
|
{
|
|
25
45
|
displayName: '响应内容',
|
|
26
46
|
name: 'respondWith',
|
|
27
47
|
type: 'options',
|
|
28
48
|
options: [
|
|
29
49
|
{
|
|
30
|
-
name: '
|
|
50
|
+
name: 'No Data',
|
|
31
51
|
value: 'noResponse',
|
|
32
|
-
description: '
|
|
52
|
+
description: 'Respond with an empty body',
|
|
33
53
|
},
|
|
34
54
|
{
|
|
35
|
-
name: '
|
|
55
|
+
name: 'JSON',
|
|
36
56
|
value: 'json',
|
|
37
|
-
description: '
|
|
57
|
+
description: 'Respond with a custom JSON body',
|
|
38
58
|
},
|
|
39
59
|
],
|
|
40
60
|
default: 'noResponse',
|
|
@@ -74,17 +94,12 @@ class RespondToFeishu {
|
|
|
74
94
|
}
|
|
75
95
|
async execute() {
|
|
76
96
|
const items = this.getInputData();
|
|
97
|
+
const mode = this.getNodeParameter('mode', 0, MODE_WEBSOCKET);
|
|
77
98
|
const respondWith = this.getNodeParameter('respondWith', 0);
|
|
78
99
|
const enableResponseOutput = this.getNodeParameter('enableResponseOutput', 0, false);
|
|
79
100
|
const responseItems = [];
|
|
80
101
|
let firstResponseData;
|
|
81
102
|
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
|
82
|
-
const item = items[itemIndex];
|
|
83
|
-
const json = item.json;
|
|
84
|
-
const responseMode = json.responseMode;
|
|
85
|
-
if (responseMode && responseMode !== 'responseNode') {
|
|
86
|
-
this.logger.warn(`飞书 Trigger 的响应模式不是 "Using '飞书响应' Node",当前模式: ${responseMode}`);
|
|
87
|
-
}
|
|
88
103
|
let responseData = {};
|
|
89
104
|
if (respondWith === 'json') {
|
|
90
105
|
const responseJson = this.getNodeParameter('responseJson', itemIndex);
|
|
@@ -99,22 +114,23 @@ class RespondToFeishu {
|
|
|
99
114
|
firstResponseData = responseData;
|
|
100
115
|
}
|
|
101
116
|
responseItems.push({
|
|
102
|
-
json:
|
|
103
|
-
[exports.FEISHU_RESPONSE_KEY]: responseData,
|
|
104
|
-
},
|
|
117
|
+
json: responseData,
|
|
105
118
|
});
|
|
106
119
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
json: cleanedJson,
|
|
120
|
+
const feishuResponseBody = (firstResponseData !== null && firstResponseData !== void 0 ? firstResponseData : {});
|
|
121
|
+
if (mode === MODE_WEBHOOK) {
|
|
122
|
+
const httpResponse = {
|
|
123
|
+
body: feishuResponseBody,
|
|
124
|
+
headers: {},
|
|
125
|
+
statusCode: 200,
|
|
114
126
|
};
|
|
115
|
-
|
|
127
|
+
this.sendResponse(httpResponse);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
this.sendResponse(feishuResponseBody);
|
|
131
|
+
}
|
|
116
132
|
if (enableResponseOutput) {
|
|
117
|
-
return [
|
|
133
|
+
return [items, responseItems];
|
|
118
134
|
}
|
|
119
135
|
return [responseItems];
|
|
120
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RespondToFeishu.node.js","sourceRoot":"","sources":["../../../nodes/FeishuNode/RespondToFeishu.node.ts"],"names":[],"mappings":";;;AACA,+CASsB;AACtB,mDAA0D;
|
|
1
|
+
{"version":3,"file":"RespondToFeishu.node.js","sourceRoot":"","sources":["../../../nodes/FeishuNode/RespondToFeishu.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,7 +94,7 @@ const ChatUpdateOperate = {
|
|
|
94
94
|
description: '群类型。private: 私有群。public: 公开群。',
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
|
-
displayName: '
|
|
97
|
+
displayName: '邀请入群权限',
|
|
98
98
|
name: 'add_member_permission',
|
|
99
99
|
type: 'options',
|
|
100
100
|
options: [
|
|
@@ -103,7 +103,7 @@ const ChatUpdateOperate = {
|
|
|
103
103
|
{ name: '仅群主和管理员', value: 'only_owner' },
|
|
104
104
|
],
|
|
105
105
|
default: '',
|
|
106
|
-
description: '
|
|
106
|
+
description: '谁可以添加群成员,群成员包括用户或机器人',
|
|
107
107
|
},
|
|
108
108
|
{
|
|
109
109
|
displayName: '群分享权限',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatUpdateOperate.js","sourceRoot":"","sources":["../../../../../nodes/FeishuNode/resource/chat/ChatUpdateOperate.ts"],"names":[],"mappings":";;;;;AAOA,oFAA4D;AAC5D,8EAAsD;AAEtD,qEAAkF;AAElF,MAAM,iBAAiB,GAAuB;IAC7C,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,CAAC;IACR,OAAO,EAAE;QAER;YACC,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,mBAAmB;SAChC;QAED;YACC,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACR,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;gBACrC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;gBACvC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;aACrC;YACD,WAAW,EACV,0FAA0F;YAC3F,OAAO,EAAE,SAAS;SAClB;QAED;YACC,WAAW,EAAE,eAAe;YAC5B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,WAAW;YACxB,OAAO,EAAE,EAAE;YACX,WAAW,EACV,8DAA8D;YAC/D,OAAO,EAAE;gBACR;oBACC,WAAW,EAAE,eAAe;oBAC5B,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,uCAAuC;iBACpD;gBACD;oBACC,WAAW,EAAE,KAAK;oBAClB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,2BAA2B;iBACxC;gBACD;oBACC,WAAW,EAAE,KAAK;oBAClB,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,2BAA2B;iBACxC;gBACD;oBACC,WAAW,EAAE,OAAO;oBACpB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EACV,yDAAyD;iBAC1D;aACD;SACD;QACD;YACC,WAAW,EAAE,OAAO;YACpB,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACR,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC1B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE;aACjC;YACD,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,gCAAgC;SAC7C;QACD;YACC,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACR,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;gBACjC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE;aAChC;YACD,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,+BAA+B;SAC5C;QACD;YACC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"ChatUpdateOperate.js","sourceRoot":"","sources":["../../../../../nodes/FeishuNode/resource/chat/ChatUpdateOperate.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luka-cat-mimi/n8n-nodes-feishu",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "飞书 N8N 集成插件",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n",
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"nodes": [
|
|
48
48
|
"dist/nodes/FeishuNode/FeishuNode.node.js",
|
|
49
49
|
"dist/nodes/FeishuNode/FeishuNodeTrigger.node.js",
|
|
50
|
+
"dist/nodes/FeishuNode/FeishuWebhookTrigger.node.js",
|
|
50
51
|
"dist/nodes/FeishuNode/RespondToFeishu.node.js"
|
|
51
52
|
]
|
|
52
53
|
},
|