Skip to content

什么是 Hub ​

Hub 是一个托管在 GitHub 上的图片仓库,配合 koishi-plugin-hub-pusl 插件使用,可以实现:

  • Push:在 QQ 群内发送命令 + 图片,Bot 自动上传图片到 Hub 仓库并创建 Pull Request
  • Pull:在 QQ 群内发送命令,Bot 从 Hub 仓库随机拉取一张图片发送到群内

hub的好处(? ​

  1. 审核机制:图片通过 PR 提交,仓库管理员审核后才合入,确保内容合规
  2. 去重:同文件名的图片会被拒绝推送,避免重复
  3. 历史记录:所有图片的提交历史都在 GitHub 上可追溯
  4. 无重复拉取:Bot 按群记录已发送的图片,避免重复发送同一张图

工作流程 ​

群友发送: nwtf-push 请输入文本 [图片]
         ↓
    Bot 下载图片
         ↓
    检查上游仓库是否已存在同名文件 → 有则拒绝
         ↓
    检查 Token 用户下是否有 Fork → 没有则自动 Fork
         ↓
    同步 Fork 到上游最新
         ↓
    在 Fork 上创建分支并上传图片
         ↓
    从 Fork 向上游创建跨仓库 PR
         ↓
    管理员审核 PR → 合入
         ↓
    群友可通过 nwtf-pull 拉取到这张图片

仓库结构 ​

一个标准的 Hub 仓库结构如下:

your-hub-repo/
├── images/
│   ├── 可爱小猫.png
│   ├── 风景照.jpg
│   └── ...
└── README.md

所有图片存放在 images/ 目录下,文件名即图片标题。