PushMe Message Sender
yafoo/pushme
Sends push messages to the PushMe Android client from scripts, CI jobs and alerts, choosing between notification and silent data message types.
Manages QQ guilds and their sub-channels, members, posts, announcements and schedules through the qqbot_platform_api tool.
SKILL.md written in Chinese; this summary is our English description.
$ npx skills add tencent-connect/openclaw-qqbot --skill qqbot-channel -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tencent-connect/openclaw-qqbot qqbot-channel --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tencent-connect/openclaw-qqbot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/qqbot-channel .claude/skills/qqbot-channel && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "qqbot-channel" agent skill from https://github.com/tencent-connect/openclaw-qqbot/tree/main/skills/qqbot-channel into .claude/skills/qqbot-channel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qqbot-channel", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tencent-connect/openclaw-qqbot/tree/main/skills/qqbot-channelType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tencent-connect/openclaw-qqbot --skill qqbot-channel -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tencent-connect/openclaw-qqbot qqbot-channel --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tencent-connect/openclaw-qqbot.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/qqbot-channel .agents/skills/qqbot-channel && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "qqbot-channel" agent skill from https://github.com/tencent-connect/openclaw-qqbot/tree/main/skills/qqbot-channel into .agents/skills/qqbot-channel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qqbot-channel", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tencent-connect/openclaw-qqbot --skill qqbot-channel -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tencent-connect/openclaw-qqbot qqbot-channel --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tencent-connect/openclaw-qqbot.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/qqbot-channel .cursor/skills/qqbot-channel && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "qqbot-channel" agent skill from https://github.com/tencent-connect/openclaw-qqbot/tree/main/skills/qqbot-channel into .cursor/skills/qqbot-channel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qqbot-channel", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tencent-connect/openclaw-qqbot.git --path skills/qqbot-channel--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tencent-connect/openclaw-qqbot --skill qqbot-channel -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tencent-connect/openclaw-qqbot qqbot-channel --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tencent-connect/openclaw-qqbot.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/qqbot-channel .gemini/skills/qqbot-channel && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "qqbot-channel" agent skill from https://github.com/tencent-connect/openclaw-qqbot/tree/main/skills/qqbot-channel into .gemini/skills/qqbot-channel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qqbot-channel", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tencent-connect/openclaw-qqbot qqbot-channelInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tencent-connect/openclaw-qqbot --skill qqbot-channel -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tencent-connect/openclaw-qqbot.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/qqbot-channel .github/skills/qqbot-channel && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "qqbot-channel" agent skill from https://github.com/tencent-connect/openclaw-qqbot/tree/main/skills/qqbot-channel into .github/skills/qqbot-channel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qqbot-channel", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tencent-connect/openclaw-qqbot --skill qqbot-channel -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tencent-connect/openclaw-qqbot qqbot-channel --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tencent-connect/openclaw-qqbot.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/qqbot-channel .opencode/skills/qqbot-channel && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "qqbot-channel" agent skill from https://github.com/tencent-connect/openclaw-qqbot/tree/main/skills/qqbot-channel into .opencode/skills/qqbot-channel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qqbot-channel", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
qqbot-channelManages QQ guilds and their sub-channels, members, posts, announcements and schedules through the qqbot_platform_api tool.
The skill is for QQ Channels (guilds), the Discord-like community product, and not for QQ groups. Guild and channel IDs are plain numbers and API paths begin with /guilds or /channels. The qqbot_platform_api tool is a gateway to the QQ Open Platform HTTP API that fills in the auth token for you, so you only supply an HTTP method, an API path without the domain, an optional JSON body and optional query parameters.
A quick-reference table lists the common calls. For guilds, the bot's guild list and a guild's API permissions. For sub-channels, list, details, create, modify and delete, where delete is irreversible and the types are text, voice, group, live, application and forum. For members, the member list, member details, role members and online count. Further sections cover announcements, posts and schedules, and references/api_references.md has the full parameters, return structures and enum values. The excerpt is cut off in the announcements section.
11 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b9ba494. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.sgroup.qq.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
QQ Guild Channel Manager loads about 1.8k tokens when it runs, and up to ~4.9k if it reads all its reference files. Until then it costs about 46 tokens; SKILL.md has 409 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from tencent-connect/openclaw-qqbot at commit b9ba494, republished under its MIT licence (© tencent-connect). 409 words, ~1,845 tokens.
.claude/skills/qqbot-channel/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.本 Skill 仅处理 QQ 频道(Guild/Channel)操作。 频道 ID 为纯数字,API 路径为
/guilds/...和/channels/...。
qqbot_platform_api 是 QQ 开放平台统一 HTTP API 网关,自动填充鉴权 Token。你只需要指定 HTTP 方法、API 路径、请求体和查询参数即可调用频道相关接口。
QQ 频道是类似 Discord 的社区产品,层级结构为 频道(Guild) → 子频道(Channel):
| 层级 | 中文名 | 英文 | API 路径 | ID 格式 |
|---|---|---|---|---|
| 顶层 | 频道 | Guild | /guilds/{guild_id} | 纯数字(如 123456) |
| 次级 | 子频道 | Channel | /channels/{channel_id} | 纯数字(如 789012) |
核心特征:
/guilds/{guild_id}/members 管理/guilds/ 或 /channels/ 开头触发关键词:频道、子频道、guild、channel、帖子、日程、公告、论坛、频道成员
每个接口的完整参数说明、返回值结构和枚举值定义:
references/api_references.md| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
method | string | 是 | HTTP 方法:GET, POST, PUT, PATCH, DELETE |
path | string | 是 | API 路径(不含域名),如 /guilds/{guild_id}/channels,需替换占位符为实际值 |
body | object | 否 | 请求体 JSON(POST/PUT/PATCH 使用) |
query | object | 否 | URL 查询参数键值对,值为字符串类型 |
基础 URL:
https://api.sgroup.qq.com,鉴权头Authorization: QQBot {token}由工具自动填充。
| 操作 | 方法 | 路径 | 参数说明 |
|---|---|---|---|
| 获取频道列表 | GET | /users/@me/guilds | query: before, after, limit(最大100) |
| 获取频道 API 权限 | GET | /guilds/{guild_id}/api_permission | — |
| 操作 | 方法 | 路径 | 参数说明 |
|---|---|---|---|
| 获取子频道列表 | GET | /guilds/{guild_id}/channels | — |
| 获取子频道详情 | GET | /channels/{channel_id} | — |
| 创建子频道 | POST | /guilds/{guild_id}/channels | body: name*, type*, position*, sub_type, parent_id, private_type, private_user_ids, speak_permission, application_id |
| 修改子频道 | PATCH | /channels/{channel_id} | body: name, position, parent_id, private_type, speak_permission(至少一个) |
| 删除子频道 | DELETE | /channels/{channel_id} | ⚠️ 不可逆 |
子频道类型(type):0=文字, 2=语音, 4=分组(position≥2), 10005=直播, 10006=应用, 10007=论坛
| 操作 | 方法 | 路径 | 参数说明 |
|---|---|---|---|
| 获取成员列表 | GET | /guilds/{guild_id}/members | query: after(首次填0), limit(1-400) |
| 获取成员详情 | GET | /guilds/{guild_id}/members/{user_id} | — |
| 获取身份组成员列表 | GET | /guilds/{guild_id}/roles/{role_id}/members | query: start_index(首次填0), limit(1-400) |
| 获取在线成员数 | GET | /channels/{channel_id}/online_nums | — |
| 操作 | 方法 | 路径 | 参数说明 |
|---|---|---|---|
| 创建公告 | POST | /guilds/{guild_id}/announces | body: message_id, channel_id, announces_type(0=成员,1=欢迎), recommend_channels(最多3条) |
| 删除公告 | DELETE | /guilds/{guild_id}/announces/{message_id} | message_id 设 all 删除所有 |
| 操作 | 方法 | 路径 | 参数说明 |
|---|---|---|---|
| 获取帖子列表 | GET | /channels/{channel_id}/threads | — |
| 获取帖子详情 | GET | /channels/{channel_id}/threads/{thread_id} | — |
| 发表帖子 | PUT | /channels/{channel_id}/threads | body: title*, content*, format(1=文本,2=HTML,3=Markdown,4=JSON,默认3) |
| 删除帖子 | DELETE | /channels/{channel_id}/threads/{thread_id} | ⚠️ 不可逆 |
| 发表评论 | POST | /channels/{channel_id}/threads/{thread_id}/comment | body: thread_author*, content*, thread_create_time, image |
| 操作 | 方法 | 路径 | 参数说明 |
|---|---|---|---|
| 创建日程 | POST | /channels/{channel_id}/schedules | body: { schedule: { name*, start_timestamp*, end_timestamp*, jump_channel_id, remind_type } } |
| 修改日程 | PATCH | /channels/{channel_id}/schedules/{schedule_id} | body: { schedule: { name*, start_timestamp*, end_timestamp*, jump_channel_id, remind_type } } |
| 删除日程 | DELETE | /channels/{channel_id}/schedules/{schedule_id} | ⚠️ 不可逆 |
提醒类型(remind_type):"0"=不提醒, "1"=开始时, "2"=5分钟前, "3"=15分钟前, "4"=30分钟前, "5"=60分钟前
*表示必填参数
{
"method": "GET",
"path": "/users/@me/guilds",
"query": { "limit": "100" }
}{
"method": "GET",
"path": "/guilds/123456/channels"
}{
"method": "POST",
"path": "/guilds/123456/channels",
"body": {
"name": "新频道",
"type": 0,
"position": 1,
"sub_type": 0
}
}{
"method": "GET",
"path": "/guilds/123456/members",
"query": { "after": "0", "limit": "100" }
}{
"method": "PUT",
"path": "/channels/789012/threads",
"body": {
"title": "公告标题",
"content": "# 标题\n\n公告内容",
"format": 3
}
}{
"method": "POST",
"path": "/channels/456789/schedules",
"body": {
"schedule": {
"name": "周会",
"start_timestamp": "1770733800000",
"end_timestamp": "1770737400000",
"remind_type": "2"
}
}
}{
"method": "POST",
"path": "/guilds/123456/announces",
"body": {
"announces_type": 0,
"recommend_channels": [
{ "channel_id": "789012", "introduce": "欢迎来到攻略频道" }
]
}
}{
"method": "DELETE",
"path": "/guilds/123456/announces/all"
}1. GET /users/@me/guilds → 获取频道列表,拿到 guild_id
2. GET /guilds/{guild_id}/channels → 获取子频道列表,拿到 channel_id
3. GET /channels/{channel_id} → 获取子频道详情1. GET /guilds/{guild_id}/channels → 找到论坛子频道(type=10007)
2. PUT /channels/{channel_id}/threads → 发表帖子
3. GET /channels/{channel_id}/threads → 获取帖子列表
4. GET /channels/{channel_id}/threads/{thread_id} → 获取帖子详情(含 author_id)
5. POST /channels/{channel_id}/threads/{thread_id}/comment → 发表评论1. GET /users/@me/guilds → 获取 guild_id
2. GET /guilds/{guild_id}/members?after=0&limit=100 → 获取成员列表
翻页:用上次最后一个 user.id 作为 after,直到返回空数组
3. GET /guilds/{guild_id}/members/{user_id} → 获取指定成员详情成员详情返回的 user.avatar 是头像 URL,必须使用 Markdown 图片语法展示,让用户直接看到头像图片,而非纯文本链接:
成员信息:
· 昵称:{nick}
· 头像:
禁止将头像 URL 作为纯文本或超链接展示(如
查看头像),必须用语法内联显示。频道的icon字段同理。
| 错误码 | 说明 | 解决方案 |
|---|---|---|
| 401 | Token 鉴权失败 | 检查 AppID 和 ClientSecret 配置 |
| 11241 | 频道 API 无权限 | 前往 QQ 开放平台申请权限,或调用 GET /guilds/{guild_id}/api_permission 查看可用权限 |
| 11242 | 仅私域机器人可用 | 需在 QQ 开放平台将机器人切换为私域模式 |
| 11243 | 需要管理频道权限 | 确保机器人拥有管理权限 |
| 11281 | 日程频率限制 | 单管理员/天限 10 次,单频道/天限 100 次 |
| 304023 | 推荐子频道超限 | 推荐子频道最多 3 条 |
/guilds/ 或 /channels/ 开头,ID 为纯数字{guild_id}、{channel_id})必须替换为实际的纯数字 ID{ "limit": "100" } 而非 { "limit": 100 }user.id 去重position 必须 >= 2user.avatar 和频道 icon 等图片 URL 必须使用 Markdown 图片语法  展示,禁止作为纯文本或超链接展示© tencent-connect, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in skills/qqbot-channel of tencent-connect/openclaw-qqbot.
Open the folder on GitHubat commit b9ba494
QQ Guild Channel Manager next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| QQ Guild Channel Manager this skilltencent-connect/openclaw-qqbot | 1.6k | — | ~1.8k | Automated safety check: Pass | MIT | |
| PushMe Message Senderyafoo/pushme | 220 | — | ~1.9k | Automated safety check: Pass | None | |
| Brigade Voice Callsspinabot/brigade | 11k | — | ~288 | Automated safety check: Pass | MIT | |
| Wechat Miniprograminfometa/workbuddyskills | 348 | — | ~1.5k | Automated safety check: Notes | None | |
| LangBot EBA Adapter Developmentlangbot-app/LangBot | 18k | — | ~4k | Automated safety check: Pass | Apache-2.0 | |
| DisCatSharp Discord DevelopmentAiko-IT-Systems/DisCatSharp | 140 | — | ~1.2k | Automated safety check: Pass | MIT |
yafoo/pushme
Sends push messages to the PushMe Android client from scripts, CI jobs and alerts, choosing between notification and silent data message types.
spinabot/brigade
Starts and inspects phone calls through the Brigade voice-call plugin, using a CLI command or the voice_call tool, with Twilio, Telnyx, Plivo or a mock provider.
infometa/workbuddyskills
WeChat Mini Program (微信小程序) development framework. An agent skill from infometa/workbuddyskills.
langbot-app/LangBot
Guides building, migrating and testing LangBot messaging-platform adapters for the Event-Based Agents layout, with unified event and message conversion.
Aiko-IT-Systems/DisCatSharp
Helps build, explain and troubleshoot C# Discord apps on DisCatSharp, answering from the project's installed version and the library's documentation rather than guesses.
vercel-labs/agent-browser
Drives the Slack web app with the agent-browser CLI to check unread channels, search, read channel details and extract information, with screenshots as evidence.
tencent-connect/openclaw-qqbot
Creates, lists and cancels one-time and recurring reminders for a QQ bot by calling its reminder and cron tools instead of promising in text.
Categories
Manages QQ guilds and their sub-channels, members, posts, announcements and schedules through the qqbot_platform_api tool. The skill is for QQ Channels (guilds), the Discord-like community product, and not for QQ groups. Guild and channel IDs are plain numbers and API paths begin with /guilds or /channels.
QQ Guild Channel Manager fits situations like: listing the guilds a QQ bot has joined and their sub-channels; creating, editing or deleting a sub-channel; listing guild members or role members, or counting who is online; handling announcements, posts or schedules in a QQ guild.
Run `npx skills add tencent-connect/openclaw-qqbot --skill qqbot-channel -a claude-code`. Or copy the skill folder (skills/qqbot-channel in tencent-connect/openclaw-qqbot) into .claude/skills/qqbot-channel in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tencent-connect/openclaw-qqbot --skill qqbot-channel -a codex`. Or copy the skill folder (skills/qqbot-channel in tencent-connect/openclaw-qqbot) into .agents/skills/qqbot-channel in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tencent-connect/openclaw-qqbot --skill qqbot-channel -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/qqbot-channel, .gemini/skills/qqbot-channel, .github/skills/qqbot-channel and .opencode/skills/qqbot-channel in your project.
SKILL.md names no scripts, command-line tools or credentials: QQ Guild Channel Manager is instructions for the agent only. Our summary lists: The qqbot_platform_api tool, which fills in the bot's auth token; The numeric ID of the guild or channel.
SKILL.md names 1 domain. In commands or code: api.sgroup.qq.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
QQ Guild Channel Manager is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with QQ Guild Channel Manager: PushMe Message Sender (yafoo/pushme, 220 stars), Brigade Voice Calls (spinabot/brigade, 11k stars), Wechat Miniprogram (infometa/workbuddyskills, 348 stars) and LangBot EBA Adapter Development (langbot-app/LangBot, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tencent-connect (a GitHub organization) maintains it in tencent-connect/openclaw-qqbot, which has 1,555 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 9, 2026.
Source: tencent-connect/openclaw-qqbot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.