Telegram API を使用してスーパーグループのメンバーに関する情報を取得できます。GetSuperGroupMembers メソッドを使用してスーパーグループやチャンネルのメンバーまたは BAN ユーザーに関する情報を取得します。SupergroupFullInfo.can_get_members が true の場合にのみ使用できます。また、一部のフィルターでは管理者権限が必要な場合があります。
デフォルトではグループのすべてのメンバーを返しますが、Filter パラメーターを使用して返されるメンバーをフィルタリングできます。sgcWebSockets 4.5.0 からこのメソッドが改善され、パラメーターのセットを使用してメンバーをフィルタリングできるようになりました。
フィルター
以下のパラメーターがあります:
- tsgmFilterNone:デフォルト値。メンバーはフィルタリングされません。
- tsgmFilterAdministrators:作成者と管理者を返します。
- tsgmFilterBanned:スーパーグループやチャンネルから BAN されたユーザーを返します。管理者のみが使用できます。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;
