koishi-plugin-imx 2.2.3 → 2.2.5
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 +295 -65
- package/lib/modules/mx-space.js +2 -2
- package/lib/utils/mx-event-handler.d.ts +7 -7
- package/lib/utils/mx-event-handler.js +7 -7
- package/package.json +13 -8
package/README.md
CHANGED
|
@@ -1,34 +1,52 @@
|
|
|
1
1
|
# koishi-plugin-imx
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/koishi-plugin-imx)
|
|
4
|
+
[](https://github.com/sysfox/koishi-plugin-imx/blob/main/LICENSE)
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
### 🔄 复读机
|
|
8
|
-
- 自动检测连续重复的消息并进行复读
|
|
9
|
-
- 支持复读打断机制
|
|
6
|
+
一个功能丰富的 Koishi 聊天机器人插件,集成了 Mix-Space、Bilibili、GitHub 等多种服务,为你的聊天机器人提供强大的功能扩展。
|
|
10
7
|
|
|
11
|
-
|
|
12
|
-
- `tool.ip <ip>` - 查询 IP 地址信息
|
|
13
|
-
- `tool.base64 <text>` - Base64 编码/解码(使用 `-d` 参数解码)
|
|
14
|
-
- `tool.md5 <text>` - 计算 MD5 哈希值
|
|
8
|
+
## ✨ 功能特性
|
|
15
9
|
|
|
16
10
|
### 🌸 MX Space 集成
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
|
|
11
|
+
- **Webhook 事件推送**: 支持博客文章、说说、评论等事件的实时推送
|
|
12
|
+
- **定时问候**: 自动早安/晚安问候,支持 cron 表达式自定义时间
|
|
13
|
+
- **新成员欢迎**: 自动欢迎新加入群组的成员
|
|
14
|
+
- **评论回复**: 支持博客评论的互动回复功能
|
|
15
|
+
- **博客数据查询**: 获取博客统计信息和最新动态
|
|
22
16
|
|
|
23
17
|
### 📺 Bilibili 直播监控
|
|
24
|
-
-
|
|
25
|
-
- 开播时自动推送通知到指定频道
|
|
26
|
-
- `bili.status`
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
18
|
+
- **多房间监控**: 支持同时监控多个直播间的开播状态
|
|
19
|
+
- **智能推送**: 开播时自动推送通知到指定频道
|
|
20
|
+
- **状态查询**: `bili.status` 命令查看当前所有监控房间的直播状态
|
|
21
|
+
- **广播模式**: 支持向所有联系人广播开播通知
|
|
22
|
+
|
|
23
|
+
### 🐙 GitHub 集成
|
|
24
|
+
- **Webhook 支持**: 监听 GitHub 仓库的各种事件
|
|
25
|
+
- **多事件类型**: 支持 Push、Issue、Pull Request、工作流等事件
|
|
26
|
+
- **状态查询**: `github.status` 命令查看仓库状态
|
|
27
|
+
- **安全验证**: 支持 webhook 签名验证
|
|
28
|
+
|
|
29
|
+
### 🛠️ 实用工具命令
|
|
30
|
+
- **哈希计算**: `tools.md5`、`tools.sha256` - 计算文本哈希值
|
|
31
|
+
- **IP 查询**: `tools.ip <ip>` - 查询 IP 地址的详细信息
|
|
32
|
+
- **时间戳转换**: `tools.timestamp [timestamp]` - 时间戳与可读时间互转
|
|
33
|
+
- **Base64 编解码**: `tools.base64 <encode|decode> <text>` - 文本编解码
|
|
34
|
+
- **随机生成**: `tools.random [min] [max]` - 生成指定范围的随机数
|
|
35
|
+
- **UUID 生成**: `tools.uuid` - 生成标准 UUID
|
|
36
|
+
- **颜色生成**: `tools.color` - 生成随机颜色及其各种格式
|
|
37
|
+
- **一言**: `tools.hitokoto` 或 `一言` - 获取随机一言
|
|
38
|
+
- **短链接**: `tools.shorturl <url>` - 生成短链接
|
|
39
|
+
- **二维码**: `tools.qrcode <text>` - 生成二维码图片
|
|
40
|
+
|
|
41
|
+
### 🔄 智能复读机
|
|
42
|
+
- **智能触发**: 自动检测连续重复的消息并按概率复读
|
|
43
|
+
- **复读打断**: 连续复读到一定次数后自动打断
|
|
44
|
+
- **可配置参数**: 支持自定义触发阈值、复读概率、打断阈值
|
|
45
|
+
|
|
46
|
+
### 🚀 强大的广播系统
|
|
47
|
+
- **全局广播**: 支持向所有联系人发送消息
|
|
48
|
+
- **精准控制**: 支持排除特定频道的广播功能
|
|
49
|
+
- **详细统计**: 提供发送统计和详细日志记录
|
|
32
50
|
|
|
33
51
|
## 安装
|
|
34
52
|
|
|
@@ -42,6 +60,12 @@ npm install koishi-plugin-imx
|
|
|
42
60
|
yarn add koishi-plugin-imx
|
|
43
61
|
```
|
|
44
62
|
|
|
63
|
+
也可以使用 pnpm:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pnpm add koishi-plugin-imx
|
|
67
|
+
```
|
|
68
|
+
|
|
45
69
|
## 配置
|
|
46
70
|
|
|
47
71
|
在 Koishi 配置文件中添加插件配置:
|
|
@@ -53,88 +77,294 @@ plugins:
|
|
|
53
77
|
mxSpace:
|
|
54
78
|
baseUrl: "https://your-mx-space-api.com"
|
|
55
79
|
token: "your-mx-space-token"
|
|
56
|
-
|
|
57
|
-
|
|
80
|
+
webhook:
|
|
81
|
+
secret: "your-webhook-secret"
|
|
82
|
+
path: "/mx-space/webhook"
|
|
83
|
+
watchChannels: ["channel-id-1"]
|
|
84
|
+
broadcastToAll: false
|
|
85
|
+
excludeChannels: []
|
|
86
|
+
greeting:
|
|
87
|
+
enabled: true
|
|
88
|
+
channels: ["channel-id-1", "channel-id-2"]
|
|
89
|
+
morningTime: "0 0 6 * * *" # 每天早上6点
|
|
90
|
+
eveningTime: "0 0 22 * * *" # 每天晚上10点
|
|
91
|
+
broadcastToAll: false
|
|
92
|
+
excludeChannels: []
|
|
93
|
+
commands:
|
|
94
|
+
enabled: true
|
|
95
|
+
replyPrefix: "来自 Mix Space 的"
|
|
96
|
+
welcomeNewMember:
|
|
97
|
+
enabled: true
|
|
98
|
+
channels: ["group-channel-id"]
|
|
99
|
+
commentReply:
|
|
100
|
+
enabled: true
|
|
101
|
+
channels: ["channel-id-1"]
|
|
58
102
|
|
|
59
103
|
# Bilibili 配置
|
|
60
104
|
bilibili:
|
|
61
105
|
enabled: true
|
|
62
|
-
|
|
106
|
+
roomIds: [123456, 789012] # 监控的直播间ID列表
|
|
63
107
|
watchChannels: ["channel-id"]
|
|
64
|
-
checkInterval:
|
|
65
|
-
|
|
108
|
+
checkInterval: 5 # 检查间隔(分钟)
|
|
109
|
+
broadcastToAll: false
|
|
110
|
+
excludeChannels: []
|
|
66
111
|
|
|
67
112
|
# GitHub 配置
|
|
68
113
|
github:
|
|
69
114
|
enabled: true
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
115
|
+
webhook:
|
|
116
|
+
secret: "your-github-webhook-secret"
|
|
117
|
+
path: "/github/webhook"
|
|
118
|
+
watchChannels: ["channel-id"]
|
|
119
|
+
broadcastToAll: false
|
|
120
|
+
excludeChannels: []
|
|
73
121
|
|
|
74
|
-
#
|
|
75
|
-
|
|
76
|
-
|
|
122
|
+
# 共享功能配置
|
|
123
|
+
shared:
|
|
124
|
+
errorNotify:
|
|
125
|
+
enabled: true
|
|
126
|
+
channels: ["admin-channel-id"]
|
|
127
|
+
repeater:
|
|
128
|
+
enabled: true
|
|
129
|
+
threshold: 3 # 触发复读的次数
|
|
130
|
+
chance: 0.5 # 复读概率
|
|
131
|
+
breakThreshold: 12 # 打断阈值
|
|
132
|
+
tools:
|
|
133
|
+
enabled: true
|
|
77
134
|
```
|
|
78
135
|
|
|
79
136
|
## 配置说明
|
|
80
137
|
|
|
81
138
|
### MX Space 配置
|
|
82
|
-
- `baseUrl`: MX Space API 地址
|
|
83
|
-
- `token`: API 访问令牌
|
|
84
|
-
- `watchChannels`: 监听的频道ID列表
|
|
85
|
-
- `enableGreeting`: 是否启用自动问候功能
|
|
86
139
|
|
|
140
|
+
- `baseUrl`: MX Space API 地址(必填)
|
|
141
|
+
- `token`: API 访问令牌
|
|
142
|
+
- **Webhook 配置**:
|
|
143
|
+
- `secret`: Webhook 验证密钥
|
|
144
|
+
- `path`: Webhook 接收路径
|
|
145
|
+
- `watchChannels`: 接收推送的频道ID列表
|
|
146
|
+
- `broadcastToAll`: 是否广播到所有联系人
|
|
147
|
+
- `excludeChannels`: 广播时排除的频道列表
|
|
148
|
+
- **问候功能**:
|
|
149
|
+
- `enabled`: 是否启用自动问候
|
|
150
|
+
- `channels`: 发送问候消息的频道
|
|
151
|
+
- `morningTime`/`eveningTime`: 问候时间(cron 格式)
|
|
152
|
+
- **其他功能**: 新成员欢迎、评论回复等
|
|
87
153
|
|
|
88
154
|
### Bilibili 配置
|
|
155
|
+
|
|
89
156
|
- `enabled`: 是否启用 Bilibili 监控
|
|
90
|
-
- `
|
|
157
|
+
- `roomIds`: 要监控的直播间ID列表(支持多个)
|
|
91
158
|
- `watchChannels`: 推送通知的频道ID列表
|
|
92
|
-
- `checkInterval`:
|
|
93
|
-
- `
|
|
159
|
+
- `checkInterval`: 检查间隔(分钟,1-60)
|
|
160
|
+
- `broadcastToAll`: 开播时是否广播到所有联系人
|
|
161
|
+
- `excludeChannels`: 广播时排除的频道列表
|
|
94
162
|
|
|
95
163
|
### GitHub 配置
|
|
164
|
+
|
|
96
165
|
- `enabled`: 是否启用 GitHub Webhook
|
|
97
|
-
-
|
|
98
|
-
- `
|
|
99
|
-
- `
|
|
166
|
+
- **Webhook 配置**:
|
|
167
|
+
- `secret`: GitHub Webhook 密钥
|
|
168
|
+
- `path`: Webhook 接收路径
|
|
169
|
+
- `watchChannels`: 推送通知的频道ID列表
|
|
170
|
+
- `broadcastToAll`: 是否广播到所有联系人
|
|
171
|
+
- `excludeChannels`: 广播时排除的频道列表
|
|
100
172
|
|
|
101
|
-
|
|
173
|
+
### 共享功能配置
|
|
174
|
+
|
|
175
|
+
- **错误通知**: 系统错误的通知设置
|
|
176
|
+
- **复读机**: 智能复读功能的参数调整
|
|
177
|
+
- **工具命令**: 实用工具命令的开关
|
|
178
|
+
|
|
179
|
+
## 命令使用
|
|
102
180
|
|
|
103
181
|
### 工具命令
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
# 基础工具
|
|
185
|
+
tools.md5 hello world # 计算 MD5 哈希
|
|
186
|
+
tools.sha256 hello world # 计算 SHA256 哈希
|
|
187
|
+
tools.ip 8.8.8.8 # 查询 IP 信息
|
|
188
|
+
tools.timestamp # 获取当前时间戳
|
|
189
|
+
tools.timestamp 1640995200 # 转换时间戳
|
|
190
|
+
|
|
191
|
+
# 编码工具
|
|
192
|
+
tools.base64 encode hello # Base64 编码
|
|
193
|
+
tools.base64 decode aGVsbG8= # Base64 解码
|
|
194
|
+
|
|
195
|
+
# 生成工具
|
|
196
|
+
tools.random # 生成随机数 (1-100)
|
|
197
|
+
tools.random 1 10 # 生成 1-10 的随机数
|
|
198
|
+
tools.uuid # 生成 UUID
|
|
199
|
+
tools.color # 生成随机颜色
|
|
200
|
+
|
|
201
|
+
# 网络工具
|
|
202
|
+
tools.hitokoto # 获取一言
|
|
203
|
+
一言 # 获取一言(别名)
|
|
204
|
+
tools.shorturl https://... # 生成短链接
|
|
205
|
+
tools.qrcode hello world # 生成二维码
|
|
104
206
|
```
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
207
|
+
|
|
208
|
+
### 监控命令
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
bili.status # 查看直播状态
|
|
212
|
+
github.status # 查看仓库状态
|
|
109
213
|
```
|
|
110
214
|
|
|
111
|
-
|
|
215
|
+
## 使用示例
|
|
216
|
+
|
|
217
|
+
### 工具命令使用
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
# IP 查询
|
|
221
|
+
tools.ip 8.8.8.8
|
|
222
|
+
|
|
223
|
+
# 编码解码
|
|
224
|
+
tools.base64 encode Hello World
|
|
225
|
+
tools.base64 decode SGVsbG8gV29ybGQ=
|
|
226
|
+
|
|
227
|
+
# 哈希计算
|
|
228
|
+
tools.md5 Hello World
|
|
229
|
+
tools.sha256 Hello World
|
|
230
|
+
|
|
231
|
+
# 时间工具
|
|
232
|
+
tools.timestamp
|
|
233
|
+
tools.timestamp 1640995200
|
|
234
|
+
|
|
235
|
+
# 随机生成
|
|
236
|
+
tools.random 1 100
|
|
237
|
+
tools.uuid
|
|
238
|
+
tools.color
|
|
112
239
|
```
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
240
|
+
|
|
241
|
+
### MX Space 事件推送
|
|
242
|
+
|
|
243
|
+
当 MX Space 博客有新内容时,插件会自动推送通知:
|
|
244
|
+
|
|
245
|
+
- 📝 新博客文章发布
|
|
246
|
+
- 💭 新说说发布
|
|
247
|
+
- 💬 博客评论更新
|
|
248
|
+
- 📊 博客数据统计
|
|
249
|
+
|
|
250
|
+
### Bilibili 直播监控
|
|
251
|
+
|
|
252
|
+
支持监控多个直播间,当主播开播时自动推送:
|
|
253
|
+
|
|
254
|
+
```text
|
|
255
|
+
🔴 直播开始了!
|
|
256
|
+
🎯 房间号:123456
|
|
257
|
+
👤 主播:某某主播
|
|
258
|
+
🎬 标题:今天直播XXX内容
|
|
259
|
+
🔗 链接:https://live.bilibili.com/123456
|
|
116
260
|
```
|
|
117
261
|
|
|
118
262
|
## 开发
|
|
119
263
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
264
|
+
### 本地开发
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
# 克隆仓库
|
|
268
|
+
git clone https://github.com/sysfox/koishi-plugin-imx.git
|
|
269
|
+
cd koishi-plugin-imx
|
|
270
|
+
|
|
271
|
+
# 安装依赖
|
|
272
|
+
pnpm install
|
|
273
|
+
|
|
274
|
+
# 开发模式(自动编译)
|
|
275
|
+
pnpm run dev
|
|
276
|
+
|
|
277
|
+
# 构建
|
|
278
|
+
pnpm run build
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### 项目结构
|
|
282
|
+
|
|
283
|
+
```text
|
|
284
|
+
src/
|
|
285
|
+
├── index.ts # 主入口文件
|
|
286
|
+
├── constants/ # 常量定义
|
|
287
|
+
├── modules/ # 功能模块
|
|
288
|
+
│ ├── mx-space.ts # MX Space 集成
|
|
289
|
+
│ ├── bilibili.ts # Bilibili 监控
|
|
290
|
+
│ └── github.ts # GitHub 集成
|
|
291
|
+
├── shared/ # 共享功能
|
|
292
|
+
│ ├── repeater.ts # 复读机
|
|
293
|
+
│ └── commands/ # 命令模块
|
|
294
|
+
├── types/ # 类型定义
|
|
295
|
+
├── utils/ # 工具函数
|
|
296
|
+
└── debug/ # 调试工具
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
## 部署指南
|
|
300
|
+
|
|
301
|
+
### Webhook 配置
|
|
302
|
+
|
|
303
|
+
如果你需要使用 MX Space 或 GitHub 的 Webhook 功能,需要:
|
|
304
|
+
|
|
305
|
+
1. 确保你的 Koishi 实例可以从外网访问
|
|
306
|
+
2. 配置正确的 Webhook 路径和密钥
|
|
307
|
+
3. 在对应服务中设置 Webhook URL
|
|
308
|
+
|
|
309
|
+
**MX Space Webhook URL**: `https://your-domain.com/mx-space/webhook`
|
|
310
|
+
**GitHub Webhook URL**: `https://your-domain.com/github/webhook`
|
|
311
|
+
|
|
312
|
+
### 环境要求
|
|
124
313
|
|
|
125
|
-
|
|
314
|
+
- Node.js 16+
|
|
315
|
+
- Koishi 4.15.0+
|
|
316
|
+
- 稳定的网络连接(用于 API 请求)
|
|
126
317
|
|
|
127
|
-
|
|
318
|
+
## 常见问题
|
|
128
319
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
320
|
+
### Q: 为什么 Bilibili 直播监控不工作?
|
|
321
|
+
|
|
322
|
+
A: 请检查:
|
|
323
|
+
|
|
324
|
+
1. 直播间ID是否正确
|
|
325
|
+
2. 网络连接是否正常
|
|
326
|
+
3. 检查间隔设置是否合理(建议 1-10 分钟)
|
|
327
|
+
|
|
328
|
+
### Q: MX Space Webhook 没有收到推送?
|
|
329
|
+
|
|
330
|
+
A: 请确认:
|
|
331
|
+
|
|
332
|
+
1. MX Space 中的 Webhook URL 配置正确
|
|
333
|
+
2. Webhook 密钥匹配
|
|
334
|
+
3. Koishi 服务可以从外网访问
|
|
335
|
+
|
|
336
|
+
### Q: 如何自定义问候时间?
|
|
337
|
+
|
|
338
|
+
A: 在配置中使用 cron 表达式:
|
|
339
|
+
|
|
340
|
+
```yaml
|
|
341
|
+
morningTime: "0 0 8 * * *" # 每天早上8点
|
|
342
|
+
eveningTime: "0 30 21 * * *" # 每天晚上9点30分
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
## 版本历史
|
|
346
|
+
|
|
347
|
+
查看 [CHANGELOG.md](./CHANGELOG.md) 了解详细的版本更新记录。
|
|
348
|
+
|
|
349
|
+
## 相关链接
|
|
350
|
+
|
|
351
|
+
- [Koishi 官网](https://koishi.chat)
|
|
352
|
+
- [MX Space](https://github.com/mx-space)
|
|
353
|
+
- [插件 GitHub 仓库](https://github.com/sysfox/koishi-plugin-imx)
|
|
133
354
|
|
|
134
355
|
## 许可证
|
|
135
356
|
|
|
136
|
-
MIT License
|
|
357
|
+
[MIT License](./LICENSE)
|
|
137
358
|
|
|
138
359
|
## 贡献
|
|
139
360
|
|
|
140
|
-
欢迎提交 Issue 和 Pull Request!
|
|
361
|
+
欢迎提交 Issue 和 Pull Request!
|
|
362
|
+
|
|
363
|
+
在提交代码前,请确保:
|
|
364
|
+
|
|
365
|
+
1. 代码符合项目的编码规范
|
|
366
|
+
2. 添加了必要的测试
|
|
367
|
+
3. 更新了相关文档
|
|
368
|
+
4. 提交信息清晰明确
|
|
369
|
+
|
|
370
|
+
感谢所有贡献者的支持!
|
package/lib/modules/mx-space.js
CHANGED
|
@@ -374,8 +374,8 @@ function setupCommands(ctx, config, logger) {
|
|
|
374
374
|
.subcommand('.stat', '获取 MX Space 统计信息')
|
|
375
375
|
.action(async ({ session }) => {
|
|
376
376
|
try {
|
|
377
|
-
const
|
|
378
|
-
const { posts, notes, comments, links, says, recently, todayIpAccessCount, todayMaxOnline, todayOnlineTotal, unreadComments, linkApply, callTime, online } =
|
|
377
|
+
const aggregateData = await (0, mx_api_1.getMxSpaceAggregateData)(ctx, config);
|
|
378
|
+
const { posts, notes, comments, links, says, recently, todayIpAccessCount, todayMaxOnline, todayOnlineTotal, unreadComments, linkApply, callTime, online } = aggregateData.stat;
|
|
379
379
|
const replyPrefix = config.commands?.replyPrefix || '来自 Mix Space 的';
|
|
380
380
|
return `📊 ${replyPrefix}统计信息:\n\n` +
|
|
381
381
|
`📝 文章 ${posts} 篇,📔 记录 ${notes} 篇\n` +
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Context } from 'koishi';
|
|
2
2
|
export declare enum BusinessEvents {
|
|
3
|
-
POST_CREATE = "
|
|
4
|
-
POST_UPDATE = "
|
|
5
|
-
NOTE_CREATE = "
|
|
6
|
-
COMMENT_CREATE = "
|
|
7
|
-
LINK_APPLY = "
|
|
8
|
-
SAY_CREATE = "
|
|
9
|
-
RECENTLY_CREATE = "
|
|
3
|
+
POST_CREATE = "POST_CREATE",
|
|
4
|
+
POST_UPDATE = "POST_UPDATE",
|
|
5
|
+
NOTE_CREATE = "NOTE_CREATE",
|
|
6
|
+
COMMENT_CREATE = "COMMENT_CREATE",
|
|
7
|
+
LINK_APPLY = "LINK_APPLY",
|
|
8
|
+
SAY_CREATE = "SAY_CREATE",
|
|
9
|
+
RECENTLY_CREATE = "RECENTLY_CREATE"
|
|
10
10
|
}
|
|
11
11
|
export declare function handleMxSpaceEvent(ctx: Context, config: any, type: string, payload: any, logger: any): Promise<void>;
|
|
@@ -15,13 +15,13 @@ const broadcast_1 = require("./broadcast");
|
|
|
15
15
|
// MX Space 事件类型
|
|
16
16
|
var BusinessEvents;
|
|
17
17
|
(function (BusinessEvents) {
|
|
18
|
-
BusinessEvents["POST_CREATE"] = "
|
|
19
|
-
BusinessEvents["POST_UPDATE"] = "
|
|
20
|
-
BusinessEvents["NOTE_CREATE"] = "
|
|
21
|
-
BusinessEvents["COMMENT_CREATE"] = "
|
|
22
|
-
BusinessEvents["LINK_APPLY"] = "
|
|
23
|
-
BusinessEvents["SAY_CREATE"] = "
|
|
24
|
-
BusinessEvents["RECENTLY_CREATE"] = "
|
|
18
|
+
BusinessEvents["POST_CREATE"] = "POST_CREATE";
|
|
19
|
+
BusinessEvents["POST_UPDATE"] = "POST_UPDATE";
|
|
20
|
+
BusinessEvents["NOTE_CREATE"] = "NOTE_CREATE";
|
|
21
|
+
BusinessEvents["COMMENT_CREATE"] = "COMMENT_CREATE";
|
|
22
|
+
BusinessEvents["LINK_APPLY"] = "LINK_APPLY";
|
|
23
|
+
BusinessEvents["SAY_CREATE"] = "SAY_CREATE";
|
|
24
|
+
BusinessEvents["RECENTLY_CREATE"] = "RECENTLY_CREATE";
|
|
25
25
|
})(BusinessEvents || (exports.BusinessEvents = BusinessEvents = {}));
|
|
26
26
|
async function handleMxSpaceEvent(ctx, config, type, payload, logger) {
|
|
27
27
|
logger.info(`处理 MX Space 事件: ${type}`);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "koishi-plugin-imx",
|
|
3
3
|
"description": "Mix-Space Bot for Koishi - 集成多种功能的聊天机器人插件",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.5",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
7
7
|
"files": [
|
|
@@ -44,16 +44,16 @@
|
|
|
44
44
|
"@koishijs/plugin-server": "^3.2.7",
|
|
45
45
|
"@mx-space/api-client": "^1.17.0",
|
|
46
46
|
"@mx-space/webhook": "^0.5.0",
|
|
47
|
-
"@tanstack/query-core": "^
|
|
47
|
+
"@tanstack/query-core": "^5.0.0",
|
|
48
48
|
"axios": "^1.10.0",
|
|
49
|
-
"chalk": "^
|
|
50
|
-
"consola": "^
|
|
51
|
-
"cron": "^
|
|
49
|
+
"chalk": "^5.0.0",
|
|
50
|
+
"consola": "^3.0.0",
|
|
51
|
+
"cron": "^4.0.0",
|
|
52
52
|
"dayjs": "^1.11.13",
|
|
53
53
|
"lodash": "^4.17.21",
|
|
54
|
-
"marked": "^
|
|
54
|
+
"marked": "^16.0.0",
|
|
55
55
|
"randomcolor": "^0.6.2",
|
|
56
|
-
"remove-markdown": "^0.
|
|
56
|
+
"remove-markdown": "^0.6.0",
|
|
57
57
|
"sanitize-html": "^2.17.0",
|
|
58
58
|
"socket.io-client": "^4.8.1",
|
|
59
59
|
"zod": "^3.25.76"
|
|
@@ -69,6 +69,11 @@
|
|
|
69
69
|
},
|
|
70
70
|
"scripts": {
|
|
71
71
|
"build": "tsc -b",
|
|
72
|
-
"dev": "tsc -b --watch"
|
|
72
|
+
"dev": "tsc -b --watch",
|
|
73
|
+
"release": "node scripts/release.js",
|
|
74
|
+
"release:patch": "node scripts/release.js patch",
|
|
75
|
+
"release:minor": "node scripts/release.js minor",
|
|
76
|
+
"release:major": "node scripts/release.js major",
|
|
77
|
+
"test:release": "node scripts/test-release.js"
|
|
73
78
|
}
|
|
74
79
|
}
|