# 消息收发概述

机器人可在 QQ 单聊、群聊、频道三种场景下收发消息。本页介绍基础概念与通用规则,具体接口与事件请参考对应子分类。

# 收发场景

场景 发送消息 接收事件
QQ 单聊 发送单聊消息 / 流式消息 C2C_MESSAGE_CREATE
QQ 群聊 发送群消息 GROUP_AT_MESSAGE_CREATE / GROUP_MESSAGE_CREATE
频道 发送子频道消息 / 频道私信 频道消息事件

# 对话场景图示

说明

机器人可以被添加各种聊天场景下

单聊 群聊 文字子频道 频道私信
单聊 群聊 文字子频道 频道私信

# 主动消息与被动消息

类型 特征 说明
主动消息 无任何条件 机器人主动触达用户,用户可在客户端关闭「允许主动发送」开关,关闭后主动消息将发送失败
互动召回消息 is_wakeup=true 用户主动与机器人对话之后每个周期内可下发 1 条召回消息
被动消息(回复用户) 携带 msg_id 对用户消息的回复
被动消息(响应事件) 携带 event_id 对事件的回复

# 消息类型

通过 msg_type 指定消息内容格式:

msg_type 类型 内容字段 发送 接收
0 文本 content
2 Markdown markdown -
7 富媒体 media(需先上传文件获取 file_info

除上述之外,响应中还可能收到图片、视频、语音、表情、卡片等类型,详见 消息类型

# 富媒体消息

图片、视频、语音、文件等富媒体需先上传获取 file_info,再通过发消息接口(msg_type=7)携带 media.file_info 发送。

上传方式:

  • file_info 有时效性(ttl),过期需重新上传。
  • 单聊和群聊的文件上传接口不互通。

# 频率与时效规则

# 被动消息

场景 有效期 每条消息可回复次数
单聊 60 分钟 4 次
群聊 5 分钟 5 次
频道 5 分钟 -

# 主动消息

主动消息与被动消息说明: QQ 用户可以在 QQ 客户端主动设置是否接收机器人发送的主动消息,如果设置了关闭,主动消息一律发送失败。

# 单聊

  • 主动消息发送频率限制(HTTP接口)
认证类型 场景 Bot 维度频控 单关系维度频控 每日上限
企业认证 单聊 10/qps 20/qpm 1000 条/用户
个人认证 单聊 10/qps 20/qpm 1000 条/用户
未认证 单聊 5/qps & 30/qpm 20/qpm 1000 条/用户
  • 互动召回消息:在用户主动与机器人对话之后,机器人在未来 30 天内可下发互动召回消息给用户(消息类型与当前机器人拥有的消息类型权限一致),每个周期内可下发一条。分别为:当天、1 - 3 天、3 - 7 天、7 - 30 天,合计:4 个周期。在发消息接口中使用 is_wakeup 字段声明使用该能力。

# 群聊

  • 主动消息发送频率限制(HTTP接口)
认证类型 场景 Bot 维度频控 单关系维度频控 每日上限
企业认证 60/qpm 20/qpm 1000 条/群
个人认证 60/qpm 20/qpm 1000 条/群
未认证 30/qpm 20/qpm 1000 条/群

# 文字子频道

  • 主动消息在频道主或管理设置了情况下,按设置的数量进行限频。在未设置的情况遵循如下限制:
    • 主动推送消息,默认每天往每个子频道可推送的消息数是 20 条,超过会被限制。
    • 主动推送消息在每个频道中,每天可以往 2 个子频道推送消息。超过后会被限制。
  • 不论主动消息还是被动消息,在一个子频道中,每秒 最多可发送 5 条 消息。
  • 被动回复消息有效期为 5 分钟,超时会发送失败。
  • 发送消息接口要求机器人接口需要连接到 WebSocket 上保持在线状态
  • 有关主动消息审核,可以通过 事件订阅 Intents 中审核事件 MESSAGE_AUDIT 返回 MessageAudited 对象获取结果。

# 频道私信

  • 私信场景下,每个机器人每天可以对一个用户发 2 条 主动消息。
  • 私信场景下,每个机器人每天累计可以发 200 条 主动消息。
  • 被动回复消息有效期为 5 分钟,超时会发送失败。

# 消息去重

相同 msg_id 可能多次推送,请结合 msg_seq 去重。被动回复时,相同的 msg_id + msg_seq 重复发送会失败,可递增 msg_seq 实现对同一消息的多次回复。

# 撤回消息

机器人可撤回自己发送的消息(发送超过 2 分钟不可撤回):

上次更新: 7/21/2026, 11:01:44 PM
手机QQ扫码
开发者社区
加入官方频道开发者社区