mirror of
https://github.com/pyrogram/pyrogram
synced 2025-08-28 21:07:59 +00:00
Make get_chat_members work with basic groups
This commit is contained in:
parent
3b29a602d0
commit
e3128fca9d
@ -36,31 +36,44 @@ class GetChatMembers(BaseClient):
|
|||||||
limit: int = 200,
|
limit: int = 200,
|
||||||
query: str = "",
|
query: str = "",
|
||||||
filter: str = Filters.ALL):
|
filter: str = Filters.ALL):
|
||||||
filter = filter.lower()
|
peer = self.resolve_peer(chat_id)
|
||||||
|
|
||||||
if filter == Filters.ALL:
|
if isinstance(peer, types.InputPeerChat):
|
||||||
filter = types.ChannelParticipantsSearch(q=query)
|
return utils.parse_chat_members(
|
||||||
elif filter == Filters.KICKED:
|
self.send(
|
||||||
filter = types.ChannelParticipantsKicked(q=query)
|
functions.messages.GetFullChat(
|
||||||
elif filter == Filters.RESTRICTED:
|
peer.chat_id
|
||||||
filter = types.ChannelParticipantsBanned(q=query)
|
)
|
||||||
elif filter == Filters.BOTS:
|
|
||||||
filter = types.ChannelParticipantsBots()
|
|
||||||
elif filter == Filters.RECENT:
|
|
||||||
filter = types.ChannelParticipantsRecent()
|
|
||||||
elif filter == Filters.ADMINISTRATORS:
|
|
||||||
filter = types.ChannelParticipantsAdmins()
|
|
||||||
else:
|
|
||||||
raise ValueError("Invalid filter \"{}\"".format(filter))
|
|
||||||
|
|
||||||
return utils.parse_chat_members(
|
|
||||||
self.send(
|
|
||||||
functions.channels.GetParticipants(
|
|
||||||
channel=self.resolve_peer(chat_id),
|
|
||||||
filter=filter,
|
|
||||||
offset=offset,
|
|
||||||
limit=limit,
|
|
||||||
hash=0
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
elif isinstance(peer, types.InputPeerChannel):
|
||||||
|
filter = filter.lower()
|
||||||
|
|
||||||
|
if filter == Filters.ALL:
|
||||||
|
filter = types.ChannelParticipantsSearch(q=query)
|
||||||
|
elif filter == Filters.KICKED:
|
||||||
|
filter = types.ChannelParticipantsKicked(q=query)
|
||||||
|
elif filter == Filters.RESTRICTED:
|
||||||
|
filter = types.ChannelParticipantsBanned(q=query)
|
||||||
|
elif filter == Filters.BOTS:
|
||||||
|
filter = types.ChannelParticipantsBots()
|
||||||
|
elif filter == Filters.RECENT:
|
||||||
|
filter = types.ChannelParticipantsRecent()
|
||||||
|
elif filter == Filters.ADMINISTRATORS:
|
||||||
|
filter = types.ChannelParticipantsAdmins()
|
||||||
|
else:
|
||||||
|
raise ValueError("Invalid filter \"{}\"".format(filter))
|
||||||
|
|
||||||
|
return utils.parse_chat_members(
|
||||||
|
self.send(
|
||||||
|
functions.channels.GetParticipants(
|
||||||
|
channel=peer,
|
||||||
|
filter=filter,
|
||||||
|
offset=offset,
|
||||||
|
limit=limit,
|
||||||
|
hash=0
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
raise ValueError("The chat_id \"{}\" belongs to a user".format(chat_id))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user