QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第二期]
QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第二期]
第二期介绍:频道模块之频道管理
目录
- QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第二期]
- 第二期介绍:频道模块之频道管理
- 获取用户详情
- 获取用户频道列表
- 获取频道详情
- 获取子频道列表
- 获取子频道详情
- 创建子频道
- 修改子频道
- 删除子频道
- 致谢和更新
不懂得的也可以来私聊或评论区问哦~
原力到一千才可以推广,三连啊喂!!!

获取用户详情
接口
GET /users/@me
功能描述
用于获取当前用户(机器人)详情。
Content-Type
application/json
返回
返回 User 对象。
错误码
详见错误码。
Python示例
# 用于获取当前用户(机器人)详情。
import requestsurl = "https://api.sgroup.qq.com/users/@me"
Authorization = f"QQBot {这个内容填写第一期我们获取的调用凭证}"
herders = {"Content-Type": "application/json","Authorization": Authorization}response = requests.get(url, headers=herders)print(response.json())
获取的数据包如下:
{"id": "11586990140073229091","username": "gitsub","avatar": "https://thirdqq.qlogo.cn/g?b=oidb&k=M5TibpXicS7Jt4z89BZxiamAA&s=100&t=1641802698","union_openid": "74F138F7F3AF68C4B8E8325013FCA295","union_user_account": ""
}

获取用户频道列表
接口
GET /users/@me/guilds
功能描述
用于获取当前用户(机器人)所加入的频道列表,支持分页。
当 HTTP Authorization 中填入 Bot Token 是获取机器人的数据,填入 Bearer Token 则获取用户的数据。
总的来说就是
Authorization = f"QQBot {这个内容填写第一期我们获取的调用凭证}"
你要获取机器人数据,格式为QQBot {这个内容填写第一期我们获取的调用凭证},如果获取用户数据,格式为Bearer 调用凭证
Content-Type
application/json
返回
返回 Guild 对象数组。
错误码
详见错误码。
Python示例
import requests"""
用于获取当前用户(机器人)所加入的频道列表,支持分页。当 HTTP Authorization 中填入 Bot Token 是获取机器人的数据,填入 Bearer Token 则获取用户的数据。
"""url = "https://api.sgroup.qq.com/users/@me/guilds"
Authorization = f"QQBot {这个内容填写第一期我们获取的调用凭证}"
headers = {"Content-Type": "application/json","Authorization": Authorization
}response = requests.get(url, headers=headers).json()
print(response)
获取的数据包如下:
[{"id": "696527283900292399","name": "鹅们的萌宠啦咔咔啦","icon": "https://groupprohead-76292.picgzc.qpic.cn/482231626508223/100?t=1626508224633","owner_id": "4828365788198541698","owner": false,"joined_at": "2021-12-08T16:12:31+08:00","member_count": 17,"max_members": 300,"description": "123"
}]
🧐这里需要注意,当你有多个频道时,你获取的数据包格式为:
[{你第一个频道的数据},{你第二个频道的数据},{...}]
当你想要获取其中某一个值时,例如 id 的值,可以使用:
response[0]['id']

获取频道详情
接口
GET /guilds/{guild_id}
🧐在获取频道列表的数据包后,数据包内包含了频道的 guild_id
功能描述
用于获取 guild_id 指定的频道的详情。
Content-Type
application/json
返回
返回 Guild 对象
错误码
详见错误码。
Python示例
import requests
"""
用于获取 guild_id 指定的频道的详情。
"""
url = f"https://api.sgroup.qq.com/guilds/{guild_id}"
Authorization = f"QQBot {这个内容填写第一期我们获取的调用凭证}"
herders = {"Content-Type": "application/json","Authorization": Authorization}response = requests.get(url, headers=herders).json()
print(response)
获取的数据包如下:
{"id": "123456","name": "xxxxxx","icon": "xxxxxx","owner_id": "xxxxxx","owner": false,"joined_at": "2022-01-13T11:02:21+08:00","member_count": 5,"max_members": 300,"description": "千江有水千江月,万里无云万里天"
}

