getUsers method

Future<List<SjUserDto>> getUsers(
  1. List<int> ids
)

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

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

Например:

final updates = await getUpdates(msgs: DateTime(2022));
final newUsersIds = updates.users;
if (newUsersIds != null && newUsersIds.isNotEmpty) {
  final newUsers = await client.getUsers(newUsersIds);
  if (newUsers.isNotEmpty) {
    log(
      '### Новые пользователи с [$lastUpdated]\n'
      '${_prettyJson(newUsers.map((e) => e.toJson()).toList())}',
    );
  }
}

См: urls.apiUsersGet, SjUserDto

Implementation

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