getAllRobots method
Implementation
Future<void> getAllRobots() async {
String? pageToken;
bool hasMore = true;
final all = <V2NIMUserAIBot>[];
while (hasMore) {
final result = await NimCore.instance.aiService.getUserAIBotList(
V2NIMGetUserAIBotListParams(
pageToken: pageToken,
limit: pageSize,
),
);
if (!result.isSuccess) {
Alog.e(
tag: logTag,
content: 'getUserAIBotList failed: ${result.errorDetails}',
);
return;
}
final bots = result.data?.bots ?? const <V2NIMUserAIBot>[];
all.addAll(bots);
hasMore = result.data?.hasMore == true;
pageToken = result.data?.nextToken;
if (!hasMore || pageToken == null || pageToken.isEmpty) {
hasMore = false;
}
}
robotCache
..clear()
..addEntries(
all.where((bot) => bot.accid?.isNotEmpty == true).map(
(bot) => MapEntry(bot.accid!, bot),
),
);
_robotChangeController.add(all);
}