1
0
Эх сурвалжийг харах

add high level call after reconnects

painor 3 жил өмнө
parent
commit
14e21bff8d

+ 1 - 1
gramjs/Version.ts

@@ -1 +1 @@
-export const version = "2.4.5";
+export const version = "2.4.6";

+ 13 - 0
gramjs/client/TelegramClient.ts

@@ -29,6 +29,7 @@ import { Album, AlbumEvent } from "../events/Album";
 import { CallbackQuery, CallbackQueryEvent } from "../events/CallbackQuery";
 import { EditedMessage, EditedMessageEvent } from "../events/EditedMessage";
 import { DeletedMessage, DeletedMessageEvent } from "../events/DeletedMessage";
+import { LogLevel } from "../extensions/Logger";
 
 /**
  * The TelegramClient uses several methods in different files to provide all the common functionality in a nice interface.</br>
@@ -1316,6 +1317,17 @@ export class TelegramClient extends TelegramBaseClient {
     }
 
     //endregion
+    /** @hidden */
+    async _handleReconnect() {
+        try {
+            await this.getMe();
+        } catch (e) {
+            this._log.error(`Error while trying to reconnect`);
+            if (this._log.canSend(LogLevel.ERROR)) {
+                console.error(e);
+            }
+        }
+    }
 
     //region base methods
 
@@ -1334,6 +1346,7 @@ export class TelegramClient extends TelegramBaseClient {
                 isMainSender: true,
                 client: this,
                 securityChecks: this._securityChecks,
+                autoReconnectCallback: this._handleReconnect.bind(this),
             });
         }
         // set defaults vars

+ 1 - 1
gramjs/network/MTProtoSender.ts

@@ -948,7 +948,7 @@ export class MTProtoSender {
         this._sendQueue.extend(Array.from(this._pendingState.values()));
         this._pendingState = new Map<string, RequestState>();
         if (this._autoReconnectCallback) {
-            await this._autoReconnectCallback();
+            this._autoReconnectCallback();
         }
     }
 }

+ 2 - 2
package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "telegram",
-  "version": "2.4.5",
+  "version": "2.4.6",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {
     "": {
       "name": "telegram",
-      "version": "2.4.5",
+      "version": "2.4.6",
       "license": "MIT",
       "dependencies": {
         "@cryptography/aes": "^0.1.1",

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "telegram",
-  "version": "2.4.5",
+  "version": "2.4.6",
   "description": "NodeJS/Browser MTProto API Telegram client library,",
   "main": "index.js",
   "types": "index.d.ts",