浏览文档目录

指南

调度成员

增值能力:以群内可调度成员身份发消息(默认未开通,需申请)。

适用场景

在已授权的机器人上,用 listChatVirtualMembers 列出群内可调度成员,再用 simulateSendMessage 以该成员身份发送文本 / 图片 / 文件 / 音视频 / 位置。发送成功会投递审计事件。

准入

  • Admin 已为该 Bot 开启 allow_virtual_user_operation(控制台或运营侧开通)。
  • 机器人是目标群的活跃成员;目标调度成员 status=active 且已入群。
  • 未开通、Bot 被移出群或禁言、目标身份停用或不在群内时返回 403。发送在提交消息前再次校验,列表缓存不是发送许可。

步骤

  1. GET /api/v1/bots/listChatVirtualMembers?chat_id=<群会话ID> 取 virtual_user_id。
  2. 媒体消息先走 文件上传 拿到 file_id。
  3. POST /api/v1/bots/simulateSendMessage:公共必填 chat_id、virtual_user_id;按 type 填 text / file_id / 坐标等。

列表分页

每页 limit 为 1–200。下一页传 pagination.next_cursor,直到 has_more=false;过滤停用或禁言身份后可能出现空页,仍需按 has_more 继续。total 是展示人数。兼容 offset 仅支持 0–1000,不能与 cursor 同时传非零值。游标绑定群、Bot 及名册版本,过期返回 409,从首页重新枚举;尚未完成独立名册切换的群也返回 409。

示例

curl -G "$API/bots/listChatVirtualMembers" \
  -H "Authorization: Bearer $SOCHAT_BOT_TOKEN" \
  --data-urlencode "chat_id=<chat_id>"

curl -X POST "$API/bots/simulateSendMessage" \
  -H "Authorization: Bearer $SOCHAT_BOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "chat_id": "<chat_id>",
  "virtual_user_id": "<virtual_user_id>",
  "type": "text",
  "text": "以调度成员身份发送"
}'

约束与错误

  • type 缺省为 text;支持 text、photo/image、document/file、audio、video、location。
  • 文本 1–1000 字;媒体需合法 file_id;频率计入机器人发送配额。
  • Node / Java SDK 均已封装上述方法。

下一步

调度成员 API · 文件上传 · 会话读取(含 getMyChats)。