获取子频道列表
接口
GET /guilds/{guild_id}/channels
🧐在获取频道列表的数据包后,数据包内包含了频道的 guild_id
功能描述
用于获取 guild_id 指定的频道下的子频道列表。
Content-Type
application/json
返回
返回 Channel 对象数组。
错误码
详见错误码。
Python示例
import requestsurl = f"https://api.sgroup.qq.com/guilds/{guild_id}/channels"
Authorization = f"QQBot {这个内容填写第一期我们获取的调用凭证}"
herders = {"Content-Type": "application/json","Authorization": Authorization}response = requests.get(url, headers=herders).json()
print(response)
获取的数据包如下:
[{"id": "xxxxxx","guild_id": "123456","name": "很高兴遇见你","type": 4,"position": 2,"parent_id": "0","owner_id": "0","sub_type": 0},{"id": "xxxxxx","guild_id": "123456","name": "🔒管理员议事厅","type": 0,"position": 1,"parent_id": "xxxxxx","owner_id": "0","sub_type": 0,"private_type": 1},{"id": "xxxxxx","guild_id": "123456","name": "🚪小黑屋","type": 0,"position": 2,"parent_id": "xxxxxx","owner_id": "0","sub_type": 0,"private_type": 0},{"id": "xxxxxx","guild_id": "123456","name": "新的子频道","type": 0,"position": 2,"parent_id": "123456","owner_id": "0","sub_type": 0,"private_type": 2}
]
🧐这里需要注意,当你有多个子频道时,你获取的数据包格式为:
[{你第一个频道的数据},{你第二个频道的数据},{...}]
当你想要获取其中某一个值时,例如 id 的值,可以使用:
response[0]['id']

获取子频道详情
接口
GET /channels/{channel_id}
🧐在获取子频道列表的数据包后,数据包内包含了频道的 channel_id
功能描述
用于获取 channel_id 指定的子频道的详情。
Content-Type
application/json
返回
返回 Channel 对象。
错误码
详见错误码。
Python示例
import requestsurl = f"https://api.sgroup.qq.com/channels/{channel_id}"
Authorization = f"QQBot {这个内容填写第一期我们获取的调用凭证}"
herders = {"Content-Type": "application/json","Authorization": Authorization}response = requests.get(url, headers=herders).json()
print(response)
获取的数据包如下:
{"id": "123456","guild_id": "xxxxxx","name": "很高兴遇见你","type": 4,"position": 2,"owner_id": "0","sub_type": 0,"private_type": 0,"speak_permission": 0,"application_id": "0"
}

创建子频道
接口
POST /guilds/{guild_id}/channels
功能描述
用于在 guild_id 指定的频道下创建一个子频道。
- 要求操作人具有管理频道的权限,如果是机器人,则需要将机器人设置为管理员。
- 创建成功后,返回创建成功的子频道对象,同时会触发一个频道创建的事件通知。
注意
公域机器人暂不支持申请,仅私域机器人可用,选择私域机器人后默认开通。
注意: 开通后需要先将机器人从频道移除,然后重新添加,方可生效。
Content-Type
application/json
参数
| 字段名 | 类型 | 描述 |
|---|---|---|
| name | string | 子频道名称 |
| type | int | 子频道类型 ChannelType |
| sub_type | int | 子频道子类型 ChannelSubType |
| position | int | 子频道排序,必填;当子频道类型为 子频道分组(ChannelType=4) 时,必须大于等于 2 |
| parent_id | string | 子频道所属分组ID |
| private_type | int | 子频道私密类型 PrivateType |
| private_user_ids | string 数组 | 子频道私密类型成员 ID |
| speak_permission | int | 子频道发言权限 SpeakPermission |
| application_id | string | 应用类型子频道应用 AppID,仅应用子频道需要该字段 |
返回
返回 Channel 对象。
错误码
详见错误码。
Python示例
import requestsurl = f"https://api.sgroup.qq.com/guilds/{guild_id}/channels"
Authorization = f"QQBot {你自己的鉴权}"data = {"name": "测试频道1",# 名字随意"type": 0,# 文字子频道"position": 1,"parent_id": "xxx","owner_id": "xxx","sub_type": 0,"private_type": 0
}herders = {"Content-Type": "application/json","Authorization": Authorization}response = requests.post(url, headers=herders, json=data).json()
print(response)
获取的数据包如下:
{"id": "xxxxxx","guild_id": "xxxxxx","name": "测试频道1","type": 0,"position": 1,"parent_id": "xxxxx","owner_id": "xxxxxx","sub_type": 0
}

