getChatsByIds method

Future<List<SjChatDto>> getChatsByIds(
  1. List<int> ids
)

Получение данных чатов через список их айди.

ids - должен быть ограничен длиной 1.000 значений.

Для получения айди всех существующих чатов используйте метод getUpdates. А потом этот метод для получения их данных...

Например:

final ids = await getUpdates(chats: DateTime(2022));
final chatsData = await getChatsByIds(ids.chats.take(1000).toList());

См: urls.apiChatsGet, SjChatDto.

Implementation

Future<List<SjChatDto>> getChatsByIds(List<int> ids) async {
  assert(ids.isNotEmpty, 'ids не должен быть пуст');
  assert(ids.length <= 1000, 'Слишком много ids');
  final result = await $httpPost(urls.apiChatsGet, {'ids': ids});
  if (!result.containsKey('chats')) {
    throw const FormatException('invalid response');
  }
  final res = result['chats'] as List;
  return res.cast<Map>().map(SjChatDto.fromJson).toList();
}