ensureUserAIBotConversationVisible function

Future<String?> ensureUserAIBotConversationVisible(
  1. String accid
)

Implementation

Future<String?> ensureUserAIBotConversationVisible(String accid) async {
  final conversationIdResult =
      await NimCore.instance.conversationIdUtil.p2pConversationId(accid);
  final conversationId = conversationIdResult.data;
  if (conversationId == null || conversationId.isEmpty) {
    return null;
  }
  final enableCloudConversation = await IMKitClient.enableCloudConversation;
  final result = enableCloudConversation
      ? await NimCore.instance.conversationService.createConversation(
          conversationId,
        )
      : await NimCore.instance.localConversationService.createConversation(
          conversationId,
        );
  if (!result.isSuccess) {
    final existed = enableCloudConversation
        ? await NimCore.instance.conversationService.getConversation(
            conversationId,
          )
        : await NimCore.instance.localConversationService.getConversation(
            conversationId,
          );
    if (!existed.isSuccess) {
      return null;
    }
  }
  return conversationId;
}