修改子频道
接口
PATCH /channels/{channel_id}
🧐在获取子频道列表的数据包后,数据包内包含了频道的 channel_id
功能描述
用于修改 channel_id 指定的子频道的信息。
- 要求操作人具有管理子频道的权限,如果是机器人,则需要将机器人设置为管理员。
- 修改成功后,会触发子频道更新事件。
注意
公域机器人暂不支持申请,仅私域机器人可用,选择私域机器人后默认开通。
注意: 开通后需要先将机器人从频道移除,然后重新添加,方可生效。
Content-Type
application/json
参数
| 字段名 | 类型 | 描述 |
|---|---|---|
| name | string | 子频道名 |
| position | int | 排序 |
| parent_id | string | 分组 id |
| private_type | int | 子频道私密类型 PrivateType |
| speak_permission | int | 子频道发言权限 SpeakPermission |
🤗需要修改哪个字段,就传递哪个字段即可。
返回
返回 Channel 对象。
错误码
详见错误码。
Python示例
import requestschannel_id = "xxx"
url = f"https://api.sgroup.qq.com/channels/{channel_id}"
Authorization = f"QQBot xxx"data = {"name": "测试频道2",
}herders = {"Content-Type": "application/json","Authorization": Authorization}response = requests.patch(url, headers=herders, json=data).json()
print(response)
获取的数据包如下:
{"id": "xxxxxx","guild_id": "xxxxxx","name": "测试频道2","type": 0,"position": 1,"parent_id": "xxxxx","owner_id": "xxxxxx","sub_type": 0
}

删除子频道
接口
DELETE /channels/{channel_id}
🧐在获取子频道列表的数据包后,数据包内包含了频道的 channel_id
功能描述
用于删除 channel_id 指定的子频道。
- 要求操作人具有管理子频道的权限,如果是机器人,则需要将机器人设置为管理员。
- 修改成功后,会触发子频道删除事件。
注意
公域机器人暂不支持申请,仅私域机器人可用,选择私域机器人后默认开通。
注意: 开通后需要先将机器人从频道移除,然后重新添加,方可生效。
Content-Type
application/json
返回
成功返回 HTTP 状态码 200。
错误码
详见错误码。
Python示例
import requestschannel_id = "xxx"
url = f"https://api.sgroup.qq.com/channels/{channel_id}"
Authorization = f"QQBot xxx"herders = {"Content-Type": "application/json","Authorization": Authorization}response = requests.delete(url, headers=herders, json=data).json()
print(response)
注意
子频道的删除是无法撤回的,一旦删除,将无法恢复。

致谢和更新
文章持续更新,如果三连支持,速更!!!
请在评论区提出疑惑和建议
上次更新: 9/8/2024, PM
👻关于频道和子频道事件,它们基于websocket方法。因为目前在讲openapi方法调用QQ频道机器人,所以暂时跳过这部分,当然放心啦,三连我速更,肯定会讲啦。

