乐于分享
好东西不私藏

WordPress 文章自动推送插件 – 完整使用教程

WordPress 文章自动推送插件 – 完整使用教程

WordPress 文章自动推送插件 – 完整使用教程

简介

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

功能特性

  • 自动获取文章
    :通过 WordPress REST API 自动获取最新文章
  • 定时推送
    :支持自定义检查间隔,定时推送新文章
  • 手动查询
    :支持手动查询最新文章和文章列表
  • @全体成员
    :支持在推送时 @全体成员
  • 去重机制
    :完善的去重机制,避免重复推送同一篇文章
  • 数据库持久化
    :使用数据库存储已推送文章记录,机器人重启不丢失
  • 服务架构
    :采用服务模式架构,便于扩展和维护
  • 推送开关
    :支持自动推送开关,灵活控制

安装步骤

前置要求

  • 已安装 Koishi 机器人(版本 4.18.10 或更高)
  • 已配置好 QQ 适配器(如 OneBot)
  • WordPress 网站已启用 REST API(默认启用)

安装插件

方法一:通过 Koishi 控制台安装

  1. 打开 Koishi 控制台
  2. 进入「插件市场」
  3. 搜索  wordpress-notifier
  4. 点击安装按钮

方法二:通过命令行安装

npm install koishi-plugin-wordpress-notifier

方法三:本地安装

如果您已经下载了插件源码:

cd
 external/wordpress-notifier
npm install
npm run build

配置方法

基础配置

在 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
string
必填
WordPress 网站地址(例如:https://example.com)
interval
number
3600000
检查间隔,单位毫秒(默认 1 小时 = 3600000 毫秒)
targets
array
必填
推送目标列表,可以是群号或 QQ 号
enableAutoPush
boolean
true
是否启用自动推送
mentionAll
boolean
false
是否在推送时 @全体成员
maxArticles
number
5
每次最多推送的文章数量

配置示例

示例 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
 wordpress_posts (
id INTEGERPRIMARY KEY AUTOINCREMENT,
postId INTEGERNOTNULL,
pushedAt TIMESTAMPNOTNULL
);

2. 定时检查流程

  1. 定时器触发
    :每隔指定时间(默认 1 小时)触发一次检查
  2. 获取文章
    :通过 WordPress REST API 获取最新文章
  3. 去重检查
    :检查每篇文章是否已推送过
  4. 格式化消息
    :将文章信息格式化为易读的消息
  5. 推送消息
    :将消息发送到所有配置的目标
  6. 记录推送
    :将文章 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:通过数据库管理工具
DELETE FROM wordpress_posts;
# 方法 2:重启插件(不推荐,会丢失所有记录)

5. 支持推送到多个群吗?

支持!在配置文件中添加多个目标:

targets:
'群号 1'
'群号 2'
'QQ 号'

6. 机器人重启后会重复推送吗?

不会!插件使用数据库持久化存储已推送的文章记录,机器人重启后不会重复推送。

高级配置

自定义消息格式

如果需要自定义推送消息格式,可以修改插件源码中的  formatPostMessage  函数:

functionformatPostMessage
(post: WordPressPost, mention: boolean = false): string {const title = post.title.rendered.replace(/<[^>]*>/g'')
const
 excerpt = post.excerpt.rendered.replace(/<[^>]*>/g'').substring(0100)
const
 date = newDate(post.date).toLocaleString('zh-CN')
let
 message = ''
if
 (mention && config.mentionAll) {message += '@全体成员 \n'}
message += `📝 ${title}\n`
message += `📅 ${date}\n`
message += `📄 ${excerpt}...\n`
message += `🔗 ${post.link}`
return
 message
}

添加更多文章信息

如果需要显示更多文章信息(如作者、分类等),可以扩展接口和消息格式:

exportinterface
 WordPressPost {
id
number
title
: {renderedstring}
link
string
date
string
excerpt
: {renderedstring}
author
number// 作者 ID
categories
number[]  // 分类 ID
tags
number[]  // 标签 ID
}

性能优化建议

  1. 合理设置检查间隔
    :根据网站更新频率设置合适的检查间隔
  2. 限制文章数量
    :通过  maxArticles  参数限制每次获取的文章数量
  3. 使用 CDN
    :如果 WordPress 网站使用 CDN,可以加快 API 响应速度
  4. 缓存优化
    :插件已内置去重机制,避免重复推送

总结

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

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » WordPress 文章自动推送插件 – 完整使用教程

评论 抢沙发

1 + 4 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