From 44a102c3b163f851609d0f3d1a4db92b980ceff2 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 24 Jun 2020 23:33:22 +0300 Subject: [PATCH] Automatically accept invitations when using double puppeting --- mautrix_telegram/portal/metadata.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/mautrix_telegram/portal/metadata.py b/mautrix_telegram/portal/metadata.py index ff686a08..e701b4f1 100644 --- a/mautrix_telegram/portal/metadata.py +++ b/mautrix_telegram/portal/metadata.py @@ -232,6 +232,12 @@ class PortalMetadata(BasePortal, ABC): await self.update_bridge_info() if self.sync_matrix_state: await self.sync_matrix_members() + puppet = p.Puppet.get_by_custom_mxid(user.mxid) + if puppet: + try: + await puppet.intent.ensure_joined(self.mxid) + except Exception: + self.log.exception("Failed to ensure %s is joined to portal", user.mxid) async def create_matrix_room(self, user: 'AbstractUser', entity: Union[TypeChat, User] = None, invites: InviteList = None, update_if_exists: bool = True, @@ -364,18 +370,7 @@ class PortalMetadata(BasePortal, ABC): for invite in invites: power_levels.users.setdefault(invite, 100) self.title = puppet.displayname - bridge_info = { - "bridgebot": self.az.bot_mxid, - "creator": self.main_intent.mxid, - "protocol": { - "id": "telegram", - "displayname": "Telegram", - "avatar_url": config["appservice.bot_avatar"], - }, - "channel": { - "id": self.tgid - } - } + initial_state = [{ "type": EventType.ROOM_POWER_LEVELS.serialize(), "content": power_levels.serialize(),