La API de Telegram permite obtener información sobre los miembros de un SuperGroup. Usa el método GetSuperGroupMembers para obtener información sobre miembros o usuarios baneados de un supergrupo o canal. Solo puede usarse si SupergroupFullInfo.can_get_members es true; además, pueden requerirse privilegios de administrador para algunos filtros.
Por defecto, el método devuelve todos los miembros del grupo, pero puedes filtrar los miembros devueltos con el parámetro Filter. Desde sgcWebSockets 4.5.0 este método se ha mejorado para permitir filtrar los miembros con un conjunto de parámetros.
Filtros
Existen los siguientes parámetros:
- tsgmFilterNone: Valor por defecto; significa que los miembros no se filtran.
- tsgmFilterAdministrators: Devuelve el creador y los administradores.
- tsgmFilterBanned: Devuelve los usuarios baneados del supergrupo o canal; solo puede ser usado por administradores. Puedes usar el argumento aSuperGroupMembersQuery para buscar con una consulta.
- tsgmFilterBots: Devuelve los miembros bot del supergrupo o canal.
- tsgmFilterContacts: Devuelve los contactos del usuario que son miembros del supergrupo o canal. Puedes usar el argumento aSuperGroupMembersQuery para buscar con una consulta.
- tsgmFilterMention: Devuelve los usuarios que pueden ser mencionados en el supergrupo.
- tsgmFilterRecent: Devuelve los usuarios activos recientemente en orden cronológico inverso.
- tsgmFilterRestricted: Devuelve los miembros restringidos del supergrupo; solo puede ser usado por administradores. Puedes usar el argumento aSuperGroupMembersQuery para buscar con una consulta.
- tsgmFilterSearch: Se usa para buscar miembros del supergrupo o canal mediante una consulta (cadena de texto). Puedes usar el argumento aSuperGroupMembersQuery para buscar con una consulta.
Puedes leer el resultado mediante el callback OnEvent y filtrando por event = "chatMembers".
Telegram.GetSupergroupMembers(1452979380);
procedure OnTelegramEvent(Sender: TObject; const Event, Text: string);
begin
if Event = 'chatMembers' then
ReadJSON(Text);
end;
