【发布时间】:2020-04-20 01:24:06
【问题描述】:
我无法获取组的完整列表,响应仅返回新组
我的代码:
var dialogs = (TLDialogsSlice)await client.GetUserDialogsAsync();
var chats = dialogs.Chats
.Where(c => c.GetType() == typeof(TLChat))
.Cast<TLChat>();
Console.WriteLine("Count : " + chats.Count());
我用这个方法:
public async Task<TLAbsDialogs> GetUserDialogsAsync()
{
var peer = new TLInputPeerChat();
return await client.SendRequestAsync<TLAbsDialogs>(
new TLRequestGetDialogs() { OffsetPeer = peer, Limit = int.MaxValue });
}
var dialogs = await GetUserDialogsAsync() as TLDialogsSlice;
var chats = dialogs.Chats
.OfType<TLChat>()
.ToList();
Console.WriteLine("Count : " + chats.Count());
Limit = int.MaxValue或0时输出15组,Limit = int.MinValue时输出7组
但问题是我有超过 15 个群组加入了电报为什么我不能全部获取?
【问题讨论】:
-
用 Limit=100 检查
-
如果你使用 TLDialogsSlice 检查是否有切片,这意味着 TLDialogsSlice 是否有任何限制,比如 MaxValue 是 15 什么的。
-
:( 没有关于这个限制,但我确信核心中有一些东西需要更新看看这个问题,它是相似的:github.com/sochix/TLSharp/issues/674
-
应该有一些解决方法来处理。
-
是的,兄弟,我尝试对 TLSharp 项目进行一些更新,例如将类型从 int 更改为 long/decimal,但会遇到更多异常...