From a34a18c6cc290fe08a4798484f3207c045e5c957 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 28 Feb 2022 11:59:44 +0200 Subject: [PATCH] Deduplicate user joined telegram messages --- mautrix_telegram/portal.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mautrix_telegram/portal.py b/mautrix_telegram/portal.py index 397d33a8..d6f3713e 100644 --- a/mautrix_telegram/portal.py +++ b/mautrix_telegram/portal.py @@ -3270,6 +3270,15 @@ class Portal(DBPortal, BasePortal): backfill: bool = False, ) -> None: assert isinstance(update.action, MessageActionContactSignUp) + + msg = await DBMessage.get_one_by_tgid(TelegramID(update.id), source.tgid) + if msg: + self.log.debug( + f"Ignoring new user message {update.id} (src {source.tgid}) as it was already " + f"handled into {msg.mxid}." + ) + return + content = TextMessageEventContent(msgtype=MessageType.EMOTE, body="joined Telegram") event_id = await self._send_message( sender.intent_for(self), content, timestamp=update.date