Files
arestools/scripts/login.js
T

32 lines
1.3 KiB
JavaScript
Raw Normal View History

import { TelegramClient } from 'telegram';
import { StringSession } from 'telegram/sessions/index.js';
import input from 'input';
/**
* Одноразовый интерактивный вход: вводите телефон/код (и пароль 2FA, если есть),
* скрипт печатает строку сессии — её нужно вставить в .env как SESSION=...
* Запуск: npm run login
*/
const apiId = Number(process.env.API_ID);
const apiHash = process.env.API_HASH;
if (!Number.isInteger(apiId) || !apiHash) {
console.error('Сначала задайте API_ID и API_HASH в .env (получить: https://my.telegram.org).');
process.exit(1);
}
const client = new TelegramClient(new StringSession(''), apiId, apiHash, { connectionRetries: 5 });
await client.start({
phoneNumber: () => input.text('Телефон (в формате +7...): '),
password: () => input.text('Пароль 2FA (если нет — Enter): '),
phoneCode: () => input.text('Код из Telegram: '),
onError: (err) => console.error(err),
});
console.log('\n✅ Готово. Вставьте строку в .env как SESSION=\n');
console.log(client.session.save());
console.log('\nНикому не передавайте её — это полный доступ к аккаунту.');
await client.disconnect();
process.exit(0);