createMergedMessage static method

Future<NIMResult<NIMMessage>> createMergedMessage(
  1. List<NIMMessage> messages,
  2. String sessionId,
  3. NIMSessionType sessionType
)

创建合并消息

Implementation

static Future<NIMResult<NIMMessage>> createMergedMessage(
    List<NIMMessage> messages,
    String sessionId,
    NIMSessionType sessionType) async {
  if (messages.isEmpty) {
    return NIMResult.failure(message: 'message list is empty');
  }
  final mergedMessage = await mergeMessage(messages);
  if (mergedMessage.isSuccess && mergedMessage.data != null) {
    final customMsgBuilder = await MessageBuilder.createCustomMessage(
        sessionId: sessionId,
        sessionType: sessionType,
        attachment: NIMCustomMessageAttachment(data: mergedMessage.data!));
    if (customMsgBuilder.isSuccess && customMsgBuilder.data != null) {
      customMsgBuilder.data!.pushContent =
          ChatMessageHelper.getMessageBrief(customMsgBuilder.data!);
      return NIMResult.success(data: customMsgBuilder.data!);
    } else {
      return NIMResult.failure(message: customMsgBuilder.errorDetails);
    }
  } else {
    return NIMResult.failure(message: mergedMessage.errorDetails);
  }
}