From 0711cfb5f7f3254860d729f7a21e904e42744856 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 22 Dec 2021 12:46:31 +0200 Subject: [PATCH] Ignore phone number parse errors when bridging contact messages --- mautrix_telegram/portal.py | 2 +- mautrix_telegram/portal_util/media_fallback.py | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/mautrix_telegram/portal.py b/mautrix_telegram/portal.py index 5ed65c79..de33d942 100644 --- a/mautrix_telegram/portal.py +++ b/mautrix_telegram/portal.py @@ -1221,6 +1221,7 @@ class Portal(DBPortal, BasePortal): elif self._sponsored_msg_ts + 5 * 60 > time.monotonic(): return self._sponsored_msg, self._sponsored_entity + self.log.trace(f"Fetching a new sponsored message through {user.mxid}") self._sponsored_msg, t_id, self._sponsored_entity = await putil.get_sponsored_message( user, await self.get_input_entity(user) ) @@ -1230,7 +1231,6 @@ class Portal(DBPortal, BasePortal): return self._sponsored_msg, self._sponsored_entity async def _send_sponsored_msg(self, user: u.User) -> None: - self.log.trace(f"Getting a new sponsored message through {user.mxid}") msg, entity = await self._get_sponsored_message(user) if msg is None: self.log.trace("Didn't get a sponsored message") diff --git a/mautrix_telegram/portal_util/media_fallback.py b/mautrix_telegram/portal_util/media_fallback.py index 140ac3cf..fbef0f50 100644 --- a/mautrix_telegram/portal_util/media_fallback.py +++ b/mautrix_telegram/portal_util/media_fallback.py @@ -98,9 +98,12 @@ async def make_contact_event_content( name = " ".join(x for x in [contact.first_name, contact.last_name] if x) formatted_phone = f"+{contact.phone_number}" if phonenumbers is not None: - parsed = phonenumbers.parse(formatted_phone) - fmt = phonenumbers.PhoneNumberFormat.INTERNATIONAL - formatted_phone = phonenumbers.format_number(parsed, fmt) + try: + parsed = phonenumbers.parse(formatted_phone) + fmt = phonenumbers.PhoneNumberFormat.INTERNATIONAL + formatted_phone = phonenumbers.format_number(parsed, fmt) + except phonenumbers.NumberParseException: + pass content = TextMessageEventContent( msgtype=MessageType.TEXT, body=f"Shared contact info for {name}: {formatted_phone}",