消息话题管理器,负责消息话题创建、查询、成员管理、生命周期操作和事件监听。

Constructors

Properties

key: "chatThreadManager" = ...
capabilities: readonly ["rawNotify:chatThread"] = ...

[zh-CN] 管理器声明的能力列表。 [en-US] Capabilities declared by the manager.

Methods

  • 注册 ChatThread 事件处理器。只包含移动端对齐的 4 个公开事件,不包含 onChatThreadChange

    Parameters

    • id: string

      事件处理器 ID。使用相同 ID 重复注册时,会覆盖此前的处理器。

    • handlers: ChatThreadEventHandlerMap

      消息话题事件处理器映射。

    Returns void

    无返回值。

    client.chatThreadManager.addEventHandler('thread-ui', {
    onChatThreadCreated: event => {
    console.log(event.chatThreadId);
    },
    });
  • 移除指定的消息话题事件处理器。

    Parameters

    • id: string

      要移除的事件处理器 ID。

    Returns void

    无返回值。

    client.chatThreadManager.removeEventHandler('thread-ui');
    
  • 获取绑定指定 chatThreadId 的 ChatThread 实体对象。

    Parameters

    • chatThreadId: string

      消息话题 ID。

    Returns ChatThread

    返回可复用的 ChatThread 实体对象。

    const thread = client.chatThreadManager.getChatThread('thread-1');
    const detail = await thread.getInfo();
  • 创建消息话题。

    Parameters

    Returns Promise<CreateChatThreadResult>

    返回新建消息话题 ID。

    const result = await client.chatThreadManager.createChatThread({
    parentId: 'group-1',
    name: 'Topic',
    messageId: 'msg-1',
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入有效的父群组 ID、子区名称和父消息 ID
    201 用户未登录 401 重新登录后再创建子区
    210 无权限创建子区 403 确认当前用户已加入父群组,并检查控制台 Thread 能力开通状态
    606 群组或父消息不存在 404 确认父群组和父消息仍存在后重试
    4 超过服务限制 400 减少创建频率,清理不需要的子区,或联系服务端提升配额
    301 请求服务超时 504 稍后重试
    303 服务请求通用错误 500 稍后重试或联系服务端排查
  • 查询指定群组下的消息话题列表。

    Parameters

    Returns Promise<ChatThreadListResult>

    返回消息话题列表和下一页游标。

    const page = await client.chatThreadManager.getChatThreadList({
    parentId: 'group-1',
    pageSize: 20,
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入有效的父群组 ID、分页大小和游标
    201 用户未登录 401 重新登录后再查询子区列表
    210 无权限查询子区列表 403 确认当前用户已加入父群组
    606 群组不存在 404 确认父群组 ID 正确且群组仍存在
    301 请求服务超时 504 稍后重试
    303 服务请求通用错误 500 稍后重试或联系服务端排查
  • 查询当前用户已加入的消息话题列表。

    Parameters

    Returns Promise<ChatThreadListResult>

    返回已加入消息话题列表和下一页游标。

    const page = await client.chatThreadManager.getJoinedChatThreadList({
    parentId: 'group-1',
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入有效的分页参数;如指定 parentId,应传入非空字符串
    201 用户未登录 401 重新登录后再查询已加入子区
    210 无权限查询已加入子区 403 确认当前用户已加入目标群组
    606 群组不存在 404 确认父群组 ID 正确且群组仍存在
    301 请求服务超时 504 稍后重试
    303 服务请求通用错误 500 稍后重试或联系服务端排查
  • 查询消息话题详情。

    Parameters

    Returns Promise<ChatThreadSummary>

    返回消息话题详情。

    const detail = await client.chatThreadManager.getChatThreadInfo({
    chatThreadId: 'thread-1',s
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入有效的子区 ID
    201 用户未登录 401 重新登录后再查询子区详情
    210 无权限查询子区详情 403 确认当前用户已加入父群组或目标子区
    606 子区不存在 404 确认子区 ID 正确且子区仍存在
    301 请求服务超时 504 稍后重试
    303 服务请求通用错误 500 稍后重试或联系服务端排查
  • 加入消息话题。

    Parameters

    Returns Promise<void>

    成功时无返回业务数据。

    await client.chatThreadManager.joinChatThread({ chatThreadId: 'thread-1' });
    
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入有效的子区 ID
    201 用户未登录 401 重新登录后再加入子区
    210 无权限加入子区 403 确认当前用户已加入父群组且目标子区可加入
    606 子区不存在 404 确认子区 ID 正确且子区仍存在
    4 超过服务限制 400 减少操作频率或联系服务端提升配额
    301 请求服务超时 504 稍后重试
    303 服务请求通用错误 500 稍后重试或联系服务端排查
  • 退出消息话题。

    Parameters

    Returns Promise<void>

    成功时无返回业务数据。

    await client.chatThreadManager.leaveChatThread({ chatThreadId: 'thread-1' });
    
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入有效的子区 ID
    201 用户未登录 401 重新登录后再退出子区
    210 无权限退出子区 403 确认当前用户已加入目标子区且允许退出
    606 子区不存在 404 确认子区 ID 正确且子区仍存在
    301 请求服务超时 504 稍后重试
    303 服务请求通用错误 500 稍后重试或联系服务端排查
  • 解散消息话题。

    Parameters

    Returns Promise<void>

    成功时无返回业务数据。

    await client.chatThreadManager.destroyChatThread({ chatThreadId: 'thread-1' });
    
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入有效的子区 ID
    201 用户未登录 401 重新登录后再解散子区
    210 无权限解散子区 403 使用有管理权限的账号重试
    606 子区不存在 404 确认子区 ID 正确且子区仍存在
    301 请求服务超时 504 稍后重试
    303 服务请求通用错误 500 稍后重试或联系服务端排查
  • 更新消息话题名称。

    Parameters

    Returns Promise<void>

    成功时无返回业务数据。

    await client.chatThreadManager.updateChatThreadName({
    chatThreadId: 'thread-1',
    name: 'New topic',
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入有效的子区 ID 和新名称
    201 用户未登录 401 重新登录后再更新子区名称
    210 无权限更新子区名称 403 使用群主、管理员或有权限的账号重试
    606 子区不存在 404 确认子区 ID 正确且子区仍存在
    301 请求服务超时 504 稍后重试
    303 服务请求通用错误 500 稍后重试或联系服务端排查
  • 查询消息话题成员列表。

    Parameters

    Returns Promise<ChatThreadMemberListResult>

    返回成员列表和下一页游标。

    const page = await client.chatThreadManager.getChatThreadMemberList({
    chatThreadId: 'thread-1',
    pageSize: 20,
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入有效的子区 ID、分页大小和游标
    201 用户未登录 401 重新登录后再查询子区成员
    210 无权限查询子区成员 403 确认当前用户已加入父群组或目标子区
    606 子区不存在 404 确认子区 ID 正确且子区仍存在
    301 请求服务超时 504 稍后重试
    303 服务请求通用错误 500 稍后重试或联系服务端排查
  • 从消息话题移除成员。

    Parameters

    Returns Promise<void>

    成功时无返回业务数据。

    await client.chatThreadManager.removeChatThreadMember({
    chatThreadId: 'thread-1',
    memberId: 'user-1',
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入有效的子区 ID 和成员 ID
    201 用户未登录 401 重新登录后再移除子区成员
    210 无权限移除子区成员 403 使用群主、管理员或有权限的账号重试
    606 子区或成员不存在 404 确认子区和目标成员关系仍存在
    301 请求服务超时 504 稍后重试
    303 服务请求通用错误 500 稍后重试或联系服务端排查
  • 批量查询消息话题最后一条消息。

    Parameters

    Returns Promise<ChatThreadLastMessageListResult>

    返回各消息话题的最后一条消息摘要。

    const result = await client.chatThreadManager.getChatThreadLastMessageList({
    chatThreadIds: ['thread-1', 'thread-2'],
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效 - 传入 1 到 20 个有效的子区 ID
    201 用户未登录 401 重新登录后再查询子区最后消息
    210 无权限查询子区最后消息 403 确认当前用户有权限访问传入的所有子区
    606 子区不存在 404 确认子区 ID 正确且子区仍存在
    301 请求服务超时 504 稍后重试
    303 服务请求通用错误 500 稍后重试或联系服务端排查