From b0b74ad9a094622ddd1026f8e540b39f59b29bdf Mon Sep 17 00:00:00 2001 From: Aurimas Date: Mon, 13 Feb 2017 15:08:29 +0100 Subject: [PATCH] get channel messages --- TLSharp.Tests/TLSharpTests.cs | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/TLSharp.Tests/TLSharpTests.cs b/TLSharp.Tests/TLSharpTests.cs index 487b535..b8b77cc 100644 --- a/TLSharp.Tests/TLSharpTests.cs +++ b/TLSharp.Tests/TLSharpTests.cs @@ -199,6 +199,50 @@ namespace TLSharp.Tests await client.SendMessageAsync(new TLInputPeerChannel() { channel_id = chat.id, access_hash = chat.access_hash.Value }, "TEST MSG"); } + public virtual async Task GetChannelMessagesTest() + { + var client = NewClient(); + + await client.ConnectAsync(); + + var dialogsObject = await client.GetUserDialogsAsync(); + + IEnumerable chats = null; + + var o = dialogsObject as TLDialogs; + if (o != null) + { + var dialogs = o; + chats = dialogs.chats.lists + .Where(c => c.GetType() == typeof (TLChannel)) + .Cast(); + + } + var o1 = dialogsObject as TLDialogsSlice; + if (o1 != null) + { + var dialogs = o1; + chats = dialogs.chats.lists + .Where(c => c.GetType() == typeof(TLChannel)) + .Cast(); + } + + foreach (var chat in chats) + { + client = NewClient(); + + await client.ConnectAsync(); + + TLAbsChannelDifference result = await client.GetFirst100HundredUpdatesFromTheChannel(chat); + + foreach (var item in (result as TLChannelDifference).new_messages.lists) + { + var m = item as TLMessage; + if (m != null) + Console.WriteLine(m.message); + } + } + } public virtual async Task SendPhotoToContactTest() { var client = NewClient();