public async Task MarkChatMessagesAsReadAsync(TLAbsInputChannel channel) { var r = new TeleSharp.TL.Channels.TLRequestReadHistory { channel = channel, max_id = 0 }; await _telegramClient.SendRequestAsync <object>(r); }
private async Task MarkAsRead(TLInputPeerChannel target, TLSharp.Core.TelegramClient telegram) { var ch = new TLInputChannel() { ChannelId = target.ChannelId, AccessHash = target.AccessHash }; var request = new TLRequestReadHistory() { Channel = ch, }; await telegram.SendRequestAsync <bool>(request); }
private async void btStart_Click(object sender, EventArgs e) { var client = new TLSharp.Core.TelegramClient(teleApi.apiId, teleApi.apiHash); await client.ConnectAsync(); while (true) { var state = await client.SendRequestAsync <TLState>(new TLRequestGetState()); var req = new TLRequestGetDifference() { Date = state.Date, Pts = state.Pts, Qts = state.Qts }; var diff = await client.SendRequestAsync <TLAbsDifference>(req) as TLDifference; if (diff != null) { foreach (var upd in diff.OtherUpdates.ToList().OfType <TLUpdateNewChannelMessage>()) { tbReceipt.Text = (upd.Message as TLMessage).Message + tbReceipt.Text; //Console.WriteLine((upd.Message as TLMessage).Message); } foreach (var ch in diff.Chats.ToList().OfType <TLChannel>().Where(x => !x.Left)) { var ich = new TLInputChannel() { ChannelId = ch.Id, AccessHash = (long)ch.AccessHash }; var readed = new TeleSharp.TL.Channels.TLRequestReadHistory() { Channel = ich, MaxId = -1 }; await client.SendRequestAsync <bool>(readed); } } await Task.Delay(500); } }