WordPress 文章自动推送插件 – 完整使用教程
WordPress 文章自动推送插件 – 完整使用教程
简介
WordPress 文章自动推送插件是一个强大的 Koishi 机器人插件,可以自动从 WordPress 网站获取最新文章,并推送到指定的 QQ 群或私聊。通过 WordPress REST API,插件能够实时监控网站内容更新,让您的读者第一时间获取最新资讯。

功能特性
- 自动获取文章
:通过 WordPress REST API 自动获取最新文章 - 定时推送
:支持自定义检查间隔,定时推送新文章 - 手动查询
:支持手动查询最新文章和文章列表 - @全体成员
:支持在推送时 @全体成员 - 去重机制
:完善的去重机制,避免重复推送同一篇文章 - 数据库持久化
:使用数据库存储已推送文章记录,机器人重启不丢失 - 服务架构
:采用服务模式架构,便于扩展和维护 - 推送开关
:支持自动推送开关,灵活控制
安装步骤
前置要求
-
已安装 Koishi 机器人(版本 4.18.10 或更高) -
已配置好 QQ 适配器(如 OneBot) -
WordPress 网站已启用 REST API(默认启用)
安装插件
方法一:通过 Koishi 控制台安装
-
打开 Koishi 控制台 -
进入「插件市场」 -
搜索 wordpress-notifier -
点击安装按钮
方法二:通过命令行安装
npm install koishi-plugin-wordpress-notifier
方法三:本地安装
如果您已经下载了插件源码:
| cd |
配置方法
基础配置
在 Koishi 的配置文件 koishi.yml 中添加插件配置:
| plugins: |
| wordpress-notifier: |
| wordpressUrl:'https://your-wordpress-site.com'# WordPress 网站地址 |
| interval:3600000# 检查间隔(毫秒,默认 1 小时)targets: |
| -'2801323326'# 推送目标(群号或 QQ 号)enableAutoPush: true # 是否启用自动推送 |
| mentionAll:false# 是否 @全体成员 |
| maxArticles:5# 每次最多推送的文章数量 |
配置参数详解
|
|
|
|
|
|---|---|---|---|
wordpressUrl |
|
|
|
interval |
|
|
|
targets |
|
|
|
enableAutoPush |
|
|
|
mentionAll |
|
|
|
maxArticles |
|
|
|
配置示例
示例 1:推送到单个群
| plugins: |
| wordpress-notifier: |
| wordpressUrl:'https://www.example.com' |
| interval:1800000# 30 分钟检查一次 |
| targets: |
| -'123456789'# 群号 |
| enableAutoPush:true |
| mentionAll:true |
| maxArticles:3 |
示例 2:推送到多个目标
| plugins: |
| wordpress-notifier: |
| wordpressUrl:'https://www.example.com' |
| interval:7200000# 2 小时检查一次 |
| targets: |
| -'123456789'# 群号 1 |
| -'987654321'# 群号 2 |
| -'111222333'# QQ 号 |
| enableAutoPush:true |
| mentionAll:false |
| maxArticles:5 |
使用命令
插件提供了多个命令,方便用户管理和使用:
1. 查看最新文章
命令:/wordpress.latest
功能:显示最新的 WordPress 文章列表,包含标题、日期和链接。
示例输出:
📰 最新文章:WordPress 文章自动推送插件 📅 2024-01-14 10:30:00 🔗 https://www.example.com/post-1 从 GitHub 获取并展示最新开源仓库 📅 2024-01-13 15:20:00 🔗 https://www.example.com/post-2
2. 查看文章列表
命令:/wordpress.list
功能:显示文章 ID 和标题的简洁列表。
示例输出:
📚 文章列表:1. WordPress 文章自动推送插件 2. 从 GitHub 获取并展示最新开源仓库 3. WordPress REST API 入门指南
3. 手动推送最新文章
命令:/wordpress.push
功能:立即检查并推送最新文章(即使自动推送已关闭)。
示例输出:
已检查并推送最新文章
4. 查看插件状态
命令:/wordpress.status
功能:显示当前插件配置状态。
示例输出:
📊 WordPress 推送插件状态:🌐 网站地址: https://www.example.com ⏰ 检查间隔: 3600 秒 🎯 推送目标: 123456789 🔔 自动推送: 开启 📢 @全体成员: 关闭 📝 最多推送: 5 篇
5. 切换自动推送开关
命令:/wordpress.toggle
功能:开启或关闭自动推送功能。
示例输出:
自动推送已开启
或
自动推送已关闭
6. 切换 @全体成员 开关
命令:/wordpress.mention
功能:开启或关闭 @全体成员 功能。
示例输出:
@全体成员 已开启
或
@全体成员 已关闭
7. 插件菜单
命令:/wordpress
功能:显示插件菜单和所有可用命令。
示例输出:
📚 WordPress 推送插件菜单:🔹 /wordpress.status – 查看插件状态 🔹 /wordpress.latest – 查看最新文章 🔹 /wordpress.list – 查看文章列表 🔹 /wordpress.push – 手动推送最新文章 🔹 /wordpress.toggle – 切换自动推送开关 🔹 /wordpress.mention – 切换 @全体成员 开关 💡 提示:所有命令都需要加 / 前缀
工作原理
1. 数据库初始化
插件启动时会自动创建数据库表 wordpress_posts,用于记录已推送的文章:
| CREATETABLE |
2. 定时检查流程
- 定时器触发
:每隔指定时间(默认 1 小时)触发一次检查 - 获取文章
:通过 WordPress REST API 获取最新文章 - 去重检查
:检查每篇文章是否已推送过 - 格式化消息
:将文章信息格式化为易读的消息 - 推送消息
:将消息发送到所有配置的目标 - 记录推送
:将文章 ID 记录到数据库中
3. REST API 请求
插件通过以下 URL 获取文章:
https://your-wordpress-site.com/wp-json/wp/v2/posts?per_page=5&orderby=date&order=desc
参数说明:
per_page=5
:每次获取 5 篇文章 orderby=date
:按日期排序 order=desc
:降序排列(最新的在前)
常见问题
1. 为什么文章没有推送?
可能原因:
-
WordPress 网站的 REST API 未启用 -
机器人没有向目标群或私聊发送消息的权限 -
文章已经被推送过(数据库中有记录) -
自动推送功能已关闭
解决方法:
-
检查 WordPress 网站设置,确保 REST API 已启用 -
确认机器人在目标群中有发送消息权限 -
使用 /wordpress.push命令手动触发推送 -
使用 /wordpress.status检查插件状态
2. 如何修改检查间隔?
在配置文件中修改 interval 参数:
| plugins: |
| wordpress-notifier: |
| interval:1800000# 30 分钟 |
建议
-
频繁更新的网站:设置较短间隔(如 30 分钟) -
更新较少的网站:设置较长间隔(如 2-4 小时) -
避免设置过短间隔,以免频繁请求 WordPress 网站
3. @全体成员 功能不生效?
可能原因:
-
机器人没有 @全体成员 的权限 mentionAll
配置设置为 false
解决方法:
-
在群设置中授予机器人 @全体成员 权限 -
使用 /wordpress.mention命令开启功能 -
或在配置文件中设置 mentionAll: true
4. 如何清空已推送文章的记录?
插件使用数据库存储记录,如需清空:
| # 方法 1:通过数据库管理工具 |
| # 方法 2:重启插件(不推荐,会丢失所有记录) |
5. 支持推送到多个群吗?
支持!在配置文件中添加多个目标:
| targets: |
6. 机器人重启后会重复推送吗?
不会!插件使用数据库持久化存储已推送的文章记录,机器人重启后不会重复推送。
高级配置
自定义消息格式
如果需要自定义推送消息格式,可以修改插件源码中的 formatPostMessage 函数:
| functionformatPostMessage |
| const |
| const |
| let |
| if |
| return |
添加更多文章信息
如果需要显示更多文章信息(如作者、分类等),可以扩展接口和消息格式:
| exportinterface |
| id |
| title |
| link |
| date |
| excerpt |
| author |
| categories |
| tags |
性能优化建议
- 合理设置检查间隔
:根据网站更新频率设置合适的检查间隔 - 限制文章数量
:通过 maxArticles参数限制每次获取的文章数量 - 使用 CDN
:如果 WordPress 网站使用 CDN,可以加快 API 响应速度 - 缓存优化
:插件已内置去重机制,避免重复推送
总结
WordPress 文章自动推送插件是一个功能强大、易于使用的 Koishi 插件,可以帮助您自动将 WordPress 网站的最新文章推送到 QQ 群或私聊。通过本文的详细教程,您应该已经掌握了插件的安装、配置和使用方法。
如果您在使用过程中遇到任何问题,欢迎在 GitHub 仓库中提交 Issue,或者通过插件提供的命令查看状态和日志。
相关链接
-
插件仓库:https://github.com/Lexo0522/koishi-plugin-wordpress-notifier -
Koishi 官方文档:https://koishi.js.org/ -
WordPress REST API 文档:https://developer.wordpress.org/rest-api/
版本 :1.5.0
更新日期 :2025-01-14
作者:Kate522
夜雨聆风
