diff --git a/mautrix_telegram/commands/auth.py b/mautrix_telegram/commands/auth.py index 3f57cbb9..1f37f13c 100644 --- a/mautrix_telegram/commands/auth.py +++ b/mautrix_telegram/commands/auth.py @@ -299,7 +299,7 @@ async def sign_in(evt: CommandEvent, **sign_in_info) -> Dict: await evt.sender.ensure_started(even_if_no_session=True) user = await evt.sender.client.sign_in(**sign_in_info) existing_user = u.User.get_by_tgid(user.id) - if existing_user != evt.sender: + if existing_user and existing_user != evt.sender: await existing_user.log_out() await evt.reply(f"[{existing_user.displayname}]" f"(https://matrix.to/#/{existing_user.mxid})" diff --git a/mautrix_telegram/web/common/auth_api.py b/mautrix_telegram/web/common/auth_api.py index 700b26c1..a91ea682 100644 --- a/mautrix_telegram/web/common/auth_api.py +++ b/mautrix_telegram/web/common/auth_api.py @@ -110,7 +110,7 @@ class AuthAPI(abc.ABC): async def postprocess_login(self, user: User, user_info) -> None: existing_user = User.get_by_tgid(user_info.id) - if existing_user != user: + if existing_user and existing_user != user: await existing_user.log_out() asyncio.ensure_future(user.post_login(user_info), loop=self.loop) if user.command_status and user.command_status["action"] == "Login":