Telegram-user: prompt login mode
This commit is contained in:
parent
a266cd7be4
commit
26ac86cbb5
@ -16,6 +16,14 @@ async function promptText(message: string): Promise<string> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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: {
|
export async function loginTelegramUser(params: {
|
||||||
apiId: number;
|
apiId: number;
|
||||||
apiHash: string;
|
apiHash: string;
|
||||||
@ -28,10 +36,16 @@ export async function loginTelegramUser(params: {
|
|||||||
let lastUrl = "";
|
let lastUrl = "";
|
||||||
|
|
||||||
const passwordEnv = process.env.TELEGRAM_USER_PASSWORD?.trim() || undefined;
|
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;
|
const codeEnv = process.env.TELEGRAM_USER_CODE?.trim() || undefined;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
if (!phoneEnv) {
|
||||||
|
const mode = await promptLoginMode();
|
||||||
|
if (mode === "phone") {
|
||||||
|
phoneEnv = await promptText("Telegram phone number (E.164): ");
|
||||||
|
}
|
||||||
|
}
|
||||||
const user = await client.start(
|
const user = await client.start(
|
||||||
phoneEnv
|
phoneEnv
|
||||||
? {
|
? {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user