聊天管理类,该类负责收发消息、管理会话(加载,删除等)、下载消息附件等。

发送文文本消息示例如下:

let msg = ChatMessage.createTextMessage(
'asteriskhx2',
Date.now().toString(),
ChatMessageChatType.PeerChat
);
let callback = new (class s implements ChatMessageStatusCallback {
onProgress(progress: number): void {
chatlog.log('ConnectScreen.sendMessage.onProgress ', progress);
}
onError(error: ChatError): void {
chatlog.log('ConnectScreen.sendMessage.onError ', error);
}
onSuccess(): void {
chatlog.log('ConnectScreen.sendMessage.onSuccess');
}
onReadAck(): void {
chatlog.log('ConnectScreen.sendMessage.onReadAck');
}
onDeliveryAck(): void {
chatlog.log('ConnectScreen.sendMessage.onDeliveryAck');
}
onStatusChanged(status: ChatMessageStatus): void {
chatlog.log('ConnectScreen.sendMessage.onStatusChanged ', status);
}
})();
ChatClient.getInstance()
.chatManager.sendMessage(msg, callback)
.then((nmsg: ChatMessage) => {
chatlog.log(`${msg}, ${nmsg}`);
})
.catch();

Hierarchy

  • BaseManager
    • ChatManager

Constructors

Properties

Methods

addMessageListener addReaction createChatThread deleteConversation deleteConversationAllMessages deleteMessage deleteMessagesBeforeTimestamp deleteMessagesWithTimestamp destroyChatThread downloadAttachment downloadThumbnail fetchAllConversations fetchChatThreadFromServer fetchChatThreadWithParentFromServer fetchCombineMessageDetail fetchConversationsFromServerWithCursor fetchConversationsFromServerWithPage fetchGroupAcks fetchHistoryMessages fetchHistoryMessagesByOptions fetchJoinedChatThreadFromServer fetchJoinedChatThreadWithParentFromServer fetchLastMessageWithChatThread fetchMembersWithChatThreadFromServer fetchPinnedConversationsFromServerWithCursor fetchReactionDetail fetchReactionList fetchSupportedLanguages getAllConversations getConversation getConversationMessageCount getConversationUnreadCount getLatestMessage getLatestReceivedMessage getMessage getMessageThread getMessageWithTimestamp getMessages getMessagesWithKeyword getMessagesWithMsgType getReactionList getThreadConversation getUnreadCount groupAckCount importMessages insertMessage joinChatThread leaveChatThread markAllConversationsAsRead markAllMessagesAsRead markMessageAsRead modifyMessageBody onChatMessageThreadCreated onChatMessageThreadDestroyed onChatMessageThreadUpdated onChatMessageThreadUserRemoved onCmdMessagesReceived onConversationHasRead onConversationsUpdate onGroupMessageRead onMessageContentChanged onMessageReactionDidChange onMessagesDelivered onMessagesRead onMessagesRecalled onMessagesReceived onReadAckForGroupMessageUpdated pinConversation recallMessage removeAllMessageListener removeConversationFromServer removeMemberWithChatThread removeMessageListener removeMessagesFromServerWithMsgIds removeMessagesFromServerWithTimestamp removeReaction reportMessage resendMessage searchMsgFromDB sendConversationReadAck sendGroupMessageReadAck sendMessage sendMessageReadAck setConversationExtension setNativeListener translateMessage updateChatThreadName updateConversationMessage updateMessage _callMethod checkErrorFromResult handleDownloadAttachmentCallback handleDownloadThumbnailCallback handleGroupFileCallback handleMessageCallback handleResendMessageCallback handleSendMessageCallback

Constructors

Properties

_eventEmitter?: NativeEventEmitter
_messageListeners: Set<ChatMessageEventListener>
TAG: string = 'ChatManager'

