Попробуйте:
var dialogs = (TLDialogs)await client.GetUserDialogsAsync() as TLDialogs;
var chats = dialogs.Chats
.OfType<TLChat>()
.ToList();
Console.WriteLine("Count : " + chats.Count());
Если вам нужен полный список чатов с сообщениями и вспомогательными данными, используйте messages.dialogs вместо messages.dialogsSlice
Если вы хотите вернуть текущий диалог пользователя, используйте messages.getDialogs
В вашем случае это TLDialogs
Проверьте методы API здесь по этой ссылке Работа с диалогами
Если по-прежнему некоторые группы не отображаются в вашем списке возврата, попробуйте использовать offset = 0 и limit = 20, затем отправьте другие сообщения. Запрос диалога со смещением 20, limit = 20. Вы можете просто установить собственное смещение и ограничение .
Здесь вы можете узнать, как установить смещение и лимит, по этой ссылке
.