From 8003b9aa1cfe1c18735a4e0f33996656b7efd681 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 12 Jan 2022 21:52:25 +0200 Subject: [PATCH] Fix bug in !tg create. Fixes #736 --- CHANGELOG.md | 6 ++++++ mautrix_telegram/commands/portal/create_chat.py | 2 +- mautrix_telegram/portal.py | 7 +++---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da144339..3bd530ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# unreleased + +* Added simple fallback message for live location and venue messages from Telegram. +* Added support for `t.me/+code` style invite links in `!tg join`. +* Fixed bug in v0.11.0 that broke `!tg create`. + # v0.11.1 (2021-01-10) * Added support for message reactions. diff --git a/mautrix_telegram/commands/portal/create_chat.py b/mautrix_telegram/commands/portal/create_chat.py index 707fab3f..f17e422b 100644 --- a/mautrix_telegram/commands/portal/create_chat.py +++ b/mautrix_telegram/commands/portal/create_chat.py @@ -65,7 +65,7 @@ async def create(evt: CommandEvent) -> EventID: about=about, encrypted=encrypted, ) - invites, errors = await portal.get_telegram_users_in_matrix_room(evt.sender) + invites, errors = await portal.get_telegram_users_in_matrix_room(evt.sender, pre_create=True) if len(errors) > 0: error_list = "\n".join(f"* [{mxid}](https://matrix.to/#/{mxid})" for mxid in errors) await evt.reply( diff --git a/mautrix_telegram/portal.py b/mautrix_telegram/portal.py index 578506f5..b0133d94 100644 --- a/mautrix_telegram/portal.py +++ b/mautrix_telegram/portal.py @@ -436,12 +436,11 @@ class Portal(DBPortal, BasePortal): # region Matrix -> Telegram metadata async def get_telegram_users_in_matrix_room( - self, source: u.User + self, source: u.User, pre_create: bool = False ) -> tuple[list[InputPeerUser], list[UserID]]: user_tgids = {} - user_mxids = await self.main_intent.get_room_members( - self.mxid, (Membership.JOIN, Membership.INVITE) - ) + intent = self.az.intent if pre_create else self.main_intent + user_mxids = await intent.get_room_members(self.mxid, (Membership.JOIN, Membership.INVITE)) for mxid in user_mxids: if mxid == self.az.bot_mxid: continue