c# - TLSharp 获取组列表问题
问题描述
我无法获取组的完整列表,响应仅返回新组
我的代码:
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 个群组,为什么我无法获取所有群组?
解决方案
最终代码是:
var AllChats = await client.GetAllChats();
var groups = AllChats.Chats.OfType<TLChat>().ToList();
Console.WriteLine("Count : " + groups.Count());
现在我可以使用TLSharp.Core/TelegramClient.csGetAllChats()
中的方法获取完整的聊天列表
推荐阅读
- regex - 正则表达式:某个地方的某个数字
- javascript - 在 JS 中,console.log 以不同的方式运行,如代码所示。为什么?
- python - ValueError:无法为具有形状“(?,6)”的张量“Placeholder_3:0”提供形状(0、0)的值
- node.js - 在 netlify 本地创建 markdown 文件
- reactjs - 在 gitlab CI/CD 管道中自动检查许可证
- ios - 颜色未正确设置为搜索栏
- docker - 等待带有 ide 键 'PHPSTORM' 的传入连接 | PhpStorm 和 Xdebug 和 Docker
- salesforce - 无法在 Salesforce Lightning DataTable 中使用 SelectedRows
- javascript - 如何在字符串中包含撇号以使用 Jquery 在工具提示中显示?
- unity3d - Unity 2D 进行了屏幕截图,但它显示了上一个屏幕截图而不是当前屏幕截图