From 26ac86cbb5aaa782f823d1dfbb9a5f9c28c42b5e Mon Sep 17 00:00:00 2001 From: Muhammed Mukhthar CM Date: Fri, 23 Jan 2026 05:15:34 +0000 Subject: [PATCH] Telegram-user: prompt login mode --- extensions/telegram-user/src/login.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/extensions/telegram-user/src/login.ts b/extensions/telegram-user/src/login.ts index 1f7a06553..b7c70305f 100644 --- a/extensions/telegram-user/src/login.ts +++ b/extensions/telegram-user/src/login.ts @@ -16,6 +16,14 @@ async function promptText(message: string): Promise { } } +async function promptLoginMode(): Promise<"qr" | "phone"> { + const response = await promptText("Login method (qr/phone) [qr]: "); + const normalized = response.trim().toLowerCase(); + if (!normalized) return "qr"; + if (normalized === "phone" || normalized === "otp") return "phone"; + return "qr"; +} + export async function loginTelegramUser(params: { apiId: number; apiHash: string; @@ -28,10 +36,16 @@ export async function loginTelegramUser(params: { let lastUrl = ""; const passwordEnv = process.env.TELEGRAM_USER_PASSWORD?.trim() || undefined; - const phoneEnv = process.env.TELEGRAM_USER_PHONE?.trim() || undefined; + let phoneEnv = process.env.TELEGRAM_USER_PHONE?.trim() || undefined; const codeEnv = process.env.TELEGRAM_USER_CODE?.trim() || undefined; try { + if (!phoneEnv) { + const mode = await promptLoginMode(); + if (mode === "phone") { + phoneEnv = await promptText("Telegram phone number (E.164): "); + } + } const user = await client.start( phoneEnv ? {