UNPKG

telegram-session

Version:

Generate and get GramJS string sessions easily

38 lines (37 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const readline_1 = require("readline"); const telegram_1 = require("telegram"); const extensions_1 = require("telegram/extensions"); const sessions_1 = require("telegram/sessions"); const read = readline_1.createInterface({ input: process.stdin, output: process.stdout, }); const getInput = (q) => { return new Promise((r) => read.question(`${q}\n> `, r)); }; const getNumberInput = async (q) => { const numberInput = Number(await getInput(q)); if (isNaN(numberInput)) { return await getNumberInput(`${q} must be a number, please enter again`); } return numberInput; }; (async () => { const client = new telegram_1.TelegramClient(new sessions_1.StringSession(), await getNumberInput("API ID"), await getInput("API hash"), { connectionRetries: 10 }); await client.start({ phoneNumber: async () => await getInput("Phone number"), phoneCode: async () => String(await getNumberInput("The code")), password: async (hint) => await getInput(hint ? hint : "Password"), onError: (err) => { console.log(`Error starting client: ${err}`); process.exit(1); }, }); await client.sendMessage("me", { message: client.session.save(), }); console.log("String session sent to saved messages."); })(); extensions_1.Logger.setLevel("none");