getMessages method
Получение данных сообщений конкретного чата.
chatId- айди уникального чата (см SjChatDto.id).lastMessageId- айди последнего полученного сообщения после которого мы хотим получить новые (Если не указан, то по умолчанию = 0).limit- максимальное кол-во получаемых данных сообщений (Если не указан, то по умолчанию = 500, а доступный максимум 10.000).
См: urls.apiMsgsGet, SjMessageDto.
Implementation
Future<List<SjMessageDto>> getMessages({
int? chatId,
int? lastMessageId,
int? limit,
}) async {
assert((limit ?? 0) <= 10000, 'Слишком большой лимит');
final result = await $httpPost(urls.apiMsgsGet, {
if (chatId != null) 'chat': chatId,
if (lastMessageId != null) 'from': lastMessageId,
if (limit != null) 'limit': limit,
});
if (!result.containsKey('msgs')) {
throw const FormatException('invalid response');
}
final res = result['msgs'] as List;
return res.cast<Map>().map(SjMessageDto.fromJson).toList();
}