qqbot-channel
Original:🇨🇳 Chinese
Translated
QQ Channel management skill. Supports operations such as querying channel lists, sub-channels, members, posting, announcements, schedules, etc. It uses the qqbot_channel_api tool to proxy QQ Open Platform HTTP interfaces and automatically handles Token authentication. This skill is used when users need to view channels, manage sub-channels, query members, and publish posts/announcements/schedules.
6installs
Added on
NPX Install
npx skill4agent add tencent-connect/openclaw-qqbot qqbot-channelTags
Translated version includes tags in frontmatterSKILL.md Content (Chinese)
View Translation Comparison →QQ Channel API Request Guide
qqbot_channel_api📚 Detailed Reference Documentation
Complete parameter descriptions, return value structures and enum value definitions for each interface:
references/api_references.md
🔧 Tool Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | HTTP methods: |
| string | Yes | API path (excluding domain name), e.g. |
| object | No | Request body JSON (used for POST/PUT/PATCH) |
| object | No | URL query parameter key-value pairs, values are string type |
Base URL:, the authentication headerhttps://api.sgroup.qq.comis automatically filled by the tool.Authorization: QQBot {token}
⭐ Quick API Reference
Guild
| Operation | Method | Path | Parameter Description |
|---|---|---|---|
| Get guild list | | | query: |
| Get guild API permissions | | | — |
Channel
| Operation | Method | Path | Parameter Description |
|---|---|---|---|
| Get sub-channel list | | | — |
| Get sub-channel details | | | — |
| Create sub-channel | | | body: |
| Modify sub-channel | | | body: |
| Delete sub-channel | | | ⚠️ Irreversible |
Sub-channel type (type): =text, =voice, =category(position≥2), =live, =application, =forum
024100051000610007Member
| Operation | Method | Path | Parameter Description |
|---|---|---|---|
| Get member list | | | query: |
| Get member details | | | — |
| Get role member list | | | query: |
| Get online member count | | | — |
Announces
| Operation | Method | Path | Parameter Description |
|---|---|---|---|
| Create announcement | | | body: |
| Delete announcement | | | set |
Forum — For private domain bots only
| Operation | Method | Path | Parameter Description |
|---|---|---|---|
| Get post list | | | — |
| Get post details | | | — |
| Publish post | | | body: |
| Delete post | | | ⚠️ Irreversible |
| Publish comment | | | body: |
Schedule
| Operation | Method | Path | Parameter Description |
|---|---|---|---|
| Create schedule | | | body: |
| Modify schedule | | | body: |
| Delete schedule | | | ⚠️ Irreversible |
Remind type (remind_type): =no reminder, =when starting, =5 minutes in advance, =15 minutes in advance, =30 minutes in advance, =60 minutes in advance
"0""1""2""3""4""5"indicates required parameters*
💡 Call Examples
Get guild list
json
{
"method": "GET",
"path": "/users/@me/guilds",
"query": { "limit": "100" }
}Get sub-channel list
json
{
"method": "GET",
"path": "/guilds/123456/channels"
}Create sub-channel
json
{
"method": "POST",
"path": "/guilds/123456/channels",
"body": {
"name": "新频道",
"type": 0,
"position": 1,
"sub_type": 0
}
}Get member list (pagination)
json
{
"method": "GET",
"path": "/guilds/123456/members",
"query": { "after": "0", "limit": "100" }
}Publish forum post
json
{
"method": "PUT",
"path": "/channels/789012/threads",
"body": {
"title": "公告标题",
"content": "# 标题\n\n公告内容",
"format": 3
}
}Create schedule
json
{
"method": "POST",
"path": "/channels/456789/schedules",
"body": {
"schedule": {
"name": "周会",
"start_timestamp": "1770733800000",
"end_timestamp": "1770737400000",
"remind_type": "2"
}
}
}Create recommended sub-channel announcement
json
{
"method": "POST",
"path": "/guilds/123456/announces",
"body": {
"announces_type": 0,
"recommend_channels": [
{ "channel_id": "789012", "introduce": "欢迎来到攻略频道" }
]
}
}Delete all announcements
json
{
"method": "DELETE",
"path": "/guilds/123456/announces/all"
}🔄 Common Operation Processes
Get guild and sub-channel information
1. GET /users/@me/guilds → Get guild list, get guild_id
2. GET /guilds/{guild_id}/channels → Get sub-channel list, get channel_id
3. GET /channels/{channel_id} → Get sub-channel detailsForum posting + commenting
1. GET /guilds/{guild_id}/channels → Find forum sub-channel (type=10007)
2. PUT /channels/{channel_id}/threads → Publish post
3. GET /channels/{channel_id}/threads → Get post list
4. GET /channels/{channel_id}/threads/{thread_id} → Get post details (including author_id)
5. POST /channels/{channel_id}/threads/{thread_id}/comment → Publish commentMember management
1. GET /users/@me/guilds → Get guild_id
2. GET /guilds/{guild_id}/members?after=0&limit=100 → Get member list
Pagination: Use the last user.id of the previous request as after, until an empty array is returned
3. GET /guilds/{guild_id}/members/{user_id} → Get specified member detailsDisplay member avatar
The returned in member details is the avatar URL, must be displayed using Markdown image syntax, so that users can see the avatar image directly instead of plain text links:
user.avatar成员信息:
· 昵称:{nick}
· 头像:
It is forbidden to display the avatar URL as plain text or hyperlink (e.g.), you must use the查看头像syntax to display it inline. The same applies to thefield of guilds.icon
🚨 Error Code Handling
| Error Code | Description | Solution |
|---|---|---|
| 401 | Token authentication failed | Check AppID and ClientSecret configuration |
| 11241 | No guild API permission | Go to QQ Open Platform to apply for permissions, or call |
| 11242 | Only available for private domain bots | You need to switch the bot to private domain mode in QQ Open Platform |
| 11243 | Guild management permission required | Ensure the bot has management permissions |
| 11281 | Schedule frequency limit | 10 times per administrator/day, 100 times per channel/day |
| 304023 | Recommended sub-channels exceed limit | Maximum 3 recommended sub-channels |
⚠️ Notes
- Placeholders in the path (e.g. ,
{guild_id}) must be replaced with actual values{channel_id} - The values of query parameters must be string type, e.g. instead of
{ "limit": "100" }{ "limit": 100 } - Duplicate members may be returned when paging the member list, you need to deduplicate by
user.id - The two types of announcements (message announcements and recommended sub-channel announcements) will replace each other
- The timestamp of schedule is a millisecond-level string
- Delete operations are irreversible, please use with caution
- Forum operations are only available for private domain bots
- The of sub-channel category (type=4) must be >= 2
position - Schedule operations have frequency limits: 10 times per administrator per day, 100 times per channel per day
- Avatar/icon display: Image URLs such as member and guild
user.avatarmust be displayed using Markdown image syntaxicon, it is forbidden to display them as plain text or hyperlinks