public async Task <IList <TLMessage> > GetMessagesAsync(TLAbsInputPeer peer, int limit = 1) { var r = new TLRequestGetHistory { peer = peer,//new TLInputPeerUser { user_id = 52086439, access_hash = -5263285720256180879 }, max_id = 0, limit = limit, offset_id = 0,//maxid add_offset = 0 }; var result = await _telegramClient.SendRequestAsync <object>(r); if (result is TLMessagesSlice) { return(((TLMessagesSlice)result).messages.lists.OfType <TLMessage>().ToList()); } return(((TLMessages)result).messages.lists.OfType <TLMessage>().ToList()); }
public async Task <IList <TLChannel> > FindByTitleAsync(string keywords) { var rd = new TLRequestGetDialogs { offset_date = 0, offset_id = 0, offset_peer = new TLInputPeerEmpty(), limit = 100 }; var dialogs = await _telegramClient.SendRequestAsync <TLAbsDialogs>(rd); if (dialogs is TLDialogs) { return(((TLDialogs)dialogs).chats.lists.OfType <TLChannel>() .Where(c => c.title.IndexOf(keywords, StringComparison.OrdinalIgnoreCase) >= 0) .ToList()); } return(((TLDialogsSlice)dialogs).chats.lists.OfType <TLChannel>() .Where(c => c.title.IndexOf(keywords, StringComparison.OrdinalIgnoreCase) >= 0) .ToList()); }