@zhin.js/adapter-kook 2.0.7 → 2.0.9

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +53 -63
  3. package/package.json +11 -11
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @zhin.js/adapter-kook
2
2
 
3
+ ## 2.0.9
4
+
5
+ ### Patch Changes
6
+
7
+ - c8f8207: fix: 修复内存泄露问题
8
+ - Updated dependencies [c8f8207]
9
+ - @zhin.js/logger@0.1.70
10
+ - @zhin.js/client@2.0.2
11
+ - @zhin.js/contract@1.0.1
12
+ - @zhin.js/host-api@0.0.3
13
+ - @zhin.js/host-router@0.0.3
14
+ - zhin.js@1.0.90
15
+
16
+ ## 2.0.8
17
+
18
+ ### Patch Changes
19
+
20
+ - c78d2cd: fix: cli 更新,文档更新
21
+ - Updated dependencies [c78d2cd]
22
+ - @zhin.js/client@2.0.1
23
+ - @zhin.js/host-router@0.0.2
24
+ - zhin.js@1.0.89
25
+ - @zhin.js/host-api@0.0.2
26
+
3
27
  ## 2.0.7
4
28
 
5
29
  ### Patch Changes
package/README.md CHANGED
@@ -9,60 +9,64 @@ Zhin.js KOOK(开黑啦)适配器,基于 KOOK 官方 API 开发,支持频
9
9
  - 🔄 消息格式转换和适配
10
10
  - 📁 自动数据目录管理
11
11
  - ⚡ 基于 WebSocket 的实时通信
12
- - 🎯 支持 Webhook 和 WebSocket 双模式
13
12
  - 📝 支持 Markdown 消息格式
14
13
 
15
14
  ## 安装
16
15
 
17
16
  ```bash
18
- pnpm add @zhin.js/adapter-kook kook-client
17
+ pnpm add @zhin.js/adapter-kook
19
18
  ```
20
19
 
21
- ## 配置
20
+ ## 前置条件
22
21
 
23
- ### WebSocket 模式(推荐)
22
+ | 要求 | 说明 |
23
+ |------|------|
24
+ | **Bot Token** | 在 [KOOK 开发者平台](https://developer.kookapp.cn/) 创建应用并获取 |
25
+ | **邀请入服** | 将机器人邀请到目标服务器,并授予查看频道、发送消息等权限 |
26
+ | **连接方式** | 当前适配器通过 **WebSocket** 连接 KOOK(`kook-client`);无需公网 URL |
27
+ | **host-router** | 不需要 |
24
28
 
25
- ```typescript
26
- // zhin.config.ts
27
- import { defineConfig } from 'zhin.js'
29
+ 必填字段见 `KookBotConfig`:`context`、`name`、`token`。
28
30
 
29
- export default defineConfig({
30
- bots: [
31
- {
32
- context: 'kook',
33
- name: 'my-kook-bot',
34
- token: process.env.KOOK_TOKEN, // KOOK 机器人 Token(必需)
35
- mode: 'websocket', // WebSocket 模式
36
- data_dir: './data' // 数据目录(可选)
37
- }
38
- ],
39
- plugins: [
40
- 'http',
41
- 'adapter-kook'
42
- ]
43
- })
31
+ ## 最小配置
32
+
33
+ ```yaml
34
+ plugins:
35
+ - "@zhin.js/adapter-kook"
36
+
37
+ bots:
38
+ - context: kook
39
+ name: my-kook-bot
40
+ token: "${KOOK_TOKEN}"
41
+ ```
42
+
43
+ ## 配置
44
+
45
+ 可选字段(见 `KookBotConfig`):`data_dir`、`timeout`、`max_retry`、`ignore`、`logLevel`。
46
+
47
+ ```yaml
48
+ bots:
49
+ - context: kook
50
+ name: my-kook-bot
51
+ token: "${KOOK_TOKEN}"
52
+ data_dir: ./data/kook
44
53
  ```
45
54
 
46
- ### Webhook 模式
55
+ TypeScript 等价写法:
47
56
 
48
57
  ```typescript
58
+ import { defineConfig } from 'zhin.js'
59
+
49
60
  export default defineConfig({
50
61
  bots: [
51
62
  {
52
63
  context: 'kook',
53
64
  name: 'my-kook-bot',
54
- token: process.env.KOOK_TOKEN, // KOOK 机器人 Token(必需)
55
- mode: 'webhook', // Webhook 模式
56
- endpoint: process.env.KOOK_ENDPOINT, // Webhook 端点(必需)
57
- verifyToken: process.env.KOOK_VERIFY, // 验证令牌(可选)
58
- encryptKey: process.env.KOOK_ENCRYPT, // 加密密钥(可选)
59
- data_dir: './data'
60
- }
65
+ token: process.env.KOOK_TOKEN!,
66
+ data_dir: './data/kook',
67
+ },
61
68
  ],
62
- plugins: [
63
- 'http',
64
- 'adapter-kook'
65
- ]
69
+ plugins: ['@zhin.js/adapter-kook'],
66
70
  })