Methods

  • 添加 Reaction。

    Parameters

    • reaction: string

      Reaction 的内容。

    • msgId: string

      要添加 Reaction 的消息 ID。

    Returns Promise<void>

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 删除指定会话及其本地历史消息。

    Parameters

    • convId: string

      会话 ID。

    • withMessage: boolean = true

      删除会话时是否同时删除本地的历史消息。 - (默认)true:删除; - false:不删除。

    Returns Promise<void>

    会话是否删除成功。 - true:是; - false: 否。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 清除内存和数据库中指定会话中的消息。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 删除指定消息。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 删除指定时间戳之前的所有本地消息。

    Parameters

    • timestamp: number

      指定的时间戳,单位为毫秒。

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 从本地数据库中删除指定时间段内的消息。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    • convId: string

      会话 ID。

    • convType: ChatConversationType

      会话类型,详见 ChatConversationType.

    • params: {
          endTs: number;
          startTs: number;
      }

      startTs: 删除消息的起始时间。Unix 时间戳,单位为毫秒。

      • endTs: 删除消息的结束时间。Unix 时间戳,单位为毫秒。
      • endTs: number
      • startTs: number

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 下载消息的附件。

    若附件自动下载失败,也可以调用此方法下载。

    Parameters

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 下载消息的缩略图。

    Parameters

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 从服务器获取会话列表。

    该功能需联系商务开通。开通后,用户默认可拉取 7 天内的 10 个会话(每个会话包含最新一条历史消息)。如需调整会话数量或时间限制请联系商务经理。

    Returns Promise<ChatConversation[]>

    会话列表。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 从服务器获取子区详情。

    Parameters

    • chatThreadId: string

      子区 ID。

    Returns Promise<undefined | ChatMessageThread>

    若调用成功,返回子区详情;失败则抛出异常。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 分页从服务器端获取指定群组的子区列表。

    Parameters

    • parentId: string

      父 ID,即群组 ID。

    • cursor: string = ''

      开始取数据的游标位置。首次获取数据时传 null 或空字符串,按子区创建时间的倒序获取数据。

    • pageSize: number = 20

      每页期望返回的子区数。取值范围为 [1,400]。

    Returns Promise<ChatCursorResult<ChatMessageThread>>

    若调用成功,返回子区列表;失败则抛出异常。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 获取合并类型消息中的原始消息列表。

    合并消息包含 1 条或者多条其它类型消息。

    Parameters

    Returns Promise<ChatMessage[]>

    消息 body 里面的原始消息列表。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError

  • 分页从服务器获取会话列表。

    SDK 按照会话活跃时间(会话的最后一条消息的时间戳)倒序返回会话列表。

    若会话中没有消息,则 SDK 按照会话创建时间的倒序返回会话列表。

    Parameters

    • Optional cursor: string
    • Optional pageSize: number

    Returns Promise<ChatCursorResult<ChatConversation>>

    会话列表。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError

  • 从服务器分页获取会话列表。

    Parameters

    • pageSize: number

      当前页码,从 1 开始。

    • pageNum: number

      每页获取的会话数量,取值范围为 [1,20]。

    Returns Promise<ChatConversation[]>

    当前用户的会话列表。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError

  • 从服务器分页获取群组消息已读回执详情。

    发送群组消息已读回执见 {@link #sendConversationReadAck(String)。

    Parameters

    • msgId: string

      消息 ID。

    • groupId: string
    • startAckId: string

      开始的已读回执 ID。如果该参数设置为空字符串或 null,从服务器接收已读回执时间的倒序开始获取。

    • pageSize: number = 0

      每页期望获取群消息已读回执的条数。

    Returns Promise<ChatCursorResult<ChatGroupMessageAck>>

    已读回执列表和用于下次查询的 cursor。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 根据消息拉取参数配置从服务器分页获取指定会话的历史消息。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    Returns Promise<ChatCursorResult<ChatMessage>>

    消息列表(不包含查询起始 ID 的消息)和下次查询的 cursor。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 分页从服务器获取当前用户加入的子区列表。

    Parameters

    • cursor: string = ''

      开始获取数据的游标位置。首次调用方法时传 null 或空字符串,按用户加入子区时间的倒序获取数据。

    • pageSize: number = 20

      每页期望返回的子区数。取值范围为 [1,400]。

    Returns Promise<ChatCursorResult<ChatMessageThread>>

    若调用成功,返回子区列表;失败则抛出异常。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 分页从服务器获取当前用户加入指定群组的子区列表。

    Parameters

    • parentId: string

      父 ID,即群组 ID。

    • cursor: string = ''

      开始取数据的游标位置。首次调用方法时传 null 或空字符串,按用户加入子区时间的倒序获取数据。

    • pageSize: number = 20

      每页期望返回的子区数。取值范围为 [1,400]。

    Returns Promise<ChatCursorResult<ChatMessageThread>>

    若调用成功,返回子区列表;失败则抛出异常。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 从服务器批量获取指定子区中的最新一条消息。

    Parameters

    • chatThreadIds: string[]

      要查询的子区 ID 列表,每次最多可传 20 个子区。

    Returns Promise<Map<string, ChatMessage>>

    若调用成功,返回子区的最新一条消息列表;失败则抛出异常。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 分页获取子区成员。

    子区所属群组的所有成员均可调用该方法。

    Parameters

    • chatThreadId: string

      子区 ID。

    • cursor: string = ''

      开始获取数据的游标位置,首次调用方法时传 null 或空字符串,按成员加入子区时间的正序获取数据。

    • pageSize: number = 20

      每页期望返回的成员数。取值范围为 [1,400]。

    Returns Promise<string[]>

    若调用成功,返回子区成员列表;失败则抛出异常。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 获取 Reaction 详情。

    Parameters

    • msgId: string

      消息 ID。

    • reaction: string

      Reaction 内容。

    • Optional cursor: string

      开始获取 Reaction 的游标位置。

    • Optional pageSize: number

      每页期望返回的 Reaction 数量。

    Returns Promise<ChatCursorResult<ChatMessageReaction>>

    若调用成功,返回 Reaction 详情。若返回 null,则所有数据均获取。 若调用失败,则抛出异常。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 获取 Reaction 列表。

    Parameters

    • msgIds: string[]

      消息 ID 列表。

    • groupId: string

      群组 ID,该参数仅在会话类型为群聊时有效。

    • chatType: ChatMessageChatType

      会话类型。

    Returns Promise<Map<string, ChatMessageReaction[]>>

    若调用成功,返回 Reaction 列表;失败则抛出异常。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 获取本地数据库中所有会话。

    该方法会先从内存中获取,如果未找到任何会话,从本地数据库获取。

    Returns Promise<ChatConversation[]>

    获取的会话。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 根据会话 ID 和会话类型获取会话。

    Parameters

    • convId: string

      会话 ID。

    • convType: ChatConversationType

      会话类型,详见 ChatConversationType

    • createIfNeed: boolean = true

      未找到指定会话时是否创建一个新会话。

      • (默认)true:是。
      • false:否。

    Returns Promise<undefined | ChatConversation>

    会话。未找到时返回空值。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • Gets the message count of the conversation.

    note If the conversation object does not exist, this method will create it.

    Parameters

    Returns Promise<number>

    The message count.

    Throws

    A description of the exception. See ChatError.

  • 获取指定会话中的未读消息数。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    Returns Promise<number>

    未读消息数。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 获取指定会话的最新一条消息。

    该操作不影响未读消息数量。

    SDK 会先从内存中获取。如果没有找到会从本地数据库中获取,并放到内存中。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    Returns Promise<undefined | ChatMessage>

    获取到的消息。如果没有找到返回 undefined

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 获取指定会话最新收到的一条消息。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    Returns Promise<undefined | ChatMessage>

    消息实例。如果没有找到返回 undefined

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 从本地数据库获取指定 ID 的消息对象。

    Parameters

    • msgId: string

      消息 ID。

    Returns Promise<undefined | ChatMessage>

    获取的消息对象。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 获取本地子区详情。

    Parameters

    • msgId: string

      子区 ID。

    Returns Promise<undefined | ChatMessageThread>

    若调用成功,返回子区详情;失败则抛出异常。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError

  • 从本地数据库获取指定会话在一段时间内的消息。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    • convId: string

      会话 ID。

    • convType: ChatConversationType

      会话类型,详见 ChatConversationType

    • startTime: number

      搜索起始时间戳,单位为毫秒。

    • endTime: number

      搜索结束时间戳,单位为毫秒。

    • direction: ChatSearchDirection = ChatSearchDirection.UP

      消息查询方向,详见 ChatSearchDirection

      • (默认)ChatSearchDirection.UP:按消息中的时间戳 (sortMessageByServerTime) 的倒序加载。
      • ChatSearchDirection.DOWN:按消息中的时间戳 (sortMessageByServerTime) 的顺序加载。
    • count: number = 20

      获取的最大消息数量。取值范围为 [1,400]。

    Returns Promise<ChatMessage[]>

    消息列表。若未获取到消息,返回空列表。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 从本地数据库获取指定会话中一定数量的消息。

    注意 获取到的消息也会放入到内存中。 注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    • convId: string

      会话 ID。

    • convType: ChatConversationType

      会话类型,详见 ChatConversationType

    • startMsgId: string

      开始消息 ID。若该参数设为空或 null,SDK 按服务器接收消息时间的倒序加载消息。

    • direction: ChatSearchDirection = ChatSearchDirection.UP

      消息查询方向,详见 ChatSearchDirection

      • (默认)ChatSearchDirection.UP:按消息中的时间戳 (sortMessageByServerTime) 的倒序加载。
      • ChatSearchDirection.DOWN:按消息中的时间戳 (sortMessageByServerTime) 的顺序加载。
    • loadCount: number = 20

      获取的最大消息数量。取值范围为 [1,400]。

    Returns Promise<ChatMessage[]>

    消息列表。若未获取到消息,返回空列表。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 从本地数据库获取会话中的指定用户在一定时间段内发送的特定消息。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    • convId: string

      会话 ID。

    • convType: ChatConversationType

      会话类型,详见 ChatConversationType

    • keywords: string

      查询的关键字。

    • direction: ChatSearchDirection = ChatSearchDirection.UP

      消息查询方向,详见 ChatSearchDirection

      • (默认)ChatSearchDirection.UP:按消息中的时间戳 (sortMessageByServerTime) 的倒序加载。
      • ChatSearchDirection.DOWN:按消息中的时间戳 (sortMessageByServerTime) 的顺序加载。
    • timestamp: number = -1

      搜索的开始时间戳,单位为毫秒。

    • count: number = 20

      获取的最大消息数量。取值范围为 [1,400]。

    • Optional sender: string

      消息发送者,该参数也可以在搜索群组消息和聊天室消息时使用。

    Returns Promise<ChatMessage[]>

    消息列表。若未获取到消息,返回空列表。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 从本地数据库获取会话中的指定用户发送的某些类型的消息。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    • convId: string

      会话 ID。

    • convType: ChatConversationType

      会话类型,详见 ChatConversationType

    • msgType: ChatMessageType

      消息类型。详见 ChatMessageType

    • direction: ChatSearchDirection = ChatSearchDirection.UP

      消息查询方向,详见 ChatSearchDirection

      • (默认)ChatSearchDirection.UP:按消息中的时间戳 (sortMessageByServerTime) 的倒序加载。
      • ChatSearchDirection.DOWN:按消息中的时间戳 (sortMessageByServerTime) 的顺序加载。
    • timestamp: number = -1

      搜索的起始时间戳,单位为毫秒。

    • count: number = 20

      获取的最大消息数量。

    • Optional sender: string

      消息发送方。该参数也可以在搜索群组消息或聊天室消息时使用。

    Returns Promise<ChatMessage[]>

    消息列表。若未获取到,返回空列表。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 获取指定消息的 Reaction 列表。

    Parameters

    • msgId: string

      消息 ID。

    Returns Promise<ChatMessageReaction[]>

    若调用成功,则返回 Reaction 列表;失败则抛出异常。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 根据指定会话 ID 获取本地子区会话对象。

    Parameters

    • convId: string

      会话 ID。

    • createIfNeed: boolean = true

      未找到会话时是否自动创建该会话:

      • (默认) true: 是;
      • false: 否。

    Returns Promise<undefined | ChatConversation>

    子区会话实例。如果未找到会话,SDK 返回空值。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError

  • 获取未读消息数。

    Returns Promise<number>

    未读消息数。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 获取群组消息的已读人数。

    Parameters

    • msgId: string

      消息 ID。

    Returns Promise<number>

    若调用成功,返回群组消息的已读人数;失败则抛出异常。

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 将消息导入本地数据库。

    你只能将你发送或接收的消息导入本地数据库。

    Parameters

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 在本地会话中插入一条消息。 例如,收到一些推送消息后,可以构建消息,写入会话。若该消息已存在(msgId 或 localMsgId 已存在),该插入操作失败。 消息会根据消息里的 Unix 时间戳插入本地数据库,SDK 会更新会话的 latestMessage 等属性。

    Parameters

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 退出子区。

    子区中的所有成员均可调用该方法。

    多设备登录情况下,注意以下几点:

    Parameters

    • chatThreadId: string

      要退出的子区的 ID。

    Returns Promise<void>

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 将所有的会话都设成已读。

    该方法仅对本地会话有效。

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 将所有消息标为已读。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 将指定消息标为已读。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 修改文本消息。

    调用该方法修改消息内容后,本地和服务端的消息均会修改。

    调用该方法只能修改单聊和群聊中的文本消息,不能修改聊天室消息。

    Parameters

    Returns Promise<ChatMessage>

    修改后的消息。 详见 ChatMessageBody

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError

  • Parameters

    • params: any

    Returns void

  • Parameters

    • params: any

    Returns void

  • Parameters

    • params: any

    Returns void

  • Parameters

    • params: any

    Returns void

  • Parameters

    • messages: any[]

    Returns void

  • Parameters

    • params: any

    Returns void

  • Parameters

    • messages: any[]

    Returns void

  • Parameters

    • params: any

    Returns void

  • Parameters

    • params: any

    Returns void

  • Parameters

    • messages: any[]

    Returns void

  • Parameters

    • messages: any[]

    Returns void

  • Parameters

    • messages: any[]

    Returns void

  • Parameters

    • messages: any[]

    Returns void

  • Parameters

    • params: any

    Returns void

  • 设置会话是否置顶。

    Parameters

    • convId: string

      会话 ID.

    • isPinned: boolean

      是否置顶。

      • true:置顶;
        • false: 取消置顶。

    Returns Promise<void>

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError

  • 撤回发送成功的消息。

    Parameters

    • msgId: string

      消息 ID。

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 移除所有消息监听器。

    Returns void

  • 删除服务端的指定会话及其历史消息。

    Parameters

    • convId: string

      会话 ID。

    • convType: ChatConversationType

      会话类型,详见 ChatConversationType

    • isDeleteMessage: boolean = true

      删除会话时是否同时删除历史消息。

      • (默认) true:是;
      • false: 否。

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 移除子区成员。

    只有子区所属群主、群管理员及子区创建者可调用该方法。

    被移出的成员会收到 ChatMessageEventListener.onChatMessageThreadUserRemoved 回调。

    你可通过设置 ChatMessageEventListener 监听子区事件。

    Parameters

    • chatThreadId: string

      子区 ID。

    • memberId: string

      被移出子区的成员的用户 ID。

    Returns Promise<void>

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 根据消息 ID 单向删除漫游消息

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    • convId: string

      会话ID。

    • convType: ChatConversationType

      会话类型。

    • msgIds: string[]

      将要删除的消息ID列表。

    Returns Promise<void>

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError

  • 根据消息 时间戳 单向删除漫游消息

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    • convId: string

      会话ID。

    • convType: ChatConversationType

      会话类型。

    • timestamp: number

      UNIX 时间戳,单位为毫秒。若消息的 UNIX 时间戳小于设置的值,则会被删除。

    Returns Promise<void>

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError

  • 删除 Reaction。

    Parameters

    • reaction: string

      要删除的 Reaction。

    • msgId: string

      添加了该 Reaction 的消息 ID。

    Returns Promise<void>

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 举报消息。

    Parameters

    • msgId: string

      要举报的消息 ID。

    • tag: string

      非法消息的标签。你需要填写自定义标签,例如涉政广告

    • reason: string

      举报原因。你需要自行填写举报原因。

    Returns Promise<void>

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 重发消息。

    Parameters

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 从本地数据库获取指定会话中包含特定关键字的消息。

    Parameters

    • keywords: string

      查询关键字。

    • timestamp: number = -1

      查询的起始消息 Unix 时间戳,单位为毫秒。该参数设置后,SDK 从指定时间戳的消息开始,按消息搜索方向获取。 如果该参数设置为负数,SDK 从当前时间开始搜索。

    • maxCount: number = 20

      每次获取的最大消息数。取值范围为 [1,400]。

    • from: string = ''

      单聊或群聊中的消息发送方的用户 ID。若设置为 null 或空字符串,SDK 将在整个会话中搜索消息。

    • direction: ChatSearchDirection = ChatSearchDirection.UP

      消息搜索方向。详见 ChatSearchDirection. - (Default) ChatSearchDirection.UP: 按照消息中的时间戳的逆序查询 - ChatSearchDirection.DOWN: 按照消息中的时间戳的正序查询。

    Returns Promise<ChatMessage[]>

    消息列表(不包含查询起始时间戳对应的消息)。若未查找到任何消息,返回空列表。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 发送会话的已读回执。

    注意

    Parameters

    • convId: string

      会话 ID。

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 发送群消息已读回执。

    Warning

    Parameters

    • msgId: string

      消息 ID。

    • groupId: string

      群组 ID。

    • Optional opt: {
          content: string;
      }

      扩展信息。用户通过定义关键字指定动作或命令。

      • content: string

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 发送一条消息。

    注意

    • 如果是语音,图片类等有附件的消息,SDK 会自动上传附件。
    • 可以通过 ChatOptions 设置是否上传到聊天服务器。

    Parameters

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 发送消息的已读回执。

    该方法只针对单聊会话。

    注意

    该方法只有在 ChatOptions.requireAcktrue 时才生效。

    若发送群消息已读回执,详见 sendGroupMessageReadAck

    推荐进入会话页面时调用 sendConversationReadAck,其他情况下调用该方法以减少调用频率。

    Parameters

    • message: ChatMessage

      需要发送已读回执的消息。

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 设置会话的扩展属性。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    • convId: string

      会话 ID。

    • convType: ChatConversationType

      会话类型,详见 ChatConversationType

    • ext: {
          [key: string]: string | number | boolean;
      }

      扩展信息。可添加自定义扩展信息。

      • [key: string]: string | number | boolean

    Returns Promise<void>

  • Parameters

    • event: NativeEventEmitter

    Returns void

  • 翻译一条文本消息。

    Parameters

    • msg: ChatMessage

      要翻译的文本消息。

    • languages: string[]

      目标语言。

    Returns Promise<ChatMessage>

    译文。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 修改子区名称。

    只有子区所属群主、群管理员及子区创建者可调用该方法。

    子区所属群组的成员会收到 ChatMessageEventListener.onChatMessageThreadUpdated 回调。

    你可通过设置 ChatMessageEventListener 监听子区事件。

    Parameters

    • chatThreadId: string

      子区 ID。

    • newName: string

      子区的新名称。长度不超过 64 个字符。

    Returns Promise<void>

    Throws

    如果有异常会在此抛出,包括错误码和错误信息,详见 ChatError.

  • 更新本地数据库的消息。

    消息更新后,消息 ID 不会修改,SDK 会自动更新会话的 latestMessage 等属性。

    注意 调用该方法,如果会话对象不存在则创建。

    Parameters

    Returns Promise<void>

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • 更新本地消息。

    该方法会同时更新本地内存和数据库中的消息。

    Parameters

    Returns Promise<ChatMessage>

    更新后的消息。

    Throws

    如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

  • Type Parameters

    • T

    Parameters

    • method: string
    • Optional args: {}

      Returns Promise<T>

    • Parameters

      • result: any

      Returns void

    • Parameters

      Returns void

    Generated using TypeDoc