From a32f797b0b42e133776d9c7c5d411f480f1c4471 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 10 Feb 2023 21:20:50 +0200 Subject: [PATCH] Remove support for registering accounts --- CHANGELOG.md | 4 +- mautrix_telegram/commands/telegram/auth.py | 66 +--------------------- requirements.txt | 2 +- 3 files changed, 5 insertions(+), 67 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9a9b113..57e1b4d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,8 +11,10 @@ ### Improved * Updated Docker image to Alpine 3.17. -* Updated to Telegram API layer 151. +* Updated to Telegram API layer 152. * Improved handling users getting logged out. +* Removed support for creating accounts, as Telegram only allows requesting SMS + login codes on the official mobile clients now. ### Fixed * Fixed handling Telegram chat upgrades when backfilling is enabled. diff --git a/mautrix_telegram/commands/telegram/auth.py b/mautrix_telegram/commands/telegram/auth.py index 853297f6..e02861f4 100644 --- a/mautrix_telegram/commands/telegram/auth.py +++ b/mautrix_telegram/commands/telegram/auth.py @@ -94,70 +94,6 @@ async def ping_bot(evt: CommandEvent) -> EventID: ) -@command_handler( - needs_auth=False, - management_only=True, - help_section=SECTION_AUTH, - help_args="<_phone_> <_full name_>", - help_text="Register to Telegram", -) -async def register(evt: CommandEvent) -> EventID: - if await evt.sender.is_logged_in(): - return await evt.reply("You are already logged in.") - elif len(evt.args) < 1: - return await evt.reply("**Usage:** `$cmdprefix+sp register `") - - phone_number = evt.args[0] - if len(evt.args) == 2: - full_name = evt.args[1], "" - else: - full_name = " ".join(evt.args[1:-1]), evt.args[-1] - - await _request_code( - evt, - phone_number, - { - "next": enter_code_register, - "action": "Register", - "full_name": full_name, - }, - ) - return await evt.reply( - "By signing up for Telegram, you agree to " - "the terms of service: https://telegram.org/tos" - ) - - -async def enter_code_register(evt: CommandEvent) -> EventID: - if len(evt.args) == 0: - return await evt.reply("**Usage:** `$cmdprefix+sp `") - try: - await evt.sender.ensure_started(even_if_no_session=True) - first_name, last_name = evt.sender.command_status["full_name"] - user = await evt.sender.client.sign_up(evt.args[0], first_name, last_name) - asyncio.create_task(evt.sender.post_login(user, first_login=True)) - evt.sender.command_status = None - return await evt.reply(f"Successfully registered to Telegram.") - except PhoneNumberOccupiedError: - return await evt.reply( - "That phone number has already been registered. " - "You can log in with `$cmdprefix+sp login`." - ) - except FirstNameInvalidError: - return await evt.reply("Invalid name. Please set a Matrix displayname before registering.") - except PhoneCodeExpiredError: - return await evt.reply( - "Phone code expired. Try again with `$cmdprefix+sp register `." - ) - except PhoneCodeInvalidError: - return await evt.reply("Invalid phone code.") - except Exception: - evt.log.exception("Error sending phone code") - return await evt.reply( - "Unhandled exception while sending code. Check console for more details." - ) - - @command_handler( needs_auth=False, management_only=True, @@ -317,7 +253,7 @@ async def _request_code( except PhoneNumberUnoccupiedError: return await evt.reply( "That phone number has not been registered. " - "Please register with `$cmdprefix+sp register `." + "Please sign up to Telegram using an official mobile client first." ) except PhoneNumberInvalidError: return await evt.reply("That phone number is not valid.") diff --git a/requirements.txt b/requirements.txt index 33088d77..2c395264 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ aiohttp>=3,<4 yarl>=1,<2 mautrix>=0.19.3,<0.20 #telethon>=1.25.4,<1.27 -tulir-telethon==1.27.0a7 +tulir-telethon==1.28.0a1 asyncpg>=0.20,<0.28 mako>=1,<2 setuptools