iter_chat_members()

Client.iter_chat_members()

Iterate through the members of a chat sequentially.

This convenience method does the same as repeatedly calling get_chat_members() in a loop, thus saving you from the hassle of setting up boilerplate code. It is useful for getting the whole members list of a chat with a single call.

Parameters
  • chat_id (int | str) – Unique identifier (int) or username (str) of the target chat.

  • limit (int, optional) – Limits the number of members to be retrieved. By default, no limit is applied and all members are returned.

  • query (str, optional) – Query string to filter members based on their display names and usernames. Defaults to “” (empty string).

  • filter (str, optional) – Filter used to select the kind of members you want to retrieve. Only applicable for supergroups and channels. It can be any of the followings: “all” - all kind of members, “kicked” - kicked (banned) members only, “restricted” - restricted members only, “bots” - bots only, “recent” - recent members only, “administrators” - chat administrators only. Defaults to “all”.

Returns

Generator – A generator yielding ChatMember objects.

Example

# Iterate though all chat members
for member in app.iter_chat_members("pyrogramchat"):
    print(member.user.first_name)

# Iterate though all administrators
for member in app.iter_chat_members("pyrogramchat", filter="administrators"):
    print(member.user.first_name)

# Iterate though all bots
for member in app.iter_chat_members("pyrogramchat", filter="bots"):
    print(member.user.first_name)