20-02-21, 09:33 AM
حاولت كتير احوله من خلال اكتر من موقع لكن يحدث مشاكل بالكود
كود :
var client = NewClient();
await client.ConnectAsync();
var dialogs = (TLDialogs)await client.GetUserDialogsAsync();
var main = dialogs.Chats.ToList().Where(c => c.GetType() == typeof(TLChannel))
.Cast<TLChannel>()
.FirstOrDefault(c => c.Title == (gruopName));
var req = new TLRequestGetFullChannel()
{
Channel = new TLInputChannel() { AccessHash =(long) main.AccessHash, ChannelId = main.Id }
};
var res = await client.SendRequestAsync<TeleSharp.TL.Messages.TLChatFull>(req);
////we have to do this in slices
var result = new ChannelInfo();
var offset = 0;
while (offset < (res.FullChat as TLChannelFull).ParticipantsCount)
{
var pReq = new TLRequestGetParticipants()
{
Channel = new TLInputChannel() { AccessHash = main.AccessHash.Value, ChannelId = main.Id },
Filter = new TLChannelParticipantsRecent() { },
Limit = 200,
Offset = offset
};
var pRes = await client.SendRequestAsync<TLChannelParticipants>(pReq);
result.Users.AddRange(pRes.Users.ToList().Cast<TLUser>());
offset += 200;
await Task.Delay(500);
}