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 customJson = customData == null ? '' : jsonEncode(customData);

  var pushConfig = null;

  var msgBuildResult = (title?.isNotEmpty == true)
      ? (await MessageCreator.createCustomMessage(title!, customJson))
      : (await MessageCreator.createTextMessage(text));
  if (msgBuildResult.isSuccess && msgBuildResult.data != null) {
    if (conversationType == NIMConversationType.team && pushList != null) {
      pushConfig = NIMMessagePushConfig(
          pushContent: title ?? text,
          forcePush: true,
          forcePushContent: title ?? text,
          forcePushAccountIds: pushList);
    } else {
      //兼容单聊@ 数字人的case,此处forcePush 不生效,只用于获取数字人agent
      pushConfig = NIMMessagePushConfig(
          pushContent: title ?? text, forcePushAccountIds: pushList);
    }
    if (aitMap != null) {
      msgBuildResult.data!.serverExtension = jsonEncode({
        ChatMessage.keyAitMsg: aitMap,
      });
    }
    sendMessage(
      msgBuildResult.data!,
      replyMsg: replyMsg,
      pushConfig: pushConfig,
    );
  }
}