From d841188149944ad16aaade1938bf1227bb750230 Mon Sep 17 00:00:00 2001 From: teidesu Date: Wed, 5 May 2021 18:24:16 +0300 Subject: [PATCH] fix(core): only switch dc for primary connection --- .../client/src/types/bots/callback-query.ts | 2 +- packages/core/src/base-client.ts | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/client/src/types/bots/callback-query.ts b/packages/client/src/types/bots/callback-query.ts index 1c6f6106..44be9866 100644 --- a/packages/client/src/types/bots/callback-query.ts +++ b/packages/client/src/types/bots/callback-query.ts @@ -177,7 +177,7 @@ export class CallbackQuery { * Answer this query */ async answer( - params: Parameters[1] + params?: Parameters[1] ): Promise { return this.client.answerCallbackQuery(this.raw.queryId, params) } diff --git a/packages/core/src/base-client.ts b/packages/core/src/base-client.ts index e283b6fa..827af1fb 100644 --- a/packages/core/src/base-client.ts +++ b/packages/core/src/base-client.ts @@ -487,15 +487,14 @@ export class BaseTelegramClient { this._lastRequestTime = Date.now() + const connection = params?.connection ?? this.primaryConnection + let lastError: Error | null = null const stack = this._niceStacks ? new Error().stack : undefined for (let i = 0; i < this._rpcRetryCount; i++) { try { - const res = await (params?.connection ?? this.primaryConnection).sendForResult( - message, - stack - ) + const res = await connection.sendForResult(message, stack) await this._cachePeersFrom(res) return res @@ -538,9 +537,10 @@ export class BaseTelegramClient { } } if ( - e instanceof PhoneMigrateError || - e instanceof UserMigrateError || - e instanceof NetworkMigrateError + connection === this.primaryConnection && + (e instanceof PhoneMigrateError || + e instanceof UserMigrateError || + e instanceof NetworkMigrateError) ) { debug('Migrate error, new dc = %d', e.newDc) await this.changeDc(e.newDc) @@ -660,7 +660,7 @@ export class BaseTelegramClient { phone: peer.phone ?? null, type: peer.bot ? 'bot' : 'user', updated: 0, - fromMessage: peer.fromMessage + fromMessage: peer.fromMessage, }) } else if (peer._ === 'chat' || peer._ === 'chatForbidden') { parsedPeers.push({ @@ -670,7 +670,7 @@ export class BaseTelegramClient { phone: null, type: 'group', updated: 0, - fromMessage: peer.fromMessage + fromMessage: peer.fromMessage, }) } else if (peer._ === 'channel' || peer._ === 'channelForbidden') { parsedPeers.push({ @@ -683,7 +683,7 @@ export class BaseTelegramClient { phone: null, type: peer.broadcast ? 'channel' : 'supergroup', updated: 0, - fromMessage: peer.fromMessage + fromMessage: peer.fromMessage, }) } }