@zhin.js/adapter-dingtalk 1.0.81 → 2.0.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/CHANGELOG.md +14 -3
- package/README.md +9 -9
- package/lib/adapter.d.ts +8 -7
- package/lib/adapter.d.ts.map +1 -1
- package/lib/adapter.js +19 -18
- package/lib/adapter.js.map +1 -1
- package/lib/{bot.d.ts → endpoint.d.ts} +7 -7
- package/lib/endpoint.d.ts.map +1 -0
- package/lib/{bot.js → endpoint.js} +12 -8
- package/lib/endpoint.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +57 -52
- package/lib/index.js.map +1 -1
- package/lib/platform-permit.d.ts +16 -0
- package/lib/platform-permit.d.ts.map +1 -0
- package/lib/platform-permit.js +39 -0
- package/lib/platform-permit.js.map +1 -0
- package/lib/types.d.ts +1 -1
- package/lib/types.d.ts.map +1 -1
- package/package.json +6 -5
- package/skills/dingtalk/PERMITS.md +19 -0
- package/src/adapter.ts +19 -17
- package/src/{bot.ts → endpoint.ts} +14 -10
- package/src/index.ts +53 -43
- package/src/platform-permit.ts +53 -0
- package/src/types.ts +1 -1
- package/lib/bot.d.ts.map +0 -1
- package/lib/bot.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
# @zhin.js/adapter-dingtalk
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 2.0.1
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
7
|
+
- d8def69: fix: 性能优化
|
|
8
|
+
- 2ef4896: fix: 更新概念 Bot=>Endpoint,已适配后续更多的业务场景;统一角色权限
|
|
9
|
+
- Updated dependencies [d8def69]
|
|
10
|
+
- Updated dependencies [2ef4896]
|
|
11
|
+
- @zhin.js/host-router@1.0.1
|
|
12
|
+
- zhin.js@2.0.1
|
|
13
|
+
|
|
14
|
+
## 2.0.0
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- zhin.js@2.0.0
|
|
19
|
+
- @zhin.js/host-router@1.0.0
|
|
9
20
|
|
|
10
21
|
## 1.0.80
|
|
11
22
|
|
package/README.md
CHANGED
|
@@ -13,9 +13,9 @@ pnpm add @zhin.js/adapter-dingtalk
|
|
|
13
13
|
### 基础配置
|
|
14
14
|
|
|
15
15
|
```typescript
|
|
16
|
-
import {
|
|
16
|
+
import { DingTalkEndpointConfig } from '@zhin.js/adapter-dingtalk';
|
|
17
17
|
|
|
18
|
-
const config:
|
|
18
|
+
const config: DingTalkEndpointConfig = {
|
|
19
19
|
context: 'dingtalk',
|
|
20
20
|
name: 'my-dingtalk-bot',
|
|
21
21
|
appKey: 'YOUR_APP_KEY', // 钉钉应用 AppKey
|
|
@@ -28,7 +28,7 @@ const config: DingTalkBotConfig = {
|
|
|
28
28
|
### 完整配置
|
|
29
29
|
|
|
30
30
|
```typescript
|
|
31
|
-
const config:
|
|
31
|
+
const config: DingTalkEndpointConfig = {
|
|
32
32
|
context: 'dingtalk',
|
|
33
33
|
name: 'my-dingtalk-bot',
|
|
34
34
|
appKey: 'YOUR_APP_KEY',
|
|
@@ -117,7 +117,7 @@ const config: DingTalkBotConfig = {
|
|
|
117
117
|
import { defineConfig } from 'zhin.js'
|
|
118
118
|
|
|
119
119
|
export default defineConfig({
|
|
120
|
-
|
|
120
|
+
endpoints: [
|
|
121
121
|
{
|
|
122
122
|
name: 'dingtalk-bot',
|
|
123
123
|
context: 'dingtalk',
|
|
@@ -232,9 +232,9 @@ addCommand(new MessageCommand('info')
|
|
|
232
232
|
### 获取用户信息
|
|
233
233
|
|
|
234
234
|
```typescript
|
|
235
|
-
const
|
|
235
|
+
const endpoint = app.adapters.get('dingtalk')?.endpoints.get('dingtalk-bot')
|
|
236
236
|
if (bot) {
|
|
237
|
-
const userInfo = await
|
|
237
|
+
const userInfo = await endpoint.getUserInfo('user-id')
|
|
238
238
|
console.log(userInfo)
|
|
239
239
|
}
|
|
240
240
|
```
|
|
@@ -242,14 +242,14 @@ if (bot) {
|
|
|
242
242
|
### 获取部门用户列表
|
|
243
243
|
|
|
244
244
|
```typescript
|
|
245
|
-
const users = await
|
|
245
|
+
const users = await endpoint.getDepartmentUsers(1) // 部门 ID
|
|
246
246
|
console.log(users)
|
|
247
247
|
```
|
|
248
248
|
|
|
249
249
|
### 发送工作通知
|
|
250
250
|
|
|
251
251
|
```typescript
|
|
252
|
-
await
|
|
252
|
+
await endpoint.sendWorkNotice(
|
|
253
253
|
['user1', 'user2'], // 用户 ID 列表
|
|
254
254
|
{
|
|
255
255
|
msgtype: 'text',
|
|
@@ -283,7 +283,7 @@ await bot.sendWorkNotice(
|
|
|
283
283
|
|
|
284
284
|
```typescript
|
|
285
285
|
export default defineConfig({
|
|
286
|
-
|
|
286
|
+
endpoints: [{
|
|
287
287
|
name: 'dingtalk-bot',
|
|
288
288
|
context: 'dingtalk',
|
|
289
289
|
appKey: process.env.DINGTALK_APP_KEY!,
|
package/lib/adapter.d.ts
CHANGED
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
* 钉钉适配器
|
|
3
3
|
*/
|
|
4
4
|
import { Adapter, Plugin } from "zhin.js";
|
|
5
|
-
import {
|
|
6
|
-
import type {
|
|
7
|
-
export declare class DingTalkAdapter extends Adapter<
|
|
5
|
+
import { DingTalkEndpoint } from "./endpoint.js";
|
|
6
|
+
import type { DingTalkEndpointConfig } from "./types.js";
|
|
7
|
+
export declare class DingTalkAdapter extends Adapter<DingTalkEndpoint> {
|
|
8
8
|
#private;
|
|
9
|
+
static readonly capabilities: readonly ["inbound", "outbound"];
|
|
9
10
|
constructor(plugin: Plugin, router: any);
|
|
10
|
-
|
|
11
|
-
kickMember(
|
|
12
|
-
setGroupName(
|
|
13
|
-
getGroupInfo(
|
|
11
|
+
createEndpoint(config: DingTalkEndpointConfig): DingTalkEndpoint;
|
|
12
|
+
kickMember(endpointId: string, sceneId: string, userId: string): Promise<boolean>;
|
|
13
|
+
setGroupName(endpointId: string, sceneId: string, name: string): Promise<boolean>;
|
|
14
|
+
getGroupInfo(endpointId: string, sceneId: string): Promise<any>;
|
|
14
15
|
start(): Promise<void>;
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=adapter.d.ts.map
|
package/lib/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,OAAO,EACP,MAAM,EACP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,OAAO,EACP,MAAM,EACP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,qBAAa,eAAgB,SAAQ,OAAO,CAAC,gBAAgB,CAAC;;IAC5D,gBAAyB,YAAY,mCAAoC;gBAI7D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG;IAKvC,cAAc,CAAC,MAAM,EAAE,sBAAsB,GAAG,gBAAgB;IAI1D,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAM9D,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAM9D,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAMhD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
package/lib/adapter.js
CHANGED
|
@@ -2,33 +2,34 @@
|
|
|
2
2
|
* 钉钉适配器
|
|
3
3
|
*/
|
|
4
4
|
import { Adapter, } from "zhin.js";
|
|
5
|
-
import {
|
|
5
|
+
import { DingTalkEndpoint } from "./endpoint.js";
|
|
6
6
|
export class DingTalkAdapter extends Adapter {
|
|
7
|
+
static capabilities = ['inbound', 'outbound'];
|
|
7
8
|
#router;
|
|
8
9
|
constructor(plugin, router) {
|
|
9
10
|
super(plugin, "dingtalk", []);
|
|
10
11
|
this.#router = router;
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
return new
|
|
13
|
+
createEndpoint(config) {
|
|
14
|
+
return new DingTalkEndpoint(this, this.#router, config);
|
|
14
15
|
}
|
|
15
|
-
async kickMember(
|
|
16
|
-
const
|
|
17
|
-
if (!
|
|
18
|
-
throw new Error(`
|
|
19
|
-
return
|
|
16
|
+
async kickMember(endpointId, sceneId, userId) {
|
|
17
|
+
const endpoint = this.endpoints.get(endpointId);
|
|
18
|
+
if (!endpoint)
|
|
19
|
+
throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
20
|
+
return endpoint.updateChat(sceneId, { del_useridlist: [userId] });
|
|
20
21
|
}
|
|
21
|
-
async setGroupName(
|
|
22
|
-
const
|
|
23
|
-
if (!
|
|
24
|
-
throw new Error(`
|
|
25
|
-
return
|
|
22
|
+
async setGroupName(endpointId, sceneId, name) {
|
|
23
|
+
const endpoint = this.endpoints.get(endpointId);
|
|
24
|
+
if (!endpoint)
|
|
25
|
+
throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
26
|
+
return endpoint.updateChat(sceneId, { name });
|
|
26
27
|
}
|
|
27
|
-
async getGroupInfo(
|
|
28
|
-
const
|
|
29
|
-
if (!
|
|
30
|
-
throw new Error(`
|
|
31
|
-
return
|
|
28
|
+
async getGroupInfo(endpointId, sceneId) {
|
|
29
|
+
const endpoint = this.endpoints.get(endpointId);
|
|
30
|
+
if (!endpoint)
|
|
31
|
+
throw new Error(`Endpoint ${endpointId} 不存在`);
|
|
32
|
+
return endpoint.getChatInfo(sceneId);
|
|
32
33
|
}
|
|
33
34
|
async start() {
|
|
34
35
|
await super.start();
|
package/lib/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,OAAO,GAER,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,OAAO,GAER,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,MAAM,OAAO,eAAgB,SAAQ,OAAyB;IAC5D,MAAM,CAAmB,YAAY,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;IAEzE,OAAO,CAAM;IAEb,YAAY,MAAc,EAAE,MAAW;QACrC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,cAAc,CAAC,MAA8B;QAC3C,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,OAAe,EAAE,MAAc;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,MAAM,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,OAAe,EAAE,IAAY;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,MAAM,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,OAAe;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,MAAM,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 钉钉
|
|
2
|
+
* 钉钉 Endpoint 实现
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import type {
|
|
4
|
+
import { Endpoint, Message, SendOptions } from 'zhin.js';
|
|
5
|
+
import type { DingTalkEndpointConfig, DingTalkMessage } from "./types.js";
|
|
6
6
|
import type { DingTalkAdapter } from "./adapter.js";
|
|
7
|
-
export declare class
|
|
7
|
+
export declare class DingTalkEndpoint implements Endpoint<DingTalkEndpointConfig, DingTalkMessage> {
|
|
8
8
|
adapter: DingTalkAdapter;
|
|
9
|
-
$config:
|
|
9
|
+
$config: DingTalkEndpointConfig;
|
|
10
10
|
$connected: boolean;
|
|
11
11
|
private router;
|
|
12
12
|
private accessToken;
|
|
@@ -14,7 +14,7 @@ export declare class DingTalkBot implements Bot<DingTalkBotConfig, DingTalkMessa
|
|
|
14
14
|
private sessionWebhooks;
|
|
15
15
|
get $id(): string;
|
|
16
16
|
get logger(): import("zhin.js").Logger;
|
|
17
|
-
constructor(adapter: DingTalkAdapter, router: any, $config:
|
|
17
|
+
constructor(adapter: DingTalkAdapter, router: any, $config: DingTalkEndpointConfig);
|
|
18
18
|
private request;
|
|
19
19
|
private setupWebhookRoute;
|
|
20
20
|
private handleWebhook;
|
|
@@ -43,4 +43,4 @@ export declare class DingTalkBot implements Bot<DingTalkBotConfig, DingTalkMessa
|
|
|
43
43
|
del_useridlist?: string[];
|
|
44
44
|
}): Promise<boolean>;
|
|
45
45
|
}
|
|
46
|
-
//# sourceMappingURL=
|
|
46
|
+
//# sourceMappingURL=endpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAiB,QAAQ,EAAE,OAAO,EAAwC,WAAW,EAAE,MAAM,SAAS,CAAC;AAG9G,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EAGhB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,qBAAa,gBAAiB,YAAW,QAAQ,CAAC,sBAAsB,EAAE,eAAe,CAAC;IAgB/E,OAAO,EAAE,eAAe;IAExB,OAAO,EAAE,sBAAsB;IAjBxC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAkC;IAEzD,IAAI,GAAG,WAEN;IAED,IAAI,MAAM,6BAET;gBAGQ,OAAO,EAAE,eAAe,EAC/B,MAAM,EAAE,GAAG,EACJ,OAAO,EAAE,sBAAsB;YAS1B,OAAO;IA4BrB,OAAO,CAAC,iBAAiB;YAMX,aAAa;IA0B3B,OAAO,CAAC,eAAe;YAaT,WAAW;YAeX,iBAAiB;YAajB,kBAAkB;IA2BhC,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAoC9D,OAAO,CAAC,mBAAmB;IAoGrB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAwCnD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,OAAO,CAAC,iBAAiB;IA8EnB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAczC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAclD,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBpE,iBAAiB,CAAC,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAcrD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAc/C,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqBnB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAczC,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KAC3B,GACA,OAAO,CAAC,OAAO,CAAC;CAgBpB"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 钉钉
|
|
2
|
+
* 钉钉 Endpoint 实现
|
|
3
3
|
*/
|
|
4
4
|
import { formatCompact, Message, segment } from 'zhin.js';
|
|
5
5
|
import { registerFetchRoute } from "@zhin.js/host-router/router";
|
|
6
6
|
import { createHmac } from "crypto";
|
|
7
|
-
|
|
7
|
+
import { normalizeDingtalkSenderForPermit } from "./platform-permit.js";
|
|
8
|
+
export class DingTalkEndpoint {
|
|
8
9
|
adapter;
|
|
9
10
|
$config;
|
|
10
11
|
$connected;
|
|
@@ -99,7 +100,7 @@ export class DingTalkBot {
|
|
|
99
100
|
this.adapter.emit("message.receive", message);
|
|
100
101
|
this.logger.debug(formatCompact({
|
|
101
102
|
op: "recv",
|
|
102
|
-
|
|
103
|
+
endpoint: this.$config.name,
|
|
103
104
|
channel: message.$channel.type,
|
|
104
105
|
id: message.$channel.id,
|
|
105
106
|
len: segment.raw(message.$content).length,
|
|
@@ -145,13 +146,16 @@ export class DingTalkBot {
|
|
|
145
146
|
$formatMessage(msg) {
|
|
146
147
|
const content = this.parseMessageContent(msg);
|
|
147
148
|
const chatType = msg.conversationType === "2" ? "group" : "private";
|
|
149
|
+
const permit = normalizeDingtalkSenderForPermit({ isAdmin: msg.isAdmin === true });
|
|
148
150
|
return Message.from(msg, {
|
|
149
151
|
$id: msg.msgId || Date.now().toString(),
|
|
150
152
|
$adapter: "dingtalk",
|
|
151
|
-
$
|
|
153
|
+
$endpoint: this.$config.name,
|
|
152
154
|
$sender: {
|
|
153
155
|
id: msg.senderId || msg.senderStaffId || "unknown",
|
|
154
156
|
name: msg.senderNick || msg.senderId || "Unknown User",
|
|
157
|
+
role: permit.role,
|
|
158
|
+
permissions: permit.permissions,
|
|
155
159
|
},
|
|
156
160
|
$channel: {
|
|
157
161
|
id: msg.conversationId || "unknown",
|
|
@@ -166,7 +170,7 @@ export class DingTalkBot {
|
|
|
166
170
|
$reply: async (content) => {
|
|
167
171
|
return await this.adapter.sendMessage({
|
|
168
172
|
context: "dingtalk",
|
|
169
|
-
|
|
173
|
+
endpoint: this.$config.name,
|
|
170
174
|
id: msg.conversationId || msg.senderId || "unknown",
|
|
171
175
|
type: chatType,
|
|
172
176
|
content: content,
|
|
@@ -383,7 +387,7 @@ export class DingTalkBot {
|
|
|
383
387
|
try {
|
|
384
388
|
await this.refreshAccessToken();
|
|
385
389
|
this.$connected = true;
|
|
386
|
-
this.logger.info(formatCompact({
|
|
390
|
+
this.logger.info(formatCompact({ endpoint: this.$config.name }));
|
|
387
391
|
this.logger.info(formatCompact({ op: "webhook", path: this.$config.webhookPath }));
|
|
388
392
|
}
|
|
389
393
|
catch (error) {
|
|
@@ -395,7 +399,7 @@ export class DingTalkBot {
|
|
|
395
399
|
try {
|
|
396
400
|
this.sessionWebhooks.clear();
|
|
397
401
|
this.$connected = false;
|
|
398
|
-
this.logger.info(formatCompact({ op: "disconnect",
|
|
402
|
+
this.logger.info(formatCompact({ op: "disconnect", endpoint: this.$config.name }));
|
|
399
403
|
}
|
|
400
404
|
catch (error) {
|
|
401
405
|
this.logger.error("Error disconnecting DingTalk bot:", error);
|
|
@@ -536,4 +540,4 @@ export class DingTalkBot {
|
|
|
536
540
|
}
|
|
537
541
|
}
|
|
538
542
|
}
|
|
539
|
-
//# sourceMappingURL=
|
|
543
|
+
//# sourceMappingURL=endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAO/C,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,MAAM,CAAC;QACf,UAAU,QAAQ;YAChB,MAAM,EAAE,OAAO,sBAAsB,EAAE,MAAM,CAAC;SAC/C;KACF;IACD,UAAU,QAAQ;QAChB,QAAQ,EAAE,eAAe,CAAC;KAC3B;CACF;AAED,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { usePlugin, createGroupManagementTools } from "zhin.js";
|
|
5
5
|
import { DingTalkAdapter } from "./adapter.js";
|
|
6
|
+
import { dingtalkGroupPermitResolver, platformPermit, registerDingtalkPlatformPermitChecker, } from "./platform-permit.js";
|
|
6
7
|
export * from "./types.js";
|
|
7
|
-
export {
|
|
8
|
+
export { DingTalkEndpoint } from "./endpoint.js";
|
|
8
9
|
export { DingTalkAdapter } from "./adapter.js";
|
|
9
10
|
const plugin = usePlugin();
|
|
10
11
|
const { provide, useContext } = plugin;
|
|
11
12
|
useContext("router", (router) => {
|
|
12
13
|
provide({
|
|
13
14
|
name: "dingtalk",
|
|
14
|
-
description: "DingTalk
|
|
15
|
+
description: "DingTalk Endpoint Adapter",
|
|
15
16
|
mounted: async (p) => {
|
|
16
17
|
const adapter = new DingTalkAdapter(p, router);
|
|
17
18
|
await adapter.start();
|
|
@@ -23,26 +24,28 @@ useContext("router", (router) => {
|
|
|
23
24
|
});
|
|
24
25
|
});
|
|
25
26
|
useContext('tool', 'dingtalk', (toolService, dingtalk) => {
|
|
26
|
-
const
|
|
27
|
-
|
|
27
|
+
const disposers = [];
|
|
28
|
+
disposers.push(registerDingtalkPlatformPermitChecker());
|
|
29
|
+
const groupTools = createGroupManagementTools(dingtalk, 'dingtalk', { permitResolver: dingtalkGroupPermitResolver, registerChecker: false });
|
|
30
|
+
disposers.push(...groupTools.map(t => toolService.addTool(t, plugin.name)));
|
|
28
31
|
disposers.push(toolService.addTool({
|
|
29
32
|
name: 'dingtalk_get_user',
|
|
30
33
|
description: '获取钉钉用户信息',
|
|
31
34
|
parameters: {
|
|
32
35
|
type: 'object',
|
|
33
36
|
properties: {
|
|
34
|
-
|
|
37
|
+
endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
|
|
35
38
|
user_id: { type: 'string', description: '用户 ID' },
|
|
36
39
|
},
|
|
37
|
-
required: ['
|
|
40
|
+
required: ['endpoint_id', 'user_id'],
|
|
38
41
|
},
|
|
39
42
|
platforms: ['dingtalk'],
|
|
40
43
|
tags: ['dingtalk'],
|
|
41
44
|
execute: async (args) => {
|
|
42
|
-
const
|
|
43
|
-
if (!
|
|
44
|
-
throw new Error(`
|
|
45
|
-
return await
|
|
45
|
+
const endpoint = dingtalk.endpoints.get(args.endpoint_id);
|
|
46
|
+
if (!endpoint)
|
|
47
|
+
throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
|
|
48
|
+
return await endpoint.getUserInfo(args.user_id);
|
|
46
49
|
},
|
|
47
50
|
}, plugin.name));
|
|
48
51
|
disposers.push(toolService.addTool({
|
|
@@ -51,18 +54,18 @@ useContext('tool', 'dingtalk', (toolService, dingtalk) => {
|
|
|
51
54
|
parameters: {
|
|
52
55
|
type: 'object',
|
|
53
56
|
properties: {
|
|
54
|
-
|
|
57
|
+
endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
|
|
55
58
|
dept_id: { type: 'string', description: '部门 ID' },
|
|
56
59
|
},
|
|
57
|
-
required: ['
|
|
60
|
+
required: ['endpoint_id', 'dept_id'],
|
|
58
61
|
},
|
|
59
62
|
platforms: ['dingtalk'],
|
|
60
63
|
tags: ['dingtalk'],
|
|
61
64
|
execute: async (args) => {
|
|
62
|
-
const
|
|
63
|
-
if (!
|
|
64
|
-
throw new Error(`
|
|
65
|
-
const users = await
|
|
65
|
+
const endpoint = dingtalk.endpoints.get(args.endpoint_id);
|
|
66
|
+
if (!endpoint)
|
|
67
|
+
throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
|
|
68
|
+
const users = await endpoint.getDepartmentUsers(args.dept_id);
|
|
66
69
|
return { users, count: users.length };
|
|
67
70
|
},
|
|
68
71
|
}, plugin.name));
|
|
@@ -72,18 +75,18 @@ useContext('tool', 'dingtalk', (toolService, dingtalk) => {
|
|
|
72
75
|
parameters: {
|
|
73
76
|
type: 'object',
|
|
74
77
|
properties: {
|
|
75
|
-
|
|
78
|
+
endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
|
|
76
79
|
dept_id: { type: 'string', description: '父部门 ID,默认 1(根部门)' },
|
|
77
80
|
},
|
|
78
|
-
required: ['
|
|
81
|
+
required: ['endpoint_id'],
|
|
79
82
|
},
|
|
80
83
|
platforms: ['dingtalk'],
|
|
81
84
|
tags: ['dingtalk'],
|
|
82
85
|
execute: async (args) => {
|
|
83
|
-
const
|
|
84
|
-
if (!
|
|
85
|
-
throw new Error(`
|
|
86
|
-
const departments = await
|
|
86
|
+
const endpoint = dingtalk.endpoints.get(args.endpoint_id);
|
|
87
|
+
if (!endpoint)
|
|
88
|
+
throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
|
|
89
|
+
const departments = await endpoint.getDepartmentList(args.dept_id || '1');
|
|
87
90
|
return { departments, count: departments.length };
|
|
88
91
|
},
|
|
89
92
|
}, plugin.name));
|
|
@@ -93,20 +96,20 @@ useContext('tool', 'dingtalk', (toolService, dingtalk) => {
|
|
|
93
96
|
parameters: {
|
|
94
97
|
type: 'object',
|
|
95
98
|
properties: {
|
|
96
|
-
|
|
99
|
+
endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
|
|
97
100
|
user_ids: { type: 'string', description: '用户 ID 列表,逗号分隔' },
|
|
98
101
|
content: { type: 'string', description: '通知内容' },
|
|
99
102
|
},
|
|
100
|
-
required: ['
|
|
103
|
+
required: ['endpoint_id', 'user_ids', 'content'],
|
|
101
104
|
},
|
|
102
105
|
platforms: ['dingtalk'],
|
|
103
106
|
tags: ['dingtalk'],
|
|
104
107
|
execute: async (args) => {
|
|
105
|
-
const
|
|
106
|
-
if (!
|
|
107
|
-
throw new Error(`
|
|
108
|
+
const endpoint = dingtalk.endpoints.get(args.endpoint_id);
|
|
109
|
+
if (!endpoint)
|
|
110
|
+
throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
|
|
108
111
|
const msgContent = { msgtype: 'text', text: { content: args.content } };
|
|
109
|
-
const success = await
|
|
112
|
+
const success = await endpoint.sendWorkNotice(args.user_ids.split(','), msgContent);
|
|
110
113
|
return { success, message: success ? '工作通知已发送' : '发送失败' };
|
|
111
114
|
},
|
|
112
115
|
}, plugin.name));
|
|
@@ -116,20 +119,21 @@ useContext('tool', 'dingtalk', (toolService, dingtalk) => {
|
|
|
116
119
|
parameters: {
|
|
117
120
|
type: 'object',
|
|
118
121
|
properties: {
|
|
119
|
-
|
|
122
|
+
endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
|
|
120
123
|
name: { type: 'string', description: '群名' },
|
|
121
124
|
owner: { type: 'string', description: '群主用户 ID' },
|
|
122
125
|
members: { type: 'string', description: '成员用户 ID 列表,逗号分隔' },
|
|
123
126
|
},
|
|
124
|
-
required: ['
|
|
127
|
+
required: ['endpoint_id', 'name', 'owner', 'members'],
|
|
125
128
|
},
|
|
126
129
|
platforms: ['dingtalk'],
|
|
127
130
|
tags: ['dingtalk'],
|
|
131
|
+
permissions: [platformPermit('chat_owner')],
|
|
128
132
|
execute: async (args) => {
|
|
129
|
-
const
|
|
130
|
-
if (!
|
|
131
|
-
throw new Error(`
|
|
132
|
-
const chatId = await
|
|
133
|
+
const endpoint = dingtalk.endpoints.get(args.endpoint_id);
|
|
134
|
+
if (!endpoint)
|
|
135
|
+
throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
|
|
136
|
+
const chatId = await endpoint.createChat(args.name, args.owner, args.members.split(','));
|
|
133
137
|
return { success: !!chatId, chat_id: chatId, message: chatId ? `群聊创建成功: ${chatId}` : '创建失败' };
|
|
134
138
|
},
|
|
135
139
|
}, plugin.name));
|
|
@@ -139,19 +143,20 @@ useContext('tool', 'dingtalk', (toolService, dingtalk) => {
|
|
|
139
143
|
parameters: {
|
|
140
144
|
type: 'object',
|
|
141
145
|
properties: {
|
|
142
|
-
|
|
146
|
+
endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
|
|
143
147
|
chat_id: { type: 'string', description: '群聊 ID' },
|
|
144
148
|
user_ids: { type: 'string', description: '要添加的用户 ID 列表,逗号分隔' },
|
|
145
149
|
},
|
|
146
|
-
required: ['
|
|
150
|
+
required: ['endpoint_id', 'chat_id', 'user_ids'],
|
|
147
151
|
},
|
|
148
152
|
platforms: ['dingtalk'],
|
|
149
153
|
tags: ['dingtalk'],
|
|
154
|
+
permissions: [platformPermit('chat_admin')],
|
|
150
155
|
execute: async (args) => {
|
|
151
|
-
const
|
|
152
|
-
if (!
|
|
153
|
-
throw new Error(`
|
|
154
|
-
const success = await
|
|
156
|
+
const endpoint = dingtalk.endpoints.get(args.endpoint_id);
|
|
157
|
+
if (!endpoint)
|
|
158
|
+
throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
|
|
159
|
+
const success = await endpoint.updateChat(args.chat_id, { add_useridlist: args.user_ids.split(',') });
|
|
155
160
|
return { success, message: success ? '成员添加成功' : '添加失败' };
|
|
156
161
|
},
|
|
157
162
|
}, plugin.name));
|
|
@@ -161,18 +166,18 @@ useContext('tool', 'dingtalk', (toolService, dingtalk) => {
|
|
|
161
166
|
parameters: {
|
|
162
167
|
type: 'object',
|
|
163
168
|
properties: {
|
|
164
|
-
|
|
169
|
+
endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
|
|
165
170
|
dept_id: { type: 'string', description: '部门 ID' },
|
|
166
171
|
},
|
|
167
|
-
required: ['
|
|
172
|
+
required: ['endpoint_id', 'dept_id'],
|
|
168
173
|
},
|
|
169
174
|
platforms: ['dingtalk'],
|
|
170
175
|
tags: ['dingtalk'],
|
|
171
176
|
execute: async (args) => {
|
|
172
|
-
const
|
|
173
|
-
if (!
|
|
174
|
-
throw new Error(`
|
|
175
|
-
return await
|
|
177
|
+
const endpoint = dingtalk.endpoints.get(args.endpoint_id);
|
|
178
|
+
if (!endpoint)
|
|
179
|
+
throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
|
|
180
|
+
return await endpoint.getDepartmentInfo(Number(args.dept_id));
|
|
176
181
|
},
|
|
177
182
|
}, plugin.name));
|
|
178
183
|
disposers.push(toolService.addTool({
|
|
@@ -181,21 +186,21 @@ useContext('tool', 'dingtalk', (toolService, dingtalk) => {
|
|
|
181
186
|
parameters: {
|
|
182
187
|
type: 'object',
|
|
183
188
|
properties: {
|
|
184
|
-
|
|
189
|
+
endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
|
|
185
190
|
chat_id: { type: 'string', description: '群聊 ID' },
|
|
186
191
|
name: { type: 'string', description: '新群名(可选)' },
|
|
187
192
|
owner: { type: 'string', description: '新群主 userId(可选)' },
|
|
188
193
|
add_members: { type: 'string', description: '要添加的成员 userId,逗号分隔(可选)' },
|
|
189
194
|
remove_members: { type: 'string', description: '要移除的成员 userId,逗号分隔(可选)' },
|
|
190
195
|
},
|
|
191
|
-
required: ['
|
|
196
|
+
required: ['endpoint_id', 'chat_id'],
|
|
192
197
|
},
|
|
193
198
|
platforms: ['dingtalk'],
|
|
194
199
|
tags: ['dingtalk'],
|
|
195
200
|
execute: async (args) => {
|
|
196
|
-
const
|
|
197
|
-
if (!
|
|
198
|
-
throw new Error(`
|
|
201
|
+
const endpoint = dingtalk.endpoints.get(args.endpoint_id);
|
|
202
|
+
if (!endpoint)
|
|
203
|
+
throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
|
|
199
204
|
const options = {};
|
|
200
205
|
if (args.name)
|
|
201
206
|
options.name = args.name;
|
|
@@ -205,7 +210,7 @@ useContext('tool', 'dingtalk', (toolService, dingtalk) => {
|
|
|
205
210
|
options.add_useridlist = args.add_members.split(',').map((s) => s.trim());
|
|
206
211
|
if (args.remove_members)
|
|
207
212
|
options.del_useridlist = args.remove_members.split(',').map((s) => s.trim());
|
|
208
|
-
await
|
|
213
|
+
await endpoint.updateChat(args.chat_id, options);
|
|
209
214
|
return { success: true, message: '群聊设置已更新' };
|
|
210
215
|
},
|
|
211
216
|
}, plugin.name));
|