Exemple #1
0
        public async Task MarkChatMessagesAsReadAsync(TLAbsInputChannel channel)
        {
            var r = new TeleSharp.TL.Channels.TLRequestReadHistory
            {
                channel = channel,
                max_id  = 0
            };

            await _telegramClient.SendRequestAsync <object>(r);
        }
Exemple #2
0
 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);
 }
Exemple #3
0
        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);
            }
        }