Ignore ChannelParticipantBanned in participant list. Fixes #635
This commit is contained in:
@@ -421,7 +421,8 @@ class PortalMatrix(BasePortal, ABC):
|
||||
await self._handle_matrix_file(sender_id, event_id, space, client, content, reply_to,
|
||||
caption_content)
|
||||
else:
|
||||
self.log.trace("Unhandled Matrix event: %s", content)
|
||||
self.log.debug("Didn't handle Matrix event {event_id} due to unknown msgtype {content.msgtype}")
|
||||
self.log.trace("Unhandled Matrix event content: %s", content)
|
||||
|
||||
async def handle_matrix_unpin_all(self, sender: 'u.User', pin_event_id: EventID) -> None:
|
||||
await sender.client(UnpinAllMessagesRequest(peer=self.peer))
|
||||
|
||||
@@ -27,7 +27,7 @@ from telethon.tl.types import (
|
||||
PhotoEmpty, InputChannel, InputUser, ChatPhotoEmpty, PeerUser, Photo, TypeChat, TypeInputPeer,
|
||||
TypeUser, User, InputPeerPhotoFileLocation, ChatParticipantAdmin, ChannelParticipantAdmin,
|
||||
ChatParticipantCreator, ChannelParticipantCreator, UserProfilePhoto, UserProfilePhotoEmpty,
|
||||
InputPeerUser)
|
||||
InputPeerUser, ChannelParticipantBanned)
|
||||
|
||||
from mautrix.errors import MForbidden
|
||||
from mautrix.types import (RoomID, UserID, RoomCreatePreset, EventType, Membership,
|
||||
@@ -797,7 +797,8 @@ class PortalMetadata(BasePortal, ABC):
|
||||
@staticmethod
|
||||
def _filter_participants(users: List[TypeUser], participants: List[TypeParticipant]
|
||||
) -> Iterable[TypeUser]:
|
||||
participant_map = {part.user_id: part for part in participants}
|
||||
participant_map = {part.user_id: part for part in participants
|
||||
if not isinstance(part, ChannelParticipantBanned)}
|
||||
for user in users:
|
||||
try:
|
||||
user.participant = participant_map[user.id]
|
||||
|
||||
Reference in New Issue
Block a user