转发消息
逐条转发
逐条转发是将原消息按一一对应的方式向会话发送,生成的新消息内容将与原消息一致。
接口定义
swift
func forwardMessage(fromChatId: String, msgId: String, toChatId: String, notices: [KIMNotice]? = nil, msgConfig: KIMMsgConfig? = nil, pushConfig: KIMPushConfig? = nil, complete: ((_ msg: KIMMessage?, _ error: KIMError?) -> Void)?)
Objective-C
- (void)forwardMessageFromChatId:(NSString *)fromChatId msgId:(NSString *)msgId toChatId:(NSString *)toChatId notices:(NSArray<KIMNotice *> *)notices msgConfig:(KIMMsgConfig *)msgConfig pushConfig:(KIMPushConfig *)pushConfig complete:(void (^)(KIMMessage *, KIMError *))complete;
参数说明
字段 | 类型 | 说明 |
---|---|---|
fromChatId | String | 转发消息来源所在会话 id |
msgId | String | 转发消息 id |
toChatId | String | 向目标会话转发消息的会话 id |
msgConfig | KIMMsgConfig | 消息配置 |
pushConfig | KIMPushConfig | 推送配置 |
complete | (_ msg: KIMMessage?, _ error: KIMError?) -> Void)? | 转发结果回调 msg:转发成功生成的新消息 error:错误信息 |
代码示例
swift
KIMCore.shared.forwardMessage(fromChatId: fromChatId, msgId: msgId, toChatId: toChatId, msgConfig: msgConfig, pushConfig: pushConfig) { msg, error in
}
合并转发
合并转发是将原消息按集合成一条类型为kim-mergeforward
的合并消息,原消息将成为新消息的一部分。
接口定义
swift
func forwardMergeMessage(fromChatId: String, msgIds: [String], toChatIds: [String], complete: ((_ msgs: [KIMMessage]?, _ fails: [KIMMsgFailureDesc]?, _ error: KIMError?) -> Void)?)
Objective-C
- (void)forwardMergeMessageFromChatId:(NSString *)fromChatId msgIds:(NSArray<NSString *> *)msgIds toChatIds:(NSArray<NSString *> *)toChatIds complete:(void (^ _Nullable)(NSArray<KIMMessage *> *, NSArray<KIMMsgFailureDesc *> *, KIMError *))complete;
参数说明
字段 | 类型 | 说明 |
---|---|---|
fromChatId | String | 转发消息来源所在会话 id, 仅支持单一会话消息来源 |
msgIds | [String] | 转发消息 id 组,可同时转发多条消息 |
toChatIds | [String] | 向目标会话转发消息的会话 id,可同时向多会话转发消息 |
complete | (_ msgs: [KIMMessage]?, _ fails: [KIMMsgFailureDesc]?, _ error: KIMError?) -> Void)? | 转发结果回调 msgs:转发成功生成的新消息数组 fails:转发失败的会话及对应的消息 error:失败时的错误信息 |
代码示例
swift
KIMCore.shared.forwardMergeMessage(fromChatId: fromChatId, msgIds: msgIds, toUserIds: toUserIds, toChatIds: toChatIds) { msgs, failToSend, error in
}
获取合并转发消息内容
接口定义
swift
func getForwardMergeMessage(chatId: String, msgId: String, count: Int64, nextMsgId: String, complete: ((_ resp: KIMGetForwardMergeMessagesResponse?, _ error: KIMError?) -> Void)?)
Objective-C
- (void)getForwardMergeMessageWithChatId:(NSString *)chatId msgId:(NSString *)msgId count:(int64_t)count nextMsgId:(NSString *)nextMsgId complete:(void (^)(KIMGetForwardMergeMessagesResponse *, KIMError *))complete;
参数说明
字段 | 类型 | 说明 |
---|---|---|
chatId | String | 消息所属的会话 id |
msgId | String | 合并转发消息 id |
count | Int64 | 单次获取合并内详细消息的数量,<= 100 |
nextMsgId | String | 下一个合并的消息 id,首次传 0 |
complete | (_ resp: KIMGetForwardMergeMessagesResponse?, _ error: KIMError?) -> Void)? | 获取结果回调 resp:合并信息 error:错误信息 |
KIMGetForwardMergeMessagesResponse
说明:
字段 | 类型 | 说明 |
---|---|---|
msg | KIMMessage | 原消息对应结构 |
mergeMsgs | [KIMMessage] | 合并消息对应消息体 |
nextMsgId | String | 下一页获取合并消息的消息 ID,若非大于 0,表示已经获取完全 |
代码示例
swift
KIMCore.shared.getForwardMergeMessage(chatId: getForwardMergeDataChatId, msgId: msgId, count: 100, nextMsgId: "") { [weak self] resp, error in
}