Die Telegram-API erlaubt es, Informationen über Mitglieder einer SuperGroup abzurufen. Verwende die Methode GetSuperGroupMembers, um Informationen über Mitglieder oder gesperrte Nutzer in einer Supergroup oder einem Channel abzurufen. Sie kann nur genutzt werden, wenn SupergroupFullInfo.can_get_members true ist; für einige Filter sind zusätzlich Administratorrechte erforderlich.
Standardmäßig gibt die Methode alle Mitglieder der Gruppe zurück, du kannst die Rückgabe aber über den Filter-Parameter einschränken. Ab sgcWebSockets 4.5.0 wurde diese Methode verbessert, sodass du die Mitglieder über mehrere Parameter filtern kannst.
Filter
Es stehen folgende Parameter zur Verfügung:
- tsgmFilterNone: Standardwert, bedeutet, dass die Mitglieder nicht gefiltert werden.
- tsgmFilterAdministrators: Gibt den Ersteller und die Administratoren zurück.
- tsgmFilterBanned: Gibt aus der Supergroup oder dem Channel gesperrte Nutzer zurück; nur für Administratoren nutzbar. Über das Argument aSuperGroupMembersQuery kannst du mit einer Anfrage suchen.
- tsgmFilterBots: Gibt Bot-Mitglieder der Supergroup oder des Channels zurück.
- tsgmFilterContacts: Gibt Kontakte des Nutzers zurück, die Mitglieder der Supergroup oder des Channels sind. Über das Argument aSuperGroupMembersQuery kannst du mit einer Anfrage suchen.
- tsgmFilterMention: Gibt Nutzer zurück, die in der Supergroup erwähnt werden können.
- tsgmFilterRecent: Gibt zuletzt aktive Nutzer in umgekehrt chronologischer Reihenfolge zurück.
- tsgmFilterRestricted: Gibt eingeschränkte Supergroup-Mitglieder zurück; nur für Administratoren nutzbar. Über das Argument aSuperGroupMembersQuery kannst du mit einer Anfrage suchen.
- tsgmFilterSearch: Wird verwendet, um über eine (String-)Anfrage nach Supergroup- oder Channel-Mitgliedern zu suchen. Über das Argument aSuperGroupMembersQuery kannst du mit einer Anfrage suchen.
Das Ergebnis liest du über den OnEvent-Callback und filterst nach event = "chatMembers".
Telegram.GetSupergroupMembers(1452979380);
procedure OnTelegramEvent(Sender: TObject; const Event, Text: string);
begin
if Event = 'chatMembers' then
ReadJSON(Text);
end;
