@zhin.js/adapter-kook 2.0.6 → 2.0.8
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 +18 -0
- package/README.md +53 -63
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @zhin.js/adapter-kook
|
|
2
2
|
|
|
3
|
+
## 2.0.8
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- c78d2cd: fix: cli 更新,文档更新
|
|
8
|
+
- Updated dependencies [c78d2cd]
|
|
9
|
+
- @zhin.js/client@2.0.1
|
|
10
|
+
- @zhin.js/host-router@0.0.2
|
|
11
|
+
- zhin.js@1.0.89
|
|
12
|
+
- @zhin.js/host-api@0.0.2
|
|
13
|
+
|
|
14
|
+
## 2.0.7
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- Updated dependencies [ccb6e24]
|
|
19
|
+
- zhin.js@1.0.88
|
|
20
|
+
|
|
3
21
|
## 2.0.6
|
|
4
22
|
|
|
5
23
|
### 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
|
|
17
|
+
pnpm add @zhin.js/adapter-kook
|
|
19
18
|
```
|
|
20
19
|
|
|
21
|
-
##
|
|
20
|
+
## 前置条件
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
| 要求 | 说明 |
|
|
23
|
+
|------|------|
|
|
24
|
+
| **Bot Token** | 在 [KOOK 开发者平台](https://developer.kookapp.cn/) 创建应用并获取 |
|
|
25
|
+
| **邀请入服** | 将机器人邀请到目标服务器,并授予查看频道、发送消息等权限 |
|
|
26
|
+
| **连接方式** | 当前适配器通过 **WebSocket** 连接 KOOK(`kook-client`);无需公网 URL |
|
|
27
|
+
| **host-router** | 不需要 |
|
|
24
28
|
|
|
25
|
-
|
|
26
|
-
// zhin.config.ts
|
|
27
|
-
import { defineConfig } from 'zhin.js'
|
|
29
|
+
必填字段见 `KookBotConfig`:`context`、`name`、`token`。
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
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
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
-
|
|
82
|
-
- 设置验证令牌和加密密钥(可选,增强安全性)
|
|
85
|
+
- 将机器人邀请到需要的服务器并配置频道权限
|
|
83
86
|
|
|
84
87
|
### 3. 邀请机器人
|
|
85
88
|
|
|
@@ -314,19 +317,9 @@ onMessage(async (message) => {
|
|
|
314
317
|
})
|
|
315
318
|
```
|
|
316
319
|
|
|
317
|
-
##
|
|
320
|
+
## 连接说明
|
|
318
321
|
|
|
319
|
-
|
|
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
|
-
###
|
|
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
|
-
|
|
358
|
+
KOOK 有发送频率限制(约每秒 5 条);建议队列化发送并检查 API 错误码。
|
|
365
359
|
|
|
366
|
-
|
|
367
|
-
1. Webhook URL 可以从公网访问
|
|
368
|
-
2. 验证令牌配置正确
|
|
369
|
-
3. 端口已开放
|
|
370
|
-
4. HTTPS 配置正确(推荐)
|
|
360
|
+
### 如何发送卡片消息
|
|
371
361
|
|
|
372
|
-
|
|
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
|
|
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.
|
|
3
|
+
"version": "2.0.8",
|
|
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.
|
|
44
|
-
"@zhin.js/host-api": "0.0.
|
|
43
|
+
"@zhin.js/cli": "1.0.85",
|
|
44
|
+
"@zhin.js/host-api": "0.0.2",
|
|
45
45
|
"@zhin.js/contract": "1.0.0",
|
|
46
|
-
"zhin.js": "1.0.
|
|
46
|
+
"zhin.js": "1.0.89"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@zhin.js/client": "2.0.
|
|
50
|
-
"@zhin.js/host-api": "0.0.
|
|
49
|
+
"@zhin.js/client": "2.0.1",
|
|
50
|
+
"@zhin.js/host-api": "0.0.2",
|
|
51
51
|
"@zhin.js/contract": "1.0.0",
|
|
52
|
-
"@zhin.js/host-router": "0.0.
|
|
52
|
+
"@zhin.js/host-router": "0.0.2",
|
|
53
53
|
"@zhin.js/logger": "0.1.69",
|
|
54
|
-
"zhin.js": "1.0.
|
|
54
|
+
"zhin.js": "1.0.89"
|
|
55
55
|
},
|
|
56
56
|
"peerDependenciesMeta": {
|
|
57
57
|
"@zhin.js/client": {
|