From 4f7fd24dd9d94d51b84d4f59a24498b1c023ff60 Mon Sep 17 00:00:00 2001 From: Alina Sireneva Date: Sat, 16 Dec 2023 20:00:31 +0300 Subject: [PATCH] chore(core): expose init params in `.params` field --- packages/client/src/methods/auth/send-code.ts | 5 +- .../client/src/methods/auth/sign-in-bot.ts | 5 +- packages/core/src/base-client.ts | 63 ++++++++----------- 3 files changed, 29 insertions(+), 44 deletions(-) diff --git a/packages/client/src/methods/auth/send-code.ts b/packages/client/src/methods/auth/send-code.ts index 370775f0..754d5d71 100644 --- a/packages/client/src/methods/auth/send-code.ts +++ b/packages/client/src/methods/auth/send-code.ts @@ -21,9 +21,8 @@ export async function sendCode( const res = await client.call({ _: 'auth.sendCode', phoneNumber: phone, - apiId: client.network._initConnectionParams.apiId, - // eslint-disable-next-line dot-notation - apiHash: client['_apiHash'], + apiId: client.params.apiId, + apiHash: client.params.apiHash, settings: { _: 'codeSettings' }, }) diff --git a/packages/client/src/methods/auth/sign-in-bot.ts b/packages/client/src/methods/auth/sign-in-bot.ts index 70679712..a0f29cb0 100644 --- a/packages/client/src/methods/auth/sign-in-bot.ts +++ b/packages/client/src/methods/auth/sign-in-bot.ts @@ -14,9 +14,8 @@ export async function signInBot(client: BaseTelegramClient, token: string): Prom const res = await client.call({ _: 'auth.importBotAuthorization', flags: 0, - apiId: client.network._initConnectionParams.apiId, - // eslint-disable-next-line dot-notation - apiHash: client['_apiHash'], + apiId: client.params.apiId, + apiHash: client.params.apiHash, botAuthToken: token, }) diff --git a/packages/core/src/base-client.ts b/packages/core/src/base-client.ts index a357ae29..8916c080 100644 --- a/packages/core/src/base-client.ts +++ b/packages/core/src/base-client.ts @@ -45,16 +45,6 @@ export class BaseTelegramClient extends EventEmitter { */ readonly storage: ITelegramStorage - /** - * API hash taken from {@link BaseTelegramClientOptions.apiHash} - */ - protected readonly _apiHash: string - - /** - * "Use IPv6" taken from {@link BaseTelegramClientOptions.useIpv6} - */ - protected readonly _useIpv6: boolean - /** * "Test mode" taken from {@link BaseTelegramClientOptions.testMode} */ @@ -90,60 +80,57 @@ export class BaseTelegramClient extends EventEmitter { readonly log = new LogManager('client') readonly network: NetworkManager - constructor(opts: BaseTelegramClientOptions) { + constructor(readonly params: BaseTelegramClientOptions) { super() - if (opts.logLevel !== undefined) { - this.log.level = opts.logLevel + if (params.logLevel !== undefined) { + this.log.level = params.logLevel } - this.crypto = (opts.crypto ?? defaultCryptoProviderFactory)() + this.crypto = (params.crypto ?? defaultCryptoProviderFactory)() + this.storage = params.storage + this._testMode = Boolean(params.testMode) - this.storage = opts.storage - this._apiHash = opts.apiHash - this._useIpv6 = Boolean(opts.useIpv6) - this._testMode = Boolean(opts.testMode) - - let dc = opts.defaultDcs + let dc = params.defaultDcs if (!dc) { - if (this._testMode) { - dc = this._useIpv6 ? defaultTestIpv6Dc : defaultTestDc + if (params.testMode) { + dc = params.useIpv6 ? defaultTestIpv6Dc : defaultTestDc } else { - dc = this._useIpv6 ? defaultProductionIpv6Dc : defaultProductionDc + dc = params.useIpv6 ? defaultProductionIpv6Dc : defaultProductionDc } } this._defaultDcs = dc - this._niceStacks = opts.niceStacks ?? true + this._niceStacks = params.niceStacks ?? true - this._layer = opts.overrideLayer ?? tl.LAYER - this._readerMap = opts.readerMap ?? defaultReaderMap - this._writerMap = opts.writerMap ?? defaultWriterMap + this._layer = params.overrideLayer ?? tl.LAYER + this._readerMap = params.readerMap ?? defaultReaderMap + this._writerMap = params.writerMap ?? defaultWriterMap this.network = new NetworkManager( { - apiId: opts.apiId, + apiId: params.apiId, crypto: this.crypto, - disableUpdates: opts.disableUpdates ?? false, - initConnectionOptions: opts.initConnectionOptions, + disableUpdates: params.disableUpdates ?? false, + initConnectionOptions: params.initConnectionOptions, layer: this._layer, log: this.log, readerMap: this._readerMap, writerMap: this._writerMap, - reconnectionStrategy: opts.reconnectionStrategy, + reconnectionStrategy: params.reconnectionStrategy, storage: this.storage, - testMode: this._testMode, - transport: opts.transport, + testMode: Boolean(params.testMode), + transport: params.transport, _emitError: this._emitError.bind(this), - floodSleepThreshold: opts.floodSleepThreshold ?? 10000, - maxRetryCount: opts.maxRetryCount ?? 5, + floodSleepThreshold: params.floodSleepThreshold ?? 10000, + maxRetryCount: params.maxRetryCount ?? 5, isPremium: false, - useIpv6: Boolean(opts.useIpv6), + useIpv6: Boolean(params.useIpv6), keepAliveAction: this._keepAliveAction.bind(this), - enableErrorReporting: opts.enableErrorReporting ?? false, + enableErrorReporting: params.enableErrorReporting ?? false, onUsable: () => this.emit('usable'), - ...(opts.network ?? {}), + ...(params.network ?? {}), }, this._config, )