Back to Go Cqhttp

频道相关API

docs/guild.md

1.2.014.1 KB
Original Source

频道相关API

注意: QQ频道功能目前还在测试阶段, go-cqhttp 也在适配的初期阶段, 以下 API Event 的字段名可能存在错误并均有可能在后续版本修改/添加/删除. 目前仅供开发者测试以及适配使用

QQ频道相关功能的事件以及API

注意, 最新文档已经移动到 go-cqhttp-docs, 当前文档只做兼容性保留, 所以内容可能有不足.

命名说明

API以及字段相关命名均为参考QQ官方命名或相似产品命名规则, 由于QQ频道的账号系统独立于QQ本体, 所以各个 ID 并不能和QQ通用.也无法通过 tiny_id 获取到 QQ号

下表为常见字段命名说明

命名说明
tiny_id在频道系统中代表用户ID, 与QQ号并不通用
guild_id频道ID
channel_id子频道ID

所有频道相关事件的 user_id 均为 tiny_id

特殊说明

  • 由于频道的限制, 目前无法通过图片摘要查询到频道图片消息的详细信息, 所以通过频道消息收到的图片均会下载完整文件到 images/guild-images. (群图片转发不受此限制)
  • 由于无法通过 GlobalID 放下频道消息的ID, 所以所有频道消息的 message_id 均为 string 类型
  • send_msg API将无法发送频道消息
  • get_msg API暂时无法获取频道消息
  • reply 等消息类型暂不支持解析
  • at 消息的 target 依然使用 qq 字段, 以保证一致性. 但内容为 tiny_id
  • 所有事件的 self_id 均为 BOT 的QQ号. tiny_id 将放在 self_tiny_id 字段
  • 遵循我们一贯的原则, 将不会支持主动加频道/主动拉人/红包相关消息类型
  • 频道相关的API仅能在 Android PhoneiPad 协议上使用.
  • 由于频道相关ID的数据类型均为 uint64 , 为保证不超过某些语言的安全值范围, 在 v1.0.0-beta8-fix3 以后, 所有ID相关数据将转换为 string 类型, API调用 uint64string 均可接受.
  • 为保证一致性, 所有频道接口返回的 用户ID 均命名为 tiny_id, 所有频道相关接口的 用户ID 入参均命名为 user_id

API

获取频道系统内BOT的资料

终结点: /get_guild_service_profile

响应数据

字段类型说明
nicknamestring昵称
tiny_idstring自身的ID
avatar_urlstring头像链接

获取频道列表

终结点: /get_guild_list

响应数据

正常情况下响应 GuildInfo 数组, 未加入任何频道响应 null

GuildInfo:

字段类型说明
guild_idstring频道ID
guild_namestring频道名称
guild_display_idint64频道显示ID, 公测后可能作为搜索ID使用

通过访客获取频道元数据

终结点: /get_guild_meta_by_guest

参数

字段类型说明
guild_idstring频道ID

响应数据

字段类型说明
guild_idstring频道ID
guild_namestring频道名称
guild_profilestring频道简介
create_timeint64创建时间
max_member_countint64频道人数上限
max_robot_countint64频道BOT数上限
max_admin_countint64频道管理员人数上限
member_countint64已加入人数
owner_idstring创建者ID

获取子频道列表

终结点: /get_guild_channel_list

参数

字段类型说明
guild_idstring频道ID
no_cachebool是否无视缓存

响应数据

正常情况下响应 ChannelInfo 数组, 未找到任何子频道响应 null

ChannelInfo:

字段类型说明
owner_guild_idstring所属频道ID
channel_idstring子频道ID
channel_typeint32子频道类型
channel_namestring子频道名称
create_timeint64创建时间
creator_tiny_idstring创建者ID
talk_permissionint32发言权限类型
visible_typeint32可视性类型
current_slow_modeint32当前启用的慢速模式Key
slow_modes[]SlowModeInfo频道内可用慢速模式类型列表

SlowModeInfo:

字段类型说明
slow_mode_keyint32慢速模式Key
slow_mode_textstring慢速模式说明
speak_frequencyint32周期内发言频率限制
slow_mode_circleint32单位周期时间, 单位秒

已知子频道类型列表

类型说明
1文字频道
2语音频道
5直播频道
7主题频道

获取频道成员列表

终结点: /get_guild_member_list

由于频道人数较多(数万), 请尽量不要全量拉取成员列表, 这将会导致严重的性能问题

尽量使用 get_guild_member_profile 接口代替全量拉取

参数

字段类型说明
guild_idstring频道ID
next_tokenstring翻页Token

next_token 为空的情况下, 将返回第一页的数据, 并在返回值附带下一页的 token

响应数据

字段类型说明
members[]GuildMemberInfo成员列表
finishedbool是否最终页
next_tokenstring翻页Token

GuildMemberInfo:

字段类型说明
tiny_idstring成员ID
titlestring成员头衔
nicknamestring成员昵称
role_idstring所在权限组ID
role_namestring所在权限组名称

默认情况下频道管理员的权限组ID为 2, 部分频道可能会另行创建, 需手动判断

此接口仅展现最新的权限组, 获取用户加入的所有权限组请使用 get_guild_member_profile 接口

单独获取频道成员信息

终结点: /get_guild_member_profile

参数

字段类型说明
guild_idstring频道ID
user_idstring用户ID

响应数据

字段类型说明
tiny_idstring用户ID
nicknamestring用户昵称
avatar_urlstring头像地址
join_timeint64加入时间
roles[]RoleInfo加入的所有权限组

RoleInfo:

字段类型说明
role_idstring权限组ID
role_namestring权限组名称

发送信息到子频道

终结点: /send_guild_channel_msg

参数

字段类型说明
guild_idstring频道ID
channel_idstring子频道ID
messageMessage消息, 与原有消息类型相同

响应数据

字段类型说明
message_idstring消息ID

获取话题频道帖子

终结点: /get_topic_channel_feeds

参数

字段类型说明
guild_idstring频道ID
channel_idstring子频道ID

响应数据

返回 FeedInfo 数组

FeedInfo:

字段类型说明
idstring帖子ID
channel_idstring子频道ID
guild_idstring频道ID
create_timeint64发帖时间
titlestring帖子标题
sub_titlestring帖子副标题
poster_infoPosterInfo发帖人信息
resourceResourceInfo媒体资源信息
resource.images[]FeedMedia帖子附带的图片列表
resource.videos[]FeedMedia帖子附带的视频列表
contents[]FeedContent帖子内容

PosterInfo:

字段类型说明
tiny_idstring发帖人ID
nicknamestring发帖人昵称
icon_urlstring发帖人头像链接

FeedMedia:

字段类型说明
file_idstring媒体ID
pattern_idstring控件ID?(不确定)
urlstring媒体链接
heightint32媒体高度
widthint32媒体宽度

FeedContent:

字段类型说明
typestring内容类型
dataData内容数据

内容类型列表:

类型说明
text文本
face表情
atAt
url_quote链接引用
channel_quote子频道引用

内容类型对应数据列表:

  • text
字段类型说明
textstring文本内容
  • face
字段类型说明
idstring表情ID
  • at
字段类型说明
idstring目标ID
qqstring目标ID, 为确保和 array message 的一致性保留
  • url_quote
字段类型说明
display_textstring显示文本
urlstring链接
  • channel_quote
字段类型说明
display_textstring显示文本
guild_idstring频道ID
channel_idstring子频道ID

事件

收到频道消息

上报数据

字段类型可能的值说明
post_typestringmessage上报类型
message_typestringguild消息类型
sub_typestringchannel消息子类型
guild_idstring频道ID
channel_idstring子频道ID
user_idstring消息发送者ID
message_idstring消息ID
senderSender发送者
messageMessage消息内容

注: 此处的 Sender 对象为保证一致性, user_iduint64 类型, 并添加了 string 类型的 tiny_id 字段

频道消息表情贴更新

上报数据

字段类型可能的值说明
post_typestringnotice上报类型
notice_typestringmessage_reactions_updated消息类型
guild_idstring频道ID
channel_idstring子频道ID
user_idstring操作者ID
message_idstring消息ID
current_reactions[]ReactionInfo当前消息被贴表情列表

ReactionInfo:

字段类型说明
emoji_idstring表情ID
emoji_indexint32表情对应数值ID
emoji_typeint32表情类型
emoji_namestring表情名字
countint32当前表情被贴数量
clickedboolBOT是否点击

子频道信息更新

上报数据

字段类型可能的值说明
post_typestringnotice上报类型
notice_typestringchannel_updated消息类型
guild_idstring频道ID
channel_idstring子频道ID
user_idstring操作者ID
operator_idstring操作者ID
old_infoChannelInfo更新前的频道信息
new_infoChannelInfo更新后的频道信息

子频道创建

上报数据

字段类型可能的值说明
post_typestringnotice上报类型
notice_typestringchannel_created消息类型
guild_idstring频道ID
channel_idstring子频道ID
user_idstring操作者ID
operator_idstring操作者ID
channel_infoChannelInfo频道信息

子频道删除

上报数据

字段类型可能的值说明
post_typestringnotice上报类型
notice_typestringchannel_destroyed消息类型
guild_idstring频道ID
channel_idstring子频道ID
user_idstring操作者ID
operator_idstring操作者ID
channel_infoChannelInfo频道信息