fix(node): do not override .start()

This commit is contained in:
alina 🌸 2023-10-23 12:25:39 +03:00
parent d5d5615a4d
commit 343c925b72
Signed by: teidesu
SSH key fingerprint: SHA256:uNeCpw6aTSU4aIObXLvHfLkDa82HWH9EiOj9AXOIRpI
3 changed files with 11 additions and 23 deletions

View file

@ -31,7 +31,11 @@ tg.run(
{{#if botToken}} {{#if botToken}}
{ botToken: env.BOT_TOKEN }, { botToken: env.BOT_TOKEN },
{{else}} {{else}}
{}, {
phone: () => tg.input('Phone > '),
code: () => tg.input('Code > '),
password: () => tg.input('2FA password > '),
},
{{/if}} {{/if}}
(user) => { (user) => {
console.log('Logged in as', user.username) console.log('Logged in as', user.username)

View file

@ -31,7 +31,11 @@ tg.run(
{{#if botToken}} {{#if botToken}}
{ botToken: env.BOT_TOKEN }, { botToken: env.BOT_TOKEN },
{{else}} {{else}}
{}, {
phone: () => tg.input('Phone > '),
code: () => tg.input('Code > '),
password: () => tg.input('2FA password > '),
},
{{/if}} {{/if}}
(user) => { (user) => {
console.log('Logged in as', user.username) console.log('Logged in as', user.username)

View file

@ -1,7 +1,7 @@
import { createRequire } from 'module' import { createRequire } from 'module'
import { createInterface, Interface as RlInterface } from 'readline' import { createInterface, Interface as RlInterface } from 'readline'
import { TelegramClient, TelegramClientOptions, User } from '@mtcute/client' import { TelegramClient, TelegramClientOptions } from '@mtcute/client'
import { HtmlMessageEntityParser } from '@mtcute/html-parser' import { HtmlMessageEntityParser } from '@mtcute/html-parser'
import { MarkdownMessageEntityParser } from '@mtcute/markdown-parser' import { MarkdownMessageEntityParser } from '@mtcute/markdown-parser'
import { SqliteStorage } from '@mtcute/sqlite' import { SqliteStorage } from '@mtcute/sqlite'
@ -97,26 +97,6 @@ export class NodeTelegramClient extends TelegramClient {
return new Promise((res) => this._rl?.question(text, res)) return new Promise((res) => this._rl?.question(text, res))
} }
start(params: Parameters<TelegramClient['start']>[0] = {}): Promise<User> {
if (!params.botToken) {
if (!params.phone) params.phone = () => this.input('Phone > ')
if (!params.code) params.code = () => this.input('Code > ')
if (!params.password) {
params.password = () => this.input('2FA password > ')
}
}
return super.start(params).then((user) => {
if (this._rl) {
this._rl.close()
delete this._rl
}
return user
})
}
close(): Promise<void> { close(): Promise<void> {
this._rl?.close() this._rl?.close()