67
71
  ```
68
72
 
@@ -78,8 +82,7 @@ export default defineConfig({
78
82
 
79
83
  在应用设置中:
80
84
  - 获取 **Bot Token**(必需)
81
- - 配置 Webhook 地址(Webhook 模式)
82
- - 设置验证令牌和加密密钥(可选,增强安全性)
85
+ - 将机器人邀请到需要的服务器并配置频道权限
83
86
 
84
87
  ### 3. 邀请机器人
85
88
 
@@ -314,19 +317,9 @@ onMessage(async (message) => {
314
317
  })
315
318
  ```
316
319
 
317
- ## WebSocket vs Webhook
320
+ ## 连接说明
318
321
 
319
- ### WebSocket 模式(推荐)
320
- - ✅ 更低的延迟
321
- - ✅ 实时双向通信
322
- - ✅ 无需公网 IP
323
- - ✅ 配置简单
324
-
325
- ### Webhook 模式
326
- - ✅ 服务器资源占用少
327
- - ✅ 可扩展性强
328
- - ⚠️ 需要公网 IP
329
- - ⚠️ 需要配置回调地址
322
+ 本适配器固定使用 **WebSocket** 与 KOOK 通信(由 `kook-client` 实现),无需配置 Webhook 回调地址。
330
323
 
331
324
  ## 消息 ID 格式
332
325
 
@@ -351,27 +344,23 @@ KOOK 有消息发送频率限制:
351
344
  - 每秒最多 5 条消息
352
345
  - 建议添加发送队列管理
353
346
 
354
- ## 常见问题
347
+ ## 故障排查
355
348
 
356
- ### Q: 机器人无法收到消息?
349
+ ### 机器人无法收到消息
357
350
 
358
- A: 检查以下几点:
359
351
  1. Token 是否正确
360
352
  2. 机器人是否已加入服务器
361
353
  3. 机器人是否有查看频道权限
362
- 4. WebSocket 连接是否正常
354
+ 4. WebSocket 连接是否正常(查看启动日志)
355
+
356
+ ### 发送失败或频率限制
363
357
 
364
- ### Q: Webhook 模式无法工作?
358
+ KOOK 有发送频率限制(约每秒 5 条);建议队列化发送并检查 API 错误码。
365
359
 
366
- A: 确认:
367
- 1. Webhook URL 可以从公网访问
368
- 2. 验证令牌配置正确
369
- 3. 端口已开放
370
- 4. HTTPS 配置正确(推荐)
360
+ ### 如何发送卡片消息
371
361
 
372
- ### Q: 如何发送卡片消息?
362
+ 使用 KOOK 卡片消息格式:
373
363
 
374
- A: 使用 KOOK 的卡片消息格式:
375
364
  ```typescript
376
365
  await bot.sendChannelMsg(channelId, [
377
366
  {
@@ -383,12 +372,13 @@ await bot.sendChannelMsg(channelId, [
383
372
  ])
384
373
  ```
385
374
 
386
- ## 相关链接
375
+ ## 文档链接
387
376
 
377
+ - [KOOK 适配器文档](https://zhin.js.org/adapters/kook)
378
+ - [适配器概览](https://zhin.js.org/essentials/adapters)
388
379
  - [KOOK 开发者平台](https://developer.kookapp.cn/)
389
380
  - [KOOK 开发文档](https://developer.kookapp.cn/doc/)
390
- - [kook-client 文档](https://github.com/zhinjs/kook-client)
391
- - [Zhin.js 官方文档](https://github.com/zhinjs/zhin)
381
+ - [kook-client](https://github.com/zhinjs/kook-client)
392
382
 
393
383
  ## 依赖项
394
384
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/adapter-kook",
3
- "version": "2.0.7",
3
+ "version": "2.0.9",
4
4
  "description": "Zhin.js adapter for KOOK (开黑啦)",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -40,18 +40,18 @@
40
40
  "@types/react-dom": "^19.2.3",
41
41
  "lucide-react": "^1.17.0",
42
42
  "typescript": "^6.0.3",
43
- "@zhin.js/cli": "1.0.84",
44
- "@zhin.js/host-api": "0.0.1",
45
- "@zhin.js/contract": "1.0.0",
46
- "zhin.js": "1.0.88"
43
+ "@zhin.js/cli": "1.0.86",
44
+ "@zhin.js/host-api": "0.0.3",
45
+ "@zhin.js/contract": "1.0.1",
46
+ "zhin.js": "1.0.90"
47
47
  },
48
48
  "peerDependencies": {
49
- "@zhin.js/client": "2.0.0",
50
- "@zhin.js/contract": "1.0.0",
51
- "@zhin.js/host-router": "0.0.1",
52
- "@zhin.js/host-api": "0.0.1",
53
- "@zhin.js/logger": "0.1.69",
54
- "zhin.js": "1.0.88"
49
+ "@zhin.js/client": "2.0.2",
50
+ "@zhin.js/host-api": "0.0.3",
51
+ "@zhin.js/contract": "1.0.1",
52
+ "@zhin.js/host-router": "0.0.3",
53
+ "@zhin.js/logger": "0.1.70",
54
+ "zhin.js": "1.0.90"
55
55
  },
56
56
  "peerDependenciesMeta": {
57
57
  "@zhin.js/client": {