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;
