Telegram API 允许获取超级群组成员的信息。使用 GetSuperGroupMembers 方法获取超级群组或频道中的成员或被封禁用户的信息。只有当 SupergroupFullInfo.can_get_members 为 true 时才能使用;此外,某些过滤器可能需要管理员权限。
默认情况下,该方法返回群组的所有成员,但您可以使用 Filter 参数过滤返回的成员。从 sgcWebSockets 4.5.0 起,该方法已改进,允许使用一组参数过滤成员。
过滤器
以下是可用的参数:
- tsgmFilterNone: 默认值,表示成员未过滤。
- tsgmFilterAdministrators: 返回创建者和管理员。
- tsgmFilterBanned: 返回被超级群组或频道封禁的用户;只能由管理员使用。您可以使用参数 aSuperGroupMembersQuery 通过查询搜索。
- tsgmFilterBots: 返回超级群组或频道的机器人成员。
- tsgmFilterContacts: 返回用户的联系人(这些联系人是超级群组或频道的成员)。您可以使用参数 aSuperGroupMembersQuery 通过查询搜索。
- tsgmFilterMention: 返回可在超级群组中被提及的用户。
- tsgmFilterRecent: 按时间倒序返回最近活跃的用户。
- tsgmFilterRestricted: 返回受限的超级群组成员;只能由管理员使用。您可以使用参数 aSuperGroupMembersQuery 通过查询搜索。
- tsgmFilterSearch: 用于通过(字符串)查询搜索超级群组或频道成员。您可以使用参数 aSuperGroupMembersQuery 通过查询搜索。
您可以使用 OnEvent 回调并按 event = "chatMembers" 过滤来读取结果。
Telegram.GetSupergroupMembers(1452979380);
procedure OnTelegramEvent(Sender: TObject; const Event, Text: string);
begin
if Event = 'chatMembers' then
ReadJSON(Text);
end;
