コード例 #1
0
        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());
        }
コード例 #2
0
ファイル: ChannelTL.cs プロジェクト: llenroc/TelegramFuhrer
        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());
        }