koishi-plugin-wordpress-notifier 1.1.0 → 1.2.0
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 +166 -24
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,71 +4,115 @@
|
|
|
4
4
|
|
|
5
5
|
## 功能特性
|
|
6
6
|
|
|
7
|
-
- 自动从 WordPress REST API 获取最新文章
|
|
8
|
-
- 定时推送新文章到指定 QQ 群或私聊
|
|
9
|
-
- 支持手动查询最新文章和文章列表
|
|
10
|
-
- 支持 @全体成员
|
|
11
|
-
- 完善的去重机制,避免重复推送
|
|
12
|
-
-
|
|
13
|
-
-
|
|
7
|
+
- ✅ 自动从 WordPress REST API 获取最新文章
|
|
8
|
+
- ✅ 定时推送新文章到指定 QQ 群或私聊
|
|
9
|
+
- ✅ 支持手动查询最新文章和文章列表
|
|
10
|
+
- ✅ 支持 @全体成员
|
|
11
|
+
- ✅ 完善的去重机制,避免重复推送
|
|
12
|
+
- ✅ 数据库持久化存储,机器人重启不丢失记录
|
|
13
|
+
- ✅ 采用服务模式架构,便于扩展和维护
|
|
14
|
+
- ✅ 支持自动推送开关
|
|
14
15
|
|
|
15
16
|
## 安装
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
### 通过 npm 安装
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install koishi-plugin-wordpress-notifier
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 通过 Koishi 控制台安装
|
|
25
|
+
|
|
26
|
+
1. 打开 Koishi 控制台
|
|
27
|
+
2. 进入「插件市场」
|
|
28
|
+
3. 搜索 `wordpress-notifier`
|
|
29
|
+
4. 点击安装按钮
|
|
18
30
|
|
|
19
31
|
## 配置
|
|
20
32
|
|
|
21
33
|
在 `koishi.yml` 中配置插件:
|
|
22
34
|
|
|
23
35
|
```yaml
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
36
|
+
plugins:
|
|
37
|
+
wordpress-notifier:
|
|
38
|
+
wordpressUrl: 'https://your-wordpress-site.com' # WordPress 网站地址
|
|
39
|
+
interval: 3600000 # 检查间隔(毫秒,默认 1 小时)
|
|
40
|
+
targets:
|
|
41
|
+
- '2801323326' # 推送目标(群号或 QQ 号)
|
|
42
|
+
enableAutoPush: true # 是否启用自动推送
|
|
43
|
+
mentionAll: false # 是否 @全体成员
|
|
44
|
+
maxArticles: 5 # 每次最多推送的文章数量
|
|
32
45
|
```
|
|
33
46
|
|
|
47
|
+
### 配置参数说明
|
|
48
|
+
|
|
49
|
+
| 参数 | 类型 | 默认值 | 说明 |
|
|
50
|
+
|------|------|--------|------|
|
|
51
|
+
| `wordpressUrl` | string | 必填 | WordPress 网站地址(例如:https://example.com) |
|
|
52
|
+
| `interval` | number | 3600000 | 检查间隔,单位毫秒(默认 1 小时 = 3600000 毫秒) |
|
|
53
|
+
| `targets` | array | 必填 | 推送目标列表,可以是群号或 QQ 号 |
|
|
54
|
+
| `enableAutoPush` | boolean | true | 是否启用自动推送 |
|
|
55
|
+
| `mentionAll` | boolean | false | 是否在推送时 @全体成员 |
|
|
56
|
+
| `maxArticles` | number | 5 | 每次最多推送的文章数量 |
|
|
57
|
+
|
|
34
58
|
## 使用命令
|
|
35
59
|
|
|
36
60
|
### 查看最新文章
|
|
61
|
+
|
|
37
62
|
```
|
|
38
|
-
wordpress.latest
|
|
63
|
+
/wordpress.latest
|
|
39
64
|
```
|
|
65
|
+
|
|
40
66
|
显示最新的 WordPress 文章列表,包含标题、日期和链接。
|
|
41
67
|
|
|
42
68
|
### 查看文章列表
|
|
69
|
+
|
|
43
70
|
```
|
|
44
|
-
wordpress.list
|
|
71
|
+
/wordpress.list
|
|
45
72
|
```
|
|
73
|
+
|
|
46
74
|
显示文章 ID 和标题的简洁列表。
|
|
47
75
|
|
|
48
76
|
### 手动推送最新文章
|
|
77
|
+
|
|
49
78
|
```
|
|
50
|
-
wordpress.push
|
|
79
|
+
/wordpress.push
|
|
51
80
|
```
|
|
81
|
+
|
|
52
82
|
立即检查并推送最新文章(即使自动推送已关闭)。
|
|
53
83
|
|
|
54
84
|
### 查看插件状态
|
|
85
|
+
|
|
55
86
|
```
|
|
56
|
-
wordpress.status
|
|
87
|
+
/wordpress.status
|
|
57
88
|
```
|
|
89
|
+
|
|
58
90
|
显示当前插件配置状态,包括网站地址、检查间隔、推送目标等。
|
|
59
91
|
|
|
60
92
|
### 切换自动推送开关
|
|
93
|
+
|
|
61
94
|
```
|
|
62
|
-
wordpress.toggle
|
|
95
|
+
/wordpress.toggle
|
|
63
96
|
```
|
|
97
|
+
|
|
64
98
|
开启或关闭自动推送功能。
|
|
65
99
|
|
|
66
100
|
### 切换 @全体成员 开关
|
|
101
|
+
|
|
67
102
|
```
|
|
68
|
-
wordpress.mention
|
|
103
|
+
/wordpress.mention
|
|
69
104
|
```
|
|
105
|
+
|
|
70
106
|
开启或关闭 @全体成员 功能。
|
|
71
107
|
|
|
108
|
+
### 插件菜单
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
/wordpress
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
显示插件菜单和所有可用命令。
|
|
115
|
+
|
|
72
116
|
## 工作原理
|
|
73
117
|
|
|
74
118
|
1. 插件启动时会自动创建数据库表 `wordpress_posts` 用于记录已推送的文章
|
|
@@ -83,19 +127,117 @@ wordpress.mention
|
|
|
83
127
|
- 确保机器人有权限向目标群或私聊发送消息
|
|
84
128
|
- @全体成员 功能需要机器人有相应权限
|
|
85
129
|
- 建议设置合理的检查间隔,避免频繁请求 WordPress 网站
|
|
130
|
+
- 插件使用数据库持久化存储,机器人重启后不会重复推送已推送的文章
|
|
131
|
+
|
|
132
|
+
## 常见问题
|
|
133
|
+
|
|
134
|
+
### 为什么文章没有推送?
|
|
135
|
+
|
|
136
|
+
可能原因:
|
|
137
|
+
- WordPress 网站的 REST API 未启用
|
|
138
|
+
- 机器人没有向目标群或私聊发送消息的权限
|
|
139
|
+
- 文章已经被推送过(数据库中有记录)
|
|
140
|
+
- 自动推送功能已关闭
|
|
141
|
+
|
|
142
|
+
解决方法:
|
|
143
|
+
- 检查 WordPress 网站设置,确保 REST API 已启用
|
|
144
|
+
- 确认机器人在目标群中有发送消息权限
|
|
145
|
+
- 使用 `/wordpress.push` 命令手动触发推送
|
|
146
|
+
- 使用 `/wordpress.status` 检查插件状态
|
|
147
|
+
|
|
148
|
+
### 如何修改检查间隔?
|
|
149
|
+
|
|
150
|
+
在配置文件中修改 `interval` 参数:
|
|
151
|
+
|
|
152
|
+
```yaml
|
|
153
|
+
plugins:
|
|
154
|
+
wordpress-notifier:
|
|
155
|
+
interval: 1800000 # 30 分钟
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
建议:
|
|
159
|
+
- 频繁更新的网站:设置较短间隔(如 30 分钟)
|
|
160
|
+
- 更新较少的网站:设置较长间隔(如 2-4 小时)
|
|
161
|
+
- 避免设置过短间隔,以免频繁请求 WordPress 网站
|
|
162
|
+
|
|
163
|
+
### @全体成员 功能不生效?
|
|
164
|
+
|
|
165
|
+
可能原因:
|
|
166
|
+
- 机器人没有 @全体成员 的权限
|
|
167
|
+
- `mentionAll` 配置设置为 `false`
|
|
168
|
+
|
|
169
|
+
解决方法:
|
|
170
|
+
- 在群设置中授予机器人 @全体成员 权限
|
|
171
|
+
- 使用 `/wordpress.mention` 命令开启功能
|
|
172
|
+
- 或在配置文件中设置 `mentionAll: true`
|
|
173
|
+
|
|
174
|
+
### 支持推送到多个群吗?
|
|
175
|
+
|
|
176
|
+
支持!在配置文件中添加多个目标:
|
|
177
|
+
|
|
178
|
+
```yaml
|
|
179
|
+
targets:
|
|
180
|
+
- '群号1'
|
|
181
|
+
- '群号2'
|
|
182
|
+
- 'QQ号'
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### 机器人重启后会重复推送吗?
|
|
186
|
+
|
|
187
|
+
不会!插件使用数据库持久化存储已推送的文章记录,机器人重启后不会重复推送。
|
|
86
188
|
|
|
87
189
|
## 开发
|
|
88
190
|
|
|
89
191
|
插件位于 `external/wordpress-notifier/` 目录。
|
|
90
192
|
|
|
91
193
|
### 编译插件
|
|
194
|
+
|
|
92
195
|
```bash
|
|
93
196
|
cd external/wordpress-notifier
|
|
94
|
-
|
|
197
|
+
npm run build
|
|
95
198
|
```
|
|
96
199
|
|
|
97
200
|
### 重新安装依赖
|
|
201
|
+
|
|
98
202
|
```bash
|
|
99
203
|
cd external/wordpress-notifier
|
|
100
|
-
|
|
204
|
+
npm install
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## 版本历史
|
|
208
|
+
|
|
209
|
+
### 1.2.0 (2024-01-14)
|
|
210
|
+
|
|
211
|
+
- 📝 优化 README.md 文档,添加详细的安装说明和常见问题
|
|
212
|
+
- 📦 优化 npm 包结构,只包含必要文件
|
|
213
|
+
|
|
214
|
+
### 1.1.0 (2024-01-14)
|
|
215
|
+
|
|
216
|
+
- ✨ 新增数据库持久化存储功能
|
|
217
|
+
- 🐛 修复推送目标配置问题,使用 `ctx.broadcast([target], message)` 正确发送到指定目标
|
|
218
|
+
- 🐛 修复 HTTP 服务注入问题,添加 `'http'` 到 inject 数组
|
|
219
|
+
- 📝 添加 `.npmignore` 文件,确保 npm 发布时只包含必要文件
|
|
220
|
+
- 📦 更新依赖项
|
|
221
|
+
|
|
222
|
+
### 1.0.0 (初始版本)
|
|
223
|
+
|
|
224
|
+
- 🎉 首次发布
|
|
225
|
+
- ✅ 基础推送功能
|
|
226
|
+
- ✅ 命令系统
|
|
227
|
+
- ✅ 去重机制
|
|
228
|
+
|
|
229
|
+
## 许可证
|
|
230
|
+
|
|
231
|
+
MIT
|
|
232
|
+
|
|
233
|
+
## 相关链接
|
|
234
|
+
|
|
235
|
+
- 插件仓库:https://github.com/Lexo0522/koishi-plugin-wordpress-notifier
|
|
236
|
+
- Koishi 官方文档:https://koishi.js.org/
|
|
237
|
+
- WordPress REST API 文档:https://developer.wordpress.org/rest-api/
|
|
238
|
+
|
|
239
|
+
## 安装(Install)
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
npm i koishi-plugin-wordpress-notifier
|
|
101
243
|
```
|