Fix get_users dropping one user in non-supergroups if member sync isn't limited

This commit is contained in:
Tulir Asokan
2021-12-28 01:24:36 +02:00
parent cb97c127d6
commit de4db8c8a6
2 changed files with 5 additions and 4 deletions

View File

@@ -19,6 +19,8 @@
(as per <https://t.me/durov/172>).
* Only applies if you're using puppeting with a normal user account,
because bots can't get sponsored messages.
* Fixed non-supergroup member sync incorrectly kicking one user from the Matrix
side if there was no limit on the number of members to sync (broke in v0.10.2).
* Updated animated sticker conversion to support [lottieconverter r0.2]
(thanks to [@sot-tech] in [#694]).
* Updated Docker image to Alpine 3.15.
@@ -101,7 +103,7 @@ path.
* Command to update about section in Telegram profile info
(thanks to [@MadhuranS] in [#599]).
* Own read marker/unread status from Telegram is now synced to Matrix after backfilling.
* Support for showing the individual slots in :slot_machine: dice rolls from Telegram.
* Support for showing the individual slots in 🎰 dice rolls from Telegram.
### Improved
* Improved invite link regex to allow joining with less precise invite links.

View File

@@ -93,9 +93,8 @@ async def get_users(
) -> list[TypeUser]:
if peer_type == "chat":
chat = await client(GetFullChatRequest(chat_id=tgid))
return list(_filter_participants(chat.users, chat.full_chat.participants.participants))[
:limit
]
users = list(_filter_participants(chat.users, chat.full_chat.participants.participants))
return users[:limit] if limit > 0 else users
elif peer_type == "channel":
try:
return await _get_channel_users(client, entity, limit)