From 6b8831872c922fb479a8aad1d1fa2b8ca9a02014 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 20 Oct 2021 20:55:11 +0300 Subject: [PATCH] Allow logout even if session isn't authorized --- mautrix_telegram/commands/telegram/auth.py | 4 +++- mautrix_telegram/web/provisioning/__init__.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mautrix_telegram/commands/telegram/auth.py b/mautrix_telegram/commands/telegram/auth.py index 10320124..cc10c22d 100644 --- a/mautrix_telegram/commands/telegram/auth.py +++ b/mautrix_telegram/commands/telegram/auth.py @@ -349,10 +349,12 @@ async def _finish_sign_in(evt: CommandEvent, user: User, login_as: 'u.User' = No return await evt.reply(msg) -@command_handler(needs_auth=True, +@command_handler(needs_auth=False, help_section=SECTION_AUTH, help_text="Log out from Telegram.") async def logout(evt: CommandEvent) -> EventID: + if not evt.sender.tgid: + return await evt.reply("You're not logged in") if await evt.sender.log_out(): return await evt.reply("Logged out successfully.") return await evt.reply("Failed to log out.") diff --git a/mautrix_telegram/web/provisioning/__init__.py b/mautrix_telegram/web/provisioning/__init__.py index e78b2342..18e6b522 100644 --- a/mautrix_telegram/web/provisioning/__init__.py +++ b/mautrix_telegram/web/provisioning/__init__.py @@ -355,7 +355,7 @@ class ProvisioningAPI(AuthAPI): return await self.post_login_password(user, data.get("password", "")) async def logout(self, request: web.Request) -> web.Response: - _, user, err = await self.get_user_request_info(request, expect_logged_in=True, + _, user, err = await self.get_user_request_info(request, expect_logged_in=None, require_puppeting=False, want_data=False) if err is not None: