社区新用户注册后,往往不知道如何发送私信、使用 Markdown、发布帖子、点赞或收藏。仅依靠规则文档,很难让用户真正熟悉社区功能。
因此我制作了「圈圈助手新人引导」插件,通过 Rhex 原生私信、后台任务、发帖、点赞、收藏、积分和勋章能力,为新用户提供一套可交互的八关入门教程。
主要功能
新人注册后,机器人会通过私信自动发送欢迎内容,并依次引导用户完成以下任务:
- 回复机器人私信
- 发送一个有效链接
- 发送表情
- 正确提及用户
- 使用 Markdown 排版文字
- 在指定圈子发布符合要求的帖子
- 点赞新人指南
- 收藏新人指南
完成全部任务后,可自动发放积分和指定勋章。奖励、练习圈子、机器人账号、新人指南及教程文案均可在后台配置。
后台管理
插件提供独立的原生管理页面,支持:
- 开启或关闭新人引导
- 设置新注册用户自动触发
- 允许管理员手动发送测试教程
- 配置机器人账号、练习圈子和新人指南
- 设置毕业积分、毕业勋章及练习帖最低字数
- 自定义欢迎语、任务说明、成功提示和错误提示
- 使用站点名称、用户名、进度、奖励等模板变量
- 查看用户当前进度
- 提醒用户继续任务
- 重新开始指定用户的教程
- 清除指定用户的教程进度
- 自动检查练习圈子的实际发帖权限
目前内置 20 项可编辑教程文案和 18 个模板变量。
并发与顺序保护
插件针对多人同时参与教程的场景进行了专门处理:
- 使用 PostgreSQL 用户租约保证同一用户的事件按顺序执行
- 不同用户之间可以并行处理
- 使用数据库原子发送时隙控制机器人私信顺序
- 遵守 Rhex 原生私信发送频率限制
- 每条私信最多自动重试 5 次
- 重复点赞、收藏或重复事件不会重复结算
- 积分和勋章仅发放一次
- 多 Web 实例和多 Worker 实例之间共享进度与锁状态
已完成 20 个用户同时参与八关教程的并发模拟,所有用户均能正常完成,奖励和勋章没有重复发放。
权限兼容
插件会在保存配置和用户进入发帖任务前,检查目标圈子的真实发帖策略,包括:
- 普通用户是否允许发帖
- 是否允许普通帖子类型
- 积分、等级、VIP、认证和勋章门槛
- 是否要求审核
- 圈子状态是否正常
- 发帖间隔设置
如果站点临时关闭发帖权限,任务会进入可重试状态;权限恢复后可以继续处理。
如果用户没有编辑旧帖的权限,也可以重新发布一篇符合要求的帖子完成任务,不会卡死在编辑步骤。
安装方法
- 下载附件
newcomer-guide-0.3.0-miya.zip
- 进入 Rhex 后台的“插件管理”
- 上传 ZIP 并启用插件
- 打开“圈圈助手新人引导”管理页面
- 配置机器人账号、练习圈子、新人指南和毕业奖励
- 确认后台显示“新人发帖权限检查通过”
- 使用测试用户发送一轮教程进行验证
插件不会修改 Rhex 核心文件,卸载后不会影响站点原有发帖、私信、积分和勋章功能。
环境要求
- 已在 Rhex 1.1.0 完成安装验证
- 站点已正确配置 PostgreSQL 和 Redis
- Rhex Worker 服务正常运行
- 已配置
SESSION_SECRET
- 正式站点使用 HTTPS
- 机器人账号需要提前注册并保持正常状态
- 练习圈子需要允许普通新用户发布普通帖子
- Rhex 已允许执行可信插件服务端代码
测试情况
该版本已完成以下测试:
- 插件上传、安装、启用和数据迁移
- 新用户注册后自动发送欢迎私信
- 八关任务完整流程
- 20 用户并发完成教程
- 同一用户重复事件去重
- 私信发送顺序与频率控制
- 积分和勋章幂等奖励
- 待审核帖子处理
- 禁止编辑后重新发帖
- 圈子权限临时关闭及恢复
- 多实例用户租约
- 后台任务成功消费
- 桌面端、平板和移动端适配
- 320、390、768、1024、1440 像素视口检查
- Web、Worker、PostgreSQL 和 Redis 运行检查
当前版本 14 项单元测试全部通过,线上冒烟任务无重试、无死信。
下载与校验
作者:Miya
版本:0.3.0
附件:newcomer-guide-0.3.0-miya.zip
SHA-256:
a699956652df54631063ffbf2cb8d96da02a2bac7403970968ccb0b9a7911b51
后续更新地址:
https://xingqiuwu.com/article/1543