Skip to content

Commit 7b8f72f

Browse files
committed
Use /joined_members instead of /members when possible. Fixes #5
1 parent dacd3ff commit 7b8f72f

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

mautrix_appservice/intent_api.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -840,9 +840,16 @@ def get_room_memberships(self, room_id: str) -> Awaitable[dict]:
840840
raise ValueError("Room ID not given")
841841
return self.client.request("GET", f"/rooms/{quote(room_id)}/members")
842842

843+
def get_room_joined_memberships(self, room_id: str) -> Awaitable[dict]:
844+
if not room_id:
845+
raise ValueError("Room ID not given")
846+
return self.client.request("GET", f"/rooms/{quote(room_id)}/joined_members")
847+
843848
async def get_room_members(self, room_id: str, allowed_memberships: Tuple[str, ...] = ("join",)
844849
) -> List[str]:
845-
memberships = await self.get_room_memberships(room_id)
850+
memberships = (await self.get_room_joined_memberships(room_id)
851+
if allowed_memberships == ("join",)
852+
else await self.get_room_memberships(room_id))
846853
return [membership["state_key"] for membership in memberships["chunk"] if
847854
membership["content"]["membership"] in allowed_memberships]
848855

0 commit comments

Comments
 (0)