From 732258c0939bb5a3843b7c200c15d25927a1e0c4 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 18 Apr 2023 17:21:36 +0300 Subject: [PATCH] Don't sync dialogs with no real messages --- mautrix_telegram/user.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/mautrix_telegram/user.py b/mautrix_telegram/user.py index d6a17da5..225dec64 100644 --- a/mautrix_telegram/user.py +++ b/mautrix_telegram/user.py @@ -39,6 +39,9 @@ from telethon.tl.types import ( ChatForbidden, InputUserSelf, Message, + MessageActionContactSignUp, + MessageActionHistoryClear, + MessageService, NotifyPeer, PeerUser, TypeUpdate, @@ -769,6 +772,18 @@ class User(DBUser, AbstractUser, BaseUser): async def _sync_dialog( self, portal: po.Portal, dialog: Dialog, should_create: bool, puppet: pu.Puppet | None ) -> None: + if ( + not portal.mxid + and isinstance(dialog.message, MessageService) + and isinstance( + dialog.message.action, (MessageActionContactSignUp, MessageActionHistoryClear) + ) + ): + self.log.debug( + f"Not syncing {portal.tgid_log} " + f"(last message is a {type(dialog.message.action).__name__})" + ) + return was_created = False post_sync_args = self.dialog_to_sync_args(dialog) if portal.mxid: