绑定固定 chatRoomId 的单聊天室上下文对象。

Constructors

Properties

chatRoomId: string

Methods

  • 获取当前聊天室详情。

    Returns Promise<ChatRoomDetail>

    返回聊天室详情、公告、权限与当前用户状态。

    const chatRoom = client.chatRoomManager.getChatRoom('chatroom-1');
    const detail = await chatRoom.getInfo();
    Code 含义 HTTP 处理建议 可重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 刷新并返回当前聊天室详情,等价于 getInfo()

    Returns Promise<ChatRoomDetail>

    返回最新聊天室详情。

    const detail = await chatRoom.refresh();
    
    Code 含义 HTTP 处理建议 可重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 更新当前聊天室名称、描述或最大成员数。

    Parameters

    Returns Promise<ChatRoomUpdateResult>

    返回各字段是否更新成功。

    await chatRoom.updateInfo({ name: 'SDK room' });
    
    Code 含义 HTTP 处理建议 可重试
    210 用户无权限:需要聊天室管理员权限 401 使用聊天室 owner/admin 账号重试
    110 参数无效:聊天室信息长度或范围超限 403 缩短名称/描述,或传入允许范围内的 maxMembers
    110 参数无效:聊天室字段不支持修改 400 仅提交 name、description、maxMembers 等允许修改的字段
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 退出当前聊天室。

    Returns Promise<void>

    成功时无返回业务数据。

    await chatRoom.leaveChatRoom();
    
    Code 含义 HTTP 处理建议 可重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 获取当前聊天室成员列表。

    Parameters

    • query: CursorPageParams = {}

      游标分页参数;未传时使用服务端默认分页。

    Returns Promise<ChatRoomMemberListResult>

    返回成员列表、游标与是否还有下一页。

    const members = await chatRoom.getMembers({ pageSize: 20 });
    
    Code 含义 HTTP 处理建议 可重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 从当前聊天室移除成员。

    Parameters

    Returns Promise<ChatRoomMemberActionListResult>

    返回每个目标用户的移除结果。

    const result = await chatRoom.removeMembers({ userIds: ['user-1'] });
    
    Code 含义 HTTP 处理建议 可重试
    210 用户无权限:没有移除聊天室成员的权限 401 使用聊天室 owner/admin 账号重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 获取当前聊天室管理员列表。

    Returns Promise<readonly UserInfo[]>

    返回管理员用户资料列表。

    const admins = await chatRoom.getAdminList();
    
    Code 含义 HTTP 处理建议 可重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 将用户设置为当前聊天室管理员。

    Parameters

    Returns Promise<void>

    成功时无返回业务数据。

    await chatRoom.addAdmin({ userId: 'user-1' });
    
    Code 含义 HTTP 处理建议 可重试
    210 用户无权限:只有聊天室所有者可设置管理员 401 使用聊天室 owner 账号重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
    204 用户不存在 404 确认 userId 对应用户存在
  • 移除当前聊天室管理员。

    Parameters

    Returns Promise<void>

    成功时无返回业务数据。

    await chatRoom.removeAdmin({ userId: 'user-1' });
    
    Code 含义 HTTP 处理建议 可重试
    210 用户无权限:只有聊天室所有者可移除管理员 401 使用聊天室 owner 账号重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 获取当前聊天室禁言列表。

    Parameters

    • Optionalpage: ChatRoomPageParams

      页码分页参数;未传时使用服务端默认分页。

    Returns Promise<readonly ChatRoomMuteEntry[]>

    返回禁言用户与过期时间列表。

    const mutes = await chatRoom.getMuteList({ pageNum: 1, pageSize: 20 });
    
    Code 含义 HTTP 处理建议 可重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 禁言当前聊天室成员。

    Parameters

    Returns Promise<void>

    成功时无返回业务数据。

    await chatRoom.muteMembers({ userIds: ['user-1'], duration: 3600 });
    
    Code 含义 HTTP 处理建议 可重试
    110 参数无效:聊天室禁言参数不合法 400 检查 userIds 与 muteDuration,确保传入有效值
    210 用户无权限:没有禁言聊天室成员的权限 401 使用聊天室 owner/admin 账号重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 解除当前聊天室成员禁言。

    Parameters

    Returns Promise<void>

    成功时无返回业务数据。

    await chatRoom.unmuteMembers({ userIds: ['user-1'] });
    
    Code 含义 HTTP 处理建议 可重试
    210 用户无权限:没有解除聊天室成员禁言的权限 401 使用聊天室 owner/admin 账号重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 开启当前聊天室全员禁言。

    Returns Promise<void>

    成功时无返回业务数据。

    await chatRoom.muteAllMembers();
    
    Code 含义 HTTP 处理建议 可重试
    210 用户无权限:没有开启全员禁言的权限 401 使用聊天室 owner/admin 账号重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 关闭当前聊天室全员禁言。

    Returns Promise<void>

    成功时无返回业务数据。

    await chatRoom.unmuteAllMembers();
    
    Code 含义 HTTP 处理建议 可重试
    210 用户无权限:没有关闭全员禁言的权限 401 使用聊天室 owner/admin 账号重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 查询当前用户是否在当前聊天室禁言列表中。

    Returns Promise<ChatRoomMuteStatus>

    返回当前用户是否被禁言及过期时间。

    const status = await chatRoom.checkIfInMuteList();
    
    Code 含义 HTTP 处理建议 可重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 获取当前聊天室黑名单。

    Parameters

    • Optionalpage: ChatRoomPageParams

      页码分页参数;未传时使用服务端默认分页。

    Returns Promise<readonly ChatRoomBlocklistEntry[]>

    返回黑名单用户列表。

    const blocklist = await chatRoom.getBlocklist({ pageNum: 1, pageSize: 20 });
    
    Code 含义 HTTP 处理建议 可重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 将成员加入当前聊天室黑名单。

    Parameters

    Returns Promise<ChatRoomMemberActionListResult>

    返回每个目标用户的拉黑结果。

    const result = await chatRoom.blockMembers({ userIds: ['user-1'] });
    
    Code 含义 HTTP 处理建议 可重试
    210 用户无权限:没有添加聊天室黑名单的权限 401 使用聊天室 owner/admin 账号重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
    204 用户不存在 404 确认 userIds 中的用户都已存在
  • 从当前聊天室黑名单移除成员。

    Parameters

    Returns Promise<ChatRoomMemberActionListResult>

    返回每个目标用户的移除结果。

    const result = await chatRoom.unblockMembers({ userIds: ['user-1'] });
    
    Code 含义 HTTP 处理建议 可重试
    210 用户无权限:没有移除聊天室黑名单的权限 401 使用聊天室 owner/admin 账号重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 获取当前聊天室 allowlist。

    Returns Promise<readonly { user: UserInfo }[]>

    返回 allowlist 用户列表。

    const allowlist = await chatRoom.getAllowlist();
    
    Code 含义 HTTP 处理建议 可重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 将用户加入当前聊天室 allowlist。

    Parameters

    Returns Promise<ChatRoomMemberActionListResult>

    返回每个目标用户的添加结果。

    const result = await chatRoom.addUsersToAllowlist({ userIds: ['user-1'] });
    
    Code 含义 HTTP 处理建议 可重试
    210 用户无权限:没有添加聊天室 allowlist 的权限 401 使用聊天室 owner/admin 账号重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
    204 用户不存在 404 确认 userIds 中的用户都已存在
  • 从当前聊天室 allowlist 移除用户。

    Parameters

    Returns Promise<ChatRoomMemberActionListResult>

    返回每个目标用户的移除结果。

    const result = await chatRoom.removeUsersFromAllowlist({ userIds: ['user-1'] });
    
    Code 含义 HTTP 处理建议 可重试
    210 用户无权限:没有移除聊天室 allowlist 的权限 401 使用聊天室 owner/admin 账号重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 查询当前用户是否在当前聊天室 allowlist 中。

    Returns Promise<boolean>

    返回当前用户是否在白名单中。

    const status = await chatRoom.checkIfInAllowList();
    
    Code 含义 HTTP 处理建议 可重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 获取当前聊天室公告。

    Returns Promise<ChatRoomAnnouncement>

    返回聊天室 ID 与公告内容。

    const announcement = await chatRoom.getAnnouncement();
    
    Code 含义 HTTP 处理建议 可重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 更新当前聊天室公告。

    Parameters

    Returns Promise<void>

    成功时无返回业务数据。

    await chatRoom.updateAnnouncement({ announcement: 'Welcome' });
    
    Code 含义 HTTP 处理建议 可重试
    210 用户无权限:需要聊天室管理员权限 401 使用聊天室 owner/admin 账号重试
    110 参数无效:聊天室公告长度超限 403 缩短公告内容后重试
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 获取当前聊天室属性。

    Parameters

    Returns Promise<ChatRoomAttributesSnapshot>

    返回聊天室属性快照。

    const snapshot = await chatRoom.getAttributes({ keys: ['topic'] });
    
    Code 含义 HTTP 处理建议 可重试
    110 参数无效:属性 key 列表不合法 400 确保 keys 为合法非空字符串数组,或省略 keys 获取全部属性
    705 聊天室不存在 404 确认 chatRoomId 正确且聊天室仍存在
  • 设置当前聊天室属性。

    Parameters

    Returns Promise<ChatRoomAttributeMutationResult>

    返回成功应用和失败的属性 key。

    const result = await chatRoom.setAttributes({
    attributes: { topic: 'sdk' },
    autoDelete: true,
    });
    Code 含义 HTTP 处理建议 可重试
    110 参数无效:聊天室属性数量或字段不合法 400 确保每次设置的属性数量不超过限制,且 key/value 均为合法字符串
    702 未加入聊天室 400 先加入聊天室后重试
    703 聊天室属性权限拒绝 400 仅修改自己创建的属性,或使用 forced 模式覆盖
    4 聊天室属性数量或总量超限 400 删除不再使用的属性后重试,或联系服务端提升配额
    210 用户无权限:聊天室属性写入被拒绝 401 确认当前用户已加入聊天室,并仅修改自己有权限操作的属性
  • 删除当前聊天室属性。

    Parameters

    Returns Promise<ChatRoomAttributeMutationResult>

    返回成功删除和失败的属性 key。

    const result = await chatRoom.removeAttributes({ keys: ['topic'] });
    
    Code 含义 HTTP 处理建议 可重试
    110 参数无效:聊天室属性 key 列表不合法 400 确保每次删除的属性数量不超过限制,且 keys 为合法非空字符串数组
    702 未加入聊天室 400 先加入聊天室后重试
    703 聊天室属性权限拒绝 400 仅删除自己创建的属性,或使用 forced 模式
    4 聊天室属性操作超限 400 减少单次操作的属性数量
    210 用户无权限:聊天室属性删除被拒绝 401 确认当前用户已加入聊天室,并仅删除自己有权限操作的属性