From 91af7890aca3bbc67320e87ffce666c559cf88e1 Mon Sep 17 00:00:00 2001 From: Andrew Ferrazzutti Date: Sat, 23 Apr 2022 16:51:48 -0400 Subject: [PATCH] For DM checks, use ID of sender instead of channel This is more migration away from FB's usage of user IDs as DM IDs --- matrix_appservice_kakaotalk/puppet.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/matrix_appservice_kakaotalk/puppet.py b/matrix_appservice_kakaotalk/puppet.py index a32942e..f9986d3 100644 --- a/matrix_appservice_kakaotalk/puppet.py +++ b/matrix_appservice_kakaotalk/puppet.py @@ -34,7 +34,6 @@ from .db import Puppet as DBPuppet from .kt.types.bson import Long from .kt.types.api.struct import FriendStruct -from .kt.types.channel.channel_type import KnownChannelType from .kt.client.types import UserInfoUnion if TYPE_CHECKING: @@ -96,9 +95,8 @@ class Puppet(DBPuppet, BasePuppet): return False async def default_puppet_should_leave_room(self, room_id: RoomID) -> bool: - # TODO Find out if direct channels are shared. If not, default puppet shouldn't leave! portal = await p.Portal.get_by_mxid(room_id) - return portal and portal.kt_type != KnownChannelType.MemoChat + return portal and portal.kt_sender != self.ktid async def _leave_rooms_with_default_user(self) -> None: await super()._leave_rooms_with_default_user() @@ -112,7 +110,7 @@ class Puppet(DBPuppet, BasePuppet): ) def intent_for(self, portal: p.Portal) -> IntentAPI: - if portal.ktid == self.ktid or ( + if portal.kt_sender == self.ktid or ( portal.backfill_lock.locked and self.config["bridge.backfill.invite_own_puppet"] ): return self.default_mxid_intent