public async Task <TLAbsMessages> GetHistoryAsync(TLAbsInputPeer peer, int offsetId = 0, int offsetDate = 0, int addOffset = 0, int limit = 100, int maxId = 0, int minId = 0, CancellationToken token = default(CancellationToken)) { var req = new TLRequestGetHistory() { Peer = peer, OffsetId = offsetId, OffsetDate = offsetDate, AddOffset = addOffset, Limit = limit, MaxId = maxId, MinId = minId }; return(await SendAuthenticatedRequestAsync <TLAbsMessages>(req, token) .ConfigureAwait(false)); }
public async Task <TLAbsMessages> GetHistoryAsync(TLAbsInputPeer peer, int offset, int max_id, int limit) { if (!IsUserAuthorized()) { throw new InvalidOperationException("Authorize user first!"); } var req = new TLRequestGetHistory() { Peer = peer, AddOffset = offset, MaxId = max_id, Limit = limit }; return(await SendRequestAsync <TLAbsMessages>(req)); }
public async Task <List <Message> > GetChannelMessagesAsync(int channelId, long accessHash, int?offsetId, int?offsetDate, int?limit) { var req = new TLRequestGetHistory() { Peer = new TLInputPeerChannel() { ChannelId = channelId, AccessHash = accessHash }, OffsetId = offsetId ?? 0, OffsetDate = offsetDate ?? 0, Limit = limit ?? 0 }; TLChannelMessages messages = new TLChannelMessages(); messages = await _client.SendRequestAsync <TLChannelMessages>(req); return(RefineMessages(messages)); }
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 <TLAbsMessages> GetHistoryAsync(TLAbsInputPeer peer, int offsetId = 0, int offsetDate = 0, int addOffset = 0, int limit = 100, int maxId = 0, int minId = 0) { if (!IsUserAuthorized()) { throw new InvalidOperationException("Authorize user first!"); } var req = new TLRequestGetHistory() { Peer = peer, OffsetId = offsetId, OffsetDate = offsetDate, AddOffset = addOffset, Limit = limit, MaxId = maxId, MinId = minId }; return(await SendRequestAsync <TLAbsMessages>(req)); }
public async Task <IList <TLUser> > GetAddUserMessagesAsync(int chatId, int limit = 1) { var r = new TLRequestGetHistory { peer = new TLInputPeerChat { chat_id = chatId }, max_id = 0, limit = limit, offset_id = 0,//maxid add_offset = 0 }; var history = await _telegramClient.SendRequestAsync <TLMessagesSlice>(r); var result = new List <TLUser>(); foreach (var message in history.messages.lists.Where( m => m is TLMessageService && ((TLMessageService)m).action is TLMessageActionChatAddUser) .OfType <TLMessageService>() .ToList()) { foreach (var id in ((TLMessageActionChatAddUser)message.action).users.lists) { if (result.Any(u => u.id == id)) { continue; } var user = history.users.lists.FirstOrDefault(u => u is TLUser && ((TLUser)u).id == id); if (user != null) { result.Add((TLUser)user); } } } return(result); }