tasknya-qq-broadcast
通过 TaskNya 的通用 Webhook 广播 QQ 消息。用户给出 Astrbot 的 UMO、webhook 令牌和 URL,指定要广播的内容,调用 Astrbot push_lite 插件发送。当用户需要向 QQ 群/好友发送消息、广播通知、推送项目状态时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
通过 TaskNya 的通用 Webhook 广播 QQ 消息。用户给出 Astrbot 的 UMO、webhook 令牌和 URL,指定要广播的内容,调用 Astrbot push_lite 插件发送。当用户需要向 QQ 群/好友发送消息、广播通知、推送项目状态时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
| name | tasknya-qq-broadcast |
| version | 1.0.0 |
| description | 通过 TaskNya 的通用 Webhook 广播 QQ 消息。用户给出 Astrbot 的 UMO、webhook 令牌和 URL,指定要广播的内容,调用 Astrbot push_lite 插件发送。当用户需要向 QQ 群/好友发送消息、广播通知、推送项目状态时使用。 |
通过 TaskNya 的通用 Webhook 机制,调用 Astrbot push_lite 插件向 QQ 群/好友广播消息。
配置路径:$TASKNYA_QQ_BROADCAST_CONFIG(环境变量,已写入 ~/.zshrc)
{
"webhook": {
"url": "Astrbot push_lite 的 webhook URL",
"token": "webhook 令牌"
},
"targets": {
"别名": "UMO 标识符"
}
}
/sid 命令获取)向用户确认以下内容(如缺失):
targets)BotName:GroupMessage:GroupID 或 BotName:FriendMessage:UserID)如果用户提到了配置中已有的别名,直接使用对应的 UMO,无需再问。
根据用户要发送的内容,优先匹配以下预设模板。匹配到后自动填写相关内容字段。
| 用户意图 | 匹配关键词 | 使用模板 |
|---|---|---|
| 同步项目状态/进展 | 项目、同步、进展、状态、周报 | 项目同步模板 |
| CI/CD/部署通知 | 部署、CI、CD、上线、流水线、构建 | API 触发模板 |
| GPU/训练完成 | GPU、训练、显卡、功耗、模型训练 | GPU 监控模板 |
| 文件变化通知 | 文件、新增、删除、目录变化 | 文件检测模板 |
| 日志/告警通知 | 日志、告警、错误、关键词、报警 | 日志检测模板 |
| HTTP/服务状态 | HTTP、接口、服务、端点、健康检查 | HTTP 轮询模板 |
| 以上都不匹配 | — | 通用消息模板 |
项目同步模板 — 用于同步项目信息、进展详情。由两大部分组成:
======== 项目同步 ========
【项目总体】
项目: {项目名称}
类型: {项目类型,如视频制作}
制作人: {制作人}
起止: {开始日期} → {结束日期}
进度: {百分比}%({当前阶段})
————————————
【本次推送】
{以下二选一或组合}
方式A — 公告板动态:
📅 {发布日期} | 👤 {发布人}
🔵 {任务名称}({执行人})
截止: {截止日期} | 工期: {天数}天
内容: {动态内容}
上下游: ⬆️ {上游} → ⬇️ {下游}
方式B — 用户手动内容:
{用户提供的文字内容,保持原始排版}
————————————
📎 相关链接
• 公告板: {公告板URL}
• 管理手册: {管理手册URL}
========================
项目同步链接规则:
状态标记对照:
API 触发模板 — 用于 CI/CD、部署通知:
=== 部署/构建通知 ===
项目: {项目名称}
触发消息: {消息内容}
触发方式: CI/CD 流水线
————————————
TaskNya 自动通知
GPU 监控模板 — 用于训练完成、GPU 状态:
=== GPU 监控通知 ===
项目: {项目名称}
检测结果: {结果描述}
GPU 信息:
{GPU 详情}
————————————
TaskNya GPU 监控
文件检测模板 — 用于文件变化通知:
=== 文件检测通知 ===
项目: {项目名称}
检测事件: {事件类型}
文件: {文件路径}
————————————
TaskNya 文件监控
日志检测模板 — 用于日志告警:
=== 日志检测通知 ===
项目: {项目名称}
检测到关键词: {关键词}
日志路径: {日志路径}
检测模式: 全量扫描
————————————
TaskNya 日志监控
HTTP 轮询模板 — 用于服务状态通知:
=== HTTP 轮询通知 ===
项目: {项目名称}
检测结果: {结果}
目标地址: {URL}
请求方式: GET
期望状态: 200
————————————
TaskNya HTTP 监控
通用消息模板 — 以上都不匹配时使用:
=== TaskNya 通知 ===
{用户提供的完整内容}
————————————
来自 TaskNya 推送
将模板渲染为 JSON body:
{
"content": "渲染后的消息文本",
"umo": "目标UMO",
"message_type": "text"
}
注意事项:
\n 表示\"向用户展示将要发送的消息预览,确认后执行发送。
对每个目标 UMO 执行一次 HTTP 请求:
curl -s -X POST "<webhook_url>" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '<json_body>'
批量发送时(多个 UMO),每个请求之间间隔 1 秒避免频率限制:
# 对每个目标依次发送
for umo in "${targets[@]}"; do
curl -s -X POST "$URL" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d "{\"content\": \"$CONTENT\", \"umo\": \"$umo\", \"message_type\": \"text\"}"
sleep 1
done
发送后检查响应,报告:
用户可以通过以下方式管理 targets:
操作直接修改 $TASKNYA_QQ_BROADCAST_CONFIG 指向的配置文件。
用户: 向柚子社项目群同步 Limelight Lemonade Jam 项目进展
→ 读取飞书公告板 → 匹配「项目同步模板」→ 提取进行中公告 → 构建消息体 → 确认 → 发送
用户: 向后期群同步一下,录音已完成,背景制作进行中,需要关注动画制作人员还没确定
→ 匹配「项目同步模板」→ 项目总体 + 手动内容 → 构建消息体 → 确认 → 发送
用户: 群里通知一下,部署完成了,版本 v2.0.0
→ 匹配「API 触发模板」→ 构建消息体 → 确认 → 发送
用户: 给测试群发一条消息:明天下午3点开会
→ 使用「通用消息模板」→ 构建消息体 → 确认 → 发送
当用户要求同步项目进展且未指定具体内容时,自动执行: