如何通过Gotd/TD API获取Telegram中的一对一对话用户?
获取Telegram一对一对话用户的方法
- 先调用
messagesGetDialogsRequest拉取所有对话,遍历返回的每个Dialog项:- 检查
Dialog.chat.type的类型,只保留chatTypePrivate类型的对话(这就是你要的一对一聊天),直接从chatTypePrivate.userId拿到对方的用户ID。 - 直接过滤掉
chatTypeBasicGroup(普通群组)、chatTypeSupergroup(超级群)、chatTypeSecret(秘密对话,不需要的话也排除)这类非一对一的对话。
- 检查
- 收集所有筛选出的用户ID,用
usersGetUsersRequest批量请求用户详情,这样比单个请求效率更高。 - 如果对话数量较多,
messagesGetDialogsRequest会分页返回,要处理messagesDialogsSlice里的分页参数(offset_date、offset_id、offset_peer),循环拉取直到所有对话都获取完毕再统一过滤。
内容的提问来源于stack exchange,提问作者voodookiidoo
相关产品推荐
相关产品推荐

