getUsers method
Получение данных конкретных пользователей.
Для получения айди всех существующих пользователей используйте метод 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())}',
);
}
}
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();
}