forwardMessage static method

Future<NIMResult<void>> forwardMessage(
  1. NIMMessage message,
  2. String conversationId, {
  3. NIMSendMessageParams? params,
})

消息转发

Implementation

static Future<NIMResult<void>> forwardMessage(
    NIMMessage message, String conversationId,
    {NIMSendMessageParams? params}) async {
  var forwardMessage =
      (await MessageCreator.createForwardMessage(message)).data;
  if (forwardMessage == null) {
    return NIMResult.failure(message: 'createForwardMessage error');
  }

  Map<String, dynamic>? extensionMap = null;
  if (forwardMessage.serverExtension?.isNotEmpty == true) {
    extensionMap = jsonDecode(forwardMessage.serverExtension!);
  }
  //删除回复
  extensionMap?.remove(ChatMessage.keyReplyMsgKey);
  //删除@信息
  extensionMap?.remove(ChatMessage.keyAitMsg);

  if (extensionMap != null) {
    forwardMessage.serverExtension = jsonEncode(extensionMap);
  } else {
    forwardMessage.serverExtension = null;
  }

  return sendMessage(
      message: forwardMessage,
      conversationId: conversationId,
      params: params);
}