文章内容都是连续的,如果你在本文没有找到解决办法,不如前往其他几期寻找答案吧😉
⬅️QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第一期]
➡️QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第三期]
相关文章:
QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第二期]
QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第二期] 第二期介绍:频道模块之频道管理 目录 QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第二期]第二期介绍:频道模块之频道管理获取用户详情获取用户频道列表获取频道详情获取子频道列表获…...
参赛心得和思路分享:2021第二届云原生编程挑战赛2: 实现一个柔性集群调度机制
关联比赛: 2021第二届云原生编程挑战赛2:实现一个柔性集群调度机制 参赛心得 历时快两个月的第二届云原生编程挑战赛结束了,作为第一次参赛的萌新,拿下了28名的成绩,与第一名差了19万分,因为赛制时间太长,…...
具体函数的卡诺图填入
目录 用卡诺图表示逻辑函数 基本步骤 例子1 例子2 例子3 用卡诺图表示逻辑函数 基本步骤 例子1 由真值表得卡诺图。 在函数值为1的地方在卡诺图上画上1。 例子2 例子3 非标准与或式,要找到公共部分。 将AB所在的那一行填上1。 将A非D的那个部分也填上1。 再…...
STM32 HAL freertos零基础(六)计数型信号量
1、计数型信号量 计数型信号量(Counting Semaphore)是另一种类型的信号量,它可以保持一个大于等于0的整数值,这个值表示可用资源的数量。本质上相当于队列长度大于1得队列。经典问题就是剩余车辆统计,出入车辆,车辆数据可以实时更新。 2、相关API函数 xSemaphoreCreat…...
Dynamics CRM Ribbon Workbench-the solution contains non-entity components
今天在一个低版本的环境里准备用Ribbon Workbench去编辑一个按钮时,遇到了如下错误 一开始没当回事,以为是我的解决方案问题,去检查了下,只有一个组件,并且哪怕我把组件换成了某个实体也不行,尝试了其他任何…...
谷歌对抗司法部:为什么谷歌的“数百个竞争对手”说法站不住脚
随着谷歌反垄断陪审团审判的进行,谷歌声称美国司法部对广告技术市场的看法狭隘,并且广告商和出版商有很多替代选择。然而,证据并不支持这一说法。 谷歌误导性地声称有“数百个竞争对手。” 虽然存在许多广告技术提供商,但谷歌在…...
重生奇迹MU 沉迷升级的快感 法魔升级机器人
重生奇迹MU是一款以升级为主要玩法的游戏。升级是游戏基础,也是最重要的部分。通过升级,玩家可以获得更多的基础属性奖励和自由点数奖励,同时还能够穿戴最好的装备和翅膀。因此,升级在游戏中具有极其重要的地位。 史上升级最快的…...
从地图到智能地图:空间索引技术如何改变我们的世界
图源:WL 为什么空间索引很有用? 在处理地理空间数据时,空间索引是一个至关重要的功能,它决定了我们如何高效地从海量的地理数据中检索出所需的信息。想象一下,如果你正在处理一个包含数千万乃至数亿条记录的数据库,…...
深入理解AI Agent架构,史上最全解析!赶紧码住!
AI Agent框架(LLM Agent):LLM驱动的智能体如何引领行业变革,应用探索与未来展望 1. AI Agent(LLM Agent)介绍 1.1. 术语 Agent:“代理” 通常是指有意行动的表现。在哲学领域,Agen…...
苹果iOS/ iPadOS18 RC 版、17.7 RC版更新发布
iPhone 16 / Pro 系列新机发布后,苹果一同推出了 iOS 18 和 iPadOS 18 的 RC 版本,iOS 18 RC 的内部版本号为22A3354,本次更新距离上次发布 Beta/RC 间隔 12 天。 在 iOS 18 中,苹果给我们带来了 Apple Intelligence,这…...
CAN集线器(工业级、隔离式)
型号: MS-HUB-C 概述 MS-HUB 是一款可通过一路 CAN ,一路 RS-232为主口扩展出 7 路 CAN 从口的工业级光电隔离型 CAN 分配器。可以有效的实现 CAN 网络的中继、扩展与隔离。采用先进的自动流控技术自动侦测CAN 信号流向。MS-HUB 具备光电隔离功能&#x…...
代码随想录训练营 Day57打卡 图论part07 53. 寻宝(prim,kruskal算法)
代码随想录训练营 Day57打卡 图论part07 卡码53. 寻宝 题目描述 在世界的某个区域,有一些分散的神秘岛屿,每个岛屿上都有一种珍稀的资源或者宝藏。国王打算在这些岛屿上建公路,方便运输。 不同岛屿之间,路途距离不同,…...
Hibernate QueryPlanCache 查询计划缓存引发的内存溢出
目录 1.排查方式2.结论3.解决办法 前言:在生产环境中有一个后端程序多次报oom然后导致程序中断。 1.排查方式 通过下载后端程序产生的oom文件,将oom文件导入MemoryAnalyzer程序分析程序堆内存使用情况。 1、将oom文件导入MemoryAnalyzer后可以看到概览信…...
前端开发的观察者模式
什么是观察者设计模式 观察者模式(Observer Pattern)是前端开发中常用的一种设计模式。它定义了一种一对多的依赖关系,使得当一个对象的状态发生改变时,其所有依赖对象都能收到通知并自动更新。观察者模式广泛应用于事件驱动的系…...
Pycharm 输入三个引号没有自动生成函数(方法)注释
配置项路径:pycharm–>Settins–>Tools–>Python Integrated Tools–>Docstrings–>Docstrings format选择对应的工程,如果有多个工程的话将 Docstrings format 的值从 Plain 换成 reStructuredText...
lammps后处理:多帧孔洞体积和孔隙率的计算
本文介绍lammps后处理技巧:多帧孔洞体积和孔隙率的计算方法。 在前面的专栏中,已经介绍了单帧孔洞体积的计算方法,有不少粉丝朋友咨询多帧孔洞体积的计算方法。 在上一次案例代码的基础上,稍加修改,添加一个for循环遍历所有的帧即可实现多帧孔洞体积的计算。 计算的结果…...
免费且实用:UI设计常用的颜色参考网站和一些Icon设计网站
用心去分享!请给我点个关注和点赞收藏!谢谢各位努力的人才! 1.在UI设计的时候,没有灵感,怎么办?可以参考这个网站(需要魔法能量) 网址如下: Color Hunt - Color Palette…...
log4j日志封装说明—slf4j对于log4j的日志封装-正确获取调用堆栈
日志是项目中必用的东西,日志产品里最普及应该就是log4j了。(logback这里暂不讨论。) 先看一下常用的log4j的用法,一般来说log4j都会配合slf4j或者common-logging使用,这里已slf4j为例。添加gradle依赖: dependencies { compile(l…...
JVM面试真题总结(六)
文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 解释GC的标记-整理算法及其优点 GC(垃圾收集ÿ…...
C语言代码练习(第十八天)
今日练习: 48、猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时&…...
Chrome密码提取终极指南:ChromePass工具完整使用教程
Chrome密码提取终极指南:ChromePass工具完整使用教程 【免费下载链接】chromepass Get all passwords stored by Chrome on WINDOWS. 项目地址: https://gitcode.com/gh_mirrors/chr/chromepass 你是否曾经因为忘记某个重要网站的登录密码而感到困扰…...
Python tkinter文件对话框实战:5分钟搞定文件选择与保存功能(附完整代码)
Python tkinter文件对话框实战:5分钟搞定文件选择与保存功能(附完整代码) 在开发桌面应用程序时,文件选择功能几乎是必不可少的。无论是需要用户上传文件、保存处理结果,还是选择工作目录,一个直观的文件对…...
TMSpeech:Windows端离线实时语音转文字工具的完整使用指南
TMSpeech:Windows端离线实时语音转文字工具的完整使用指南 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 在数字办公和在线会议成为日常的今天,你是否曾因会议内容过多而错过关键信息&#…...
SDXL 1.0电影级绘图工坊高清图集:1536px输出下4K显示器全屏无像素感展示
SDXL 1.0电影级绘图工坊高清图集:1536px输出下4K显示器全屏无像素感展示 1. 项目简介 SDXL 1.0电影级绘图工坊是一款基于Stable Diffusion XL Base 1.0模型的AI绘图工具,专门为RTX 4090显卡优化设计。这个工具充分利用了4090显卡的24G大显存࿰…...
视频文件修复全攻略:如何用Untrunc工具抢救损坏的MP4/MOV文件
视频文件修复全攻略:如何用Untrunc工具抢救损坏的MP4/MOV文件 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 当你打开存储着家庭聚会回忆的视频文件时&…...
OpenRocket:开源火箭仿真平台的技术架构与实践指南
OpenRocket:开源火箭仿真平台的技术架构与实践指南 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 价值定位:如何突破传统火箭设计…...
从数组到哈夫曼树:用Python代码图解软考数据结构核心算法
从数组到哈夫曼树:Python实战软考核心数据结构 1. 线性结构的Python实现 1.1 顺序栈与队列的实现 Python的列表(list)天然适合实现顺序存储结构。我们先来看栈的实现: class ArrayStack:def __init__(self, capacity10):self._items []self._capacity …...
Agent 语音交互如何更稳、更快?一次高并发消息链路优化实践
作者:雀贤、文婷、复礼、稚柳 随着大语言模型(LLM)、语音识别(ASR)、语音合成(TTS)等能力逐步成熟,AI Agent 开始从文本交互走向语音交互,典型场景包括 AI 教师、AI 情感…...
如何通过Akagi提升麻将水平:从新手到高手的智能助手指南
如何通过Akagi提升麻将水平:从新手到高手的智能助手指南 【免费下载链接】Akagi A helper client for Majsoul 项目地址: https://gitcode.com/gh_mirrors/ak/Akagi 你是否在麻将对局中常常面临这样的困境:面对复杂牌局不知如何抉择?想…...
如何高效使用iOS推送调试工具:SmartPush完整操作指南
如何高效使用iOS推送调试工具:SmartPush完整操作指南 【免费下载链接】SmartPush SmartPush,一款iOS苹果远程推送测试程序,Mac OS下的APNS工具APP,iOS Push Notification Debug App 项目地址: https://gitcode.com/gh_mirrors/smar/SmartPush SmartPush是一款…...

