Forráskód Böngészése

crash on failing to create sender

painor 4 éve
szülő
commit
dd285dfe7d

+ 2 - 2
gramjs/client/TelegramClient.ts

@@ -324,7 +324,7 @@ export class TelegramClient extends TelegramBaseClient {
         return this.connect()
     }
 
-    async _createExportedSender(dcId: number, retries: number) {
+    async _createExportedSender(dcId: number, retries: number):Promise<MTProtoSender> {
         const dc = await this.getDC(dcId);
         const sender = new MTProtoSender(this.session.getAuthKey(dcId),
             {
@@ -367,7 +367,7 @@ export class TelegramClient extends TelegramBaseClient {
                 await sender.disconnect()
             }
         }
-        return null
+        throw new Error("Could not create sender for DC "+dcId)
     }
 
     async getDC(dcId: number): Promise<{ id: number, ipAddress: string, port: number }> {

+ 3 - 1
gramjs/client/downloads.ts

@@ -2,6 +2,7 @@ import {Api} from '../tl';
 import type {TelegramClient} from './TelegramClient';
 import {getAppropriatedPartSize, strippedPhotoToJpg} from '../Utils';
 import {sleep} from '../Helpers';
+import {MTProtoSender} from "../network";
 
 
 export interface progressCallback {
@@ -60,10 +61,11 @@ export async function downloadFile(
         throw new Error(`The part size must be evenly divisible by ${MIN_CHUNK_SIZE}`);
     }
 
-    let sender: any;
+    let sender: MTProtoSender;
     if (dcId) {
         try {
             sender = await client._borrowExportedSender(dcId);
+            client._log.debug(`Finished creating sender for ${dcId}`)
         } catch (e) {
             // This should never raise
             client._log.error(e);

+ 1 - 1
gramjs/network/MTProtoSender.ts

@@ -247,7 +247,7 @@ export class MTProtoSender {
      * @param request
      * @returns {RequestState}
      */
-    send(request: Api.AnyRequest) {
+    send(request: Api.AnyRequest): any {
         if (!this._userConnected) {
             throw new Error('Cannot send requests while disconnected')
         }