sendTextMessage method

void sendTextMessage(
  1. String text, {
  2. NIMMessage? replyMsg,
  3. List<String>? pushList,
  4. AitContactsModel? aitContactsModel,
  5. String? title,
})

Implementation

void sendTextMessage(String text,
    {NIMMessage? replyMsg,
    List<String>? pushList,
    AitContactsModel? aitContactsModel,
    String? title}) async {
  var aitMap;

  if (aitContactsModel?.aitBlocks.isNotEmpty == true) {
    aitMap = aitContactsModel?.toMap();
  }

  var customData =
      ChatMessageHelper.getMultiLineMessageMap(title: title, content: text);

  var msgBuildResult = (title?.isNotEmpty == true)
      ? (await MessageBuilder.createCustomMessage(
          sessionId: sessionId,
          sessionType: sessionType,
          attachment: NIMCustomMessageAttachment(data: customData)))
      : (await MessageBuilder.createTextMessage(
          sessionId: sessionId,
          sessionType: sessionType,
          text: text,
        ));
  if (msgBuildResult.isSuccess && msgBuildResult.data != null) {
    if (sessionType == NIMSessionType.team &&
        pushList != null &&
        pushList.isNotEmpty) {
      msgBuildResult.data!.memberPushOption = NIMMemberPushOption(
          forcePushContent: title ?? text, forcePushList: pushList);
    }
    if (title?.isNotEmpty == true) {
      msgBuildResult.data!.pushContent = title;
    }
    if (aitMap != null) {
      msgBuildResult.data!.remoteExtension = {
        ChatMessage.keyAitMsg: aitMap,
      };
    }
    sendMessage(msgBuildResult.data!, replyMsg: replyMsg);
  